Code <vertex label='File' isPartitioned="false"> <properties> <property>Sha256</property> <property></property> <property>SMd5ize</property> </properties> <indices> <uniqueIndex> <type>Composite</type> <property>Sha256</property> </uniqueIndex> <uniqueIndex isOptional="true"> <type>Composite</type> <property>Md5</property> </uniqueIndex> </indices> </vertex> public class FileType : GridVertexType<File> { public FileType(IGrIDAccess access, IOptions<GrIDAccessConfig> options) : base(access, options) { Name = "File"; Field<StringGraphType>("sha256", resolve: x => x.Source.Sha256); Field<StringGraphType>("md5", resolve: x => x.Source.Md5); Field<IntGraphType>("size", resolve: x => x.Source.Size); Field<FileToPEFileFeaturesType>("toPEFileFeatures", resolve: context => access. GetOutgoingEdgeAsync<FileToPEFileFeatures, File, PEFileFeatures>( context.Source )); Field<FileToIconFeaturesType>("toIconFeatures", resolve: context => access. GetOutgoingEdgeAsync<FileToIconFeatures, File, IconFeatures>( context.Source )); ... } } code generation <edge label='FileToIconFeatures'> <multiplicity>MANY2ONE</multiplicity> <connection> <from>File</from> <to>IconFeatures</to> </connection> </edge>