Project

General

Profile

1
package eu.dnetlib.data.proto;
2

    
3
import "FieldType.proto";
4

    
5
option java_package = "eu.dnetlib.data.proto";
6
option java_outer_classname = "ResultProtos";
7

    
8
message Result {
9

    
10
	optional Metadata metadata = 2;
11
	
12
	repeated Instance instance = 6;
13
	
14
	repeated ExternalReference externalReference = 7;
15

    
16
	message Metadata {
17

    
18
		repeated Author author = 40;
19

    
20
		// resulttype allows subclassing results into publications | datasets | software
21
		optional Qualifier resulttype = 8;
22

    
23
		// common fields
24
		optional Qualifier language = 12;
25
		repeated Qualifier country = 33;
26

    
27
		repeated StructuredProperty subject = 1;
28
		repeated StructuredProperty title = 2;
29
		repeated StructuredProperty relevantdate = 3;
30

    
31
		repeated StringField description = 25;
32
		optional StringField dateofacceptance = 4;
33
		optional StringField publisher = 5;
34
		optional StringField embargoenddate = 6;
35
		repeated StringField source = 27;
36
		repeated StringField fulltext = 29; // remove candidate
37
		repeated StringField format = 21;
38
		repeated StringField contributor = 30;
39
		optional Qualifier resourcetype = 19;
40
		repeated StringField coverage = 43;
41
		optional StringField refereed = 46; //peer-review status
42

    
43
		repeated Context context = 28;
44

    
45
		// publication specific
46
		optional Journal journal = 18;
47

    
48
		// dataset specific
49
		optional StringField storagedate = 9;
50
		optional StringField device = 26;
51
		optional StringField size = 20;
52
		optional StringField version = 22;
53
		optional StringField lastmetadataupdate = 23;
54
		optional StringField metadataversionnumber = 24;
55
		repeated GeoLocation geolocation = 44;
56

    
57
		// software specific
58
		repeated StringField documentationUrl = 35;
59
		repeated StructuredProperty license = 36;
60
		optional StringField codeRepositoryUrl = 38;
61
		optional Qualifier programmingLanguage = 39;
62

    
63
		// other research products specifics
64
		repeated StringField contactperson = 45;
65
		repeated StringField contactgroup = 41;
66
		repeated StringField tool = 42;
67

    
68
	}
69
	
70
	message Journal {
71
		optional string name = 1;
72
		optional string issnPrinted = 2;
73
		optional string issnOnline = 3;
74
		optional string issnLinking = 4;
75

    
76
		optional string ep = 6;
77
		optional string iss = 7;
78
		optional string sp = 8;
79
		optional string vol = 9;
80

    
81
		optional string edition = 10;
82
		optional string conferenceplace = 11;
83
		optional string conferencedate = 12;
84

    
85
		optional DataInfo dataInfo = 5;
86
	}
87
	
88
	// <concept id="egi::vo::alice" />
89
	message Context {
90
		required string id = 1;
91
		repeated DataInfo dataInfo = 2;
92
	}
93
	
94
	message Instance {
95

    
96
		optional StringField license = 6;
97
		optional Qualifier accessright = 3;
98
		optional Qualifier instancetype = 4;
99
	
100
		optional KeyValue hostedby = 5;
101
		repeated string url = 9;
102

    
103
		// other research products specific
104
		optional string distributionlocation = 12;
105

    
106
		optional KeyValue collectedfrom = 10;
107
		optional StringField dateofacceptance = 11;
108
	}
109
	
110
	message ExternalReference {
111
	
112
		optional string sitename = 1;		// source
113
		optional string label = 2;			// title
114
		optional string url = 3;			// text()
115
		optional string description = 4;	// ?? not mapped yet ??
116
		optional Qualifier qualifier = 5;	// type
117
		optional string refidentifier = 6;	// site internal identifier
118
		optional string query = 7;			// maps the oaf:reference/@query attribute
119
		optional DataInfo dataInfo = 8;		// ExternalReferences might be also inferred
120
	}
121

    
122
	message GeoLocation {
123

    
124
		optional string point = 1;
125
		optional string box = 2;
126
		optional string place = 3;
127
	}
128

    
129
}
(14-14/19)