package eu.dnetlib.data.proto; import "eu/dnetlib/data/proto/Kind.proto"; import "eu/dnetlib/data/proto/DataInfo.proto"; // for Oafentity import "eu/dnetlib/data/proto/Type.proto"; import "eu/dnetlib/data/proto/Datasource.proto"; import "eu/dnetlib/data/proto/Organization.proto"; import "eu/dnetlib/data/proto/Person.proto"; import "eu/dnetlib/data/proto/Project.proto"; import "eu/dnetlib/data/proto/Result.proto"; import "eu/dnetlib/data/proto/KeyValue.proto"; import "eu/dnetlib/data/proto/StructuredProperty.proto"; // for OafRel import "eu/dnetlib/data/proto/RelType.proto"; import "eu/dnetlib/data/proto/Datasource_Organization.proto"; import "eu/dnetlib/data/proto/Instance.proto"; import "eu/dnetlib/data/proto/Person_Result.proto"; import "eu/dnetlib/data/proto/Project_Organization.proto"; import "eu/dnetlib/data/proto/Result_Organization.proto"; import "eu/dnetlib/data/proto/Result_Project.proto"; import "eu/dnetlib/data/proto/DedupRel.proto"; import "eu/dnetlib/data/proto/SimilarRel.proto"; import "eu/dnetlib/data/proto/SimilarityRel.proto"; import "eu/dnetlib/data/proto/Person_Person.proto"; import "eu/dnetlib/data/proto/Result_Result.proto"; option java_package = "eu.dnetlib.data.proto"; option java_outer_classname = "OafProtos"; message Oaf { required Kind kind = 1; optional OafEntity entity = 2; optional OafRel rel = 3; required DataInfo dataInfo = 4; // used to mark creation time of this object required sfixed64 timestamp = 5; } message OafEntity { required Type type = 1; optional string originalId = 8; repeated KeyValue collectedfrom = 9; repeated StructuredProperty pid = 10; /* Any relation that we want to bundle together with this entity. It's intended to be used only in temporary values in map/red jobs (sequence files, ...) and never persisted values stored in HBase. */ repeated OafRel cachedRel = 2; optional Datasource datasource = 3; optional Organization organization = 4; optional Person person = 5; optional Project project = 6; optional Result result = 7; } message OafRel { required RelType relType = 1; required string source = 2; required string target = 3; /* if true then is a "child" */ required bool child = 4; optional OafEntity cachedTarget = 5; // Datamodel rels optional DatasourceOrganization datasourceOrganization = 6; optional PersonResult personResult = 7; //optional ProjectFunding projectFunding = 8; optional ProjectOrganization projectOrganization = 9; optional ResultOrganization resultOrganization = 10; optional ResultProject resultProject = 11; optional Instance instance = 12; optional PersonPerson personPerson = 15; optional ResultResult resultResult = 16; optional SimilarityRel similarityRel = 17; // Dedup rel optional DedupRel dedupRel = 13; optional SimilarRel similarRel = 14; }