package eu.dnetlib.data.proto.dli; option java_package = "eu.dnetlib.data.proto.dli"; option java_outer_classname = "DLIObjectProtos"; enum CompletionStatus { complete = 1; incomplete = 2; } enum Typology { dataset = 1; publication = 2; unknown = 3; } message TypedIdentifier { required string id = 1; required string type = 2; } message ResolvedFromType { required string datasourceName = 1; optional string datasourceId = 2; } message SchemeValue { required string scheme = 1; required string value = 2; } message CollectedFromType { required string datasourceName = 1; optional string datasourceId = 2; required CompletionStatus completionStatus = 3; } message Metadata { required Typology type = 1; repeated string title = 2; repeated string author = 3; repeated string date = 4; optional string abstract = 5; repeated SchemeValue subject = 6; repeated string publisher = 7; repeated CollectedFromType collectedFrom = 8; repeated ResolvedFromType resolvedFrom = 9; required CompletionStatus completionStatus = 10; } message DLIRelation { required DLIObject target = 1; required SchemeValue relationSemantic = 2; repeated CollectedFromType collectedFrom = 3; } message DLIObject { required string id = 1; repeated TypedIdentifier localIdentifier = 2; required Metadata metadata = 3; repeated DLIRelation relations = 4; } message DLIObjectSummary { required string id = 1; repeated TypedIdentifier localIdentifier = 2; required Typology typology = 3; repeated string title = 4; repeated string author = 5; repeated string date = 6; optional string abstract = 7; repeated SchemeValue subject = 8; repeated string publisher = 9; required int32 relatedPublications = 10; required int32 relatedDatasets = 11; required int32 relatedUnknown = 12; repeated CollectedFromType datasources = 13; }