Project

General

Profile

1
package eu.dnetlib.data.proto.dli;
2

    
3
option java_package = "eu.dnetlib.data.proto.dli";
4
option java_outer_classname = "DLIObjectProtos";
5

    
6
enum CompletionStatus {
7
    complete = 1;
8
    incomplete = 2;
9
}
10

    
11
enum Typology {
12
    dataset = 1;
13
    publication = 2;
14
    unknown = 3;
15
}
16

    
17

    
18
message TypedIdentifier {
19
    required string id = 1;
20
    required string type = 2;
21
}
22

    
23
message ResolvedFromType {
24
    required string datasourceName = 1;
25
    optional string datasourceId = 2;
26
}
27

    
28

    
29
message SchemeValue {
30
    required string scheme = 1;
31
    required string value = 2;
32
}
33

    
34
message CollectedFromType {
35
    required string datasourceName = 1;
36
    optional string datasourceId = 2;
37
    required CompletionStatus completionStatus = 3;
38
}
39

    
40
message Metadata {
41
    required Typology type = 1;
42
    repeated string title = 2;
43
    repeated string author = 3;
44
    repeated string date = 4;
45
    optional string abstract = 5;
46
    repeated SchemeValue subject = 6;
47

    
48
    repeated string publisher = 7;
49

    
50
    repeated CollectedFromType collectedFrom = 8;
51
    repeated ResolvedFromType resolvedFrom = 9;
52

    
53
    required CompletionStatus completionStatus = 10;
54
}
55

    
56
message DLIRelation {
57
    required DLIObject target = 1;
58
    required SchemeValue relationSemantic = 2;
59
    repeated CollectedFromType collectedFrom = 3;
60
}
61

    
62
message DLIObject {
63
    required string id = 1;
64
    repeated TypedIdentifier localIdentifier = 2;
65

    
66
    required Metadata metadata = 3;
67

    
68
    repeated DLIRelation relations = 4;
69

    
70
}
71

    
72
message DLIObjectSummary {
73
    required string id = 1;
74
    repeated TypedIdentifier localIdentifier = 2;
75
    required Typology typology = 3;
76
    repeated string title = 4;
77
    repeated string author = 5;
78
    repeated string date = 6;
79
    optional string abstract = 7;
80
    repeated SchemeValue subject = 8;
81
    repeated string publisher = 9;
82
    required int32 relatedPublications = 10;
83
    required int32 relatedDatasets = 11;
84
    required int32 relatedUnknown = 12;
85
    repeated CollectedFromType datasources = 13;
86

    
87
}
88

    
89
message ScholixIdentifier {
90
    required string identifier = 1;
91
    required string schema = 2;
92
}
93

    
94
message ScholixEntityId {
95
    required string name = 1;
96
    repeated ScholixIdentifier identifiers = 2;
97
}
98

    
99
message ScholixRelationship {
100
    required string name = 1;
101
    optional string schema = 2;
102
    optional string inverse = 3;
103
}
104

    
105

    
106
message ScholixResource {
107
    repeated ScholixIdentifier identifier = 1;
108
    required string objectType = 2;
109
    required string objectSubType = 3;
110
    required string title = 4;
111
    repeated ScholixEntityId creator = 5;
112
    optional string publicationDate = 6;
113
    optional ScholixEntityId publisher = 7;
114
}
115

    
116
message Scholix {
117
    optional string puvlicationDate = 1;
118
    optional ScholixEntityId publisher = 2;
119
    optional ScholixEntityId linkprovider = 3;
120
    required ScholixRelationship relationship = 4;
121
    required ScholixResource source = 5;
122
    required ScholixResource target = 6;
123
}
(1-1/3)