Project

General

Profile

1
package eu.dnetlib.data.proto;
2

    
3
import "FieldType.proto";
4
import "Person.proto";
5

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

    
9
message Result {
10

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

    
17
	repeated Person author = 8;
18

    
19
	message Metadata {
20

    
21
		// resulttype allows subclassing results into publications or datasets
22
		optional Qualifier resulttype = 8;
23

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

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

    
32
		repeated StringField description = 25;
33
		optional StringField dateofacceptance = 4;
34
		optional StringField publisher = 5;
35
		optional StringField embargoenddate = 6;
36
		repeated StringField source = 27;
37
		repeated StringField fulltext = 29; // remove candidate
38
		repeated StringField format = 21;
39
		repeated StringField contributor = 30;
40

    
41
		repeated Context context = 28;
42

    
43
		// publication specific
44
		optional Journal journal = 18;
45

    
46
		// dataset specific
47
		optional StringField storagedate = 9;
48
		optional Qualifier resourcetype = 19;
49
		optional StringField device = 26;
50
		optional StringField size = 20;
51
		optional StringField version = 22;
52
		optional StringField lastmetadataupdate = 23;
53
		optional StringField metadataversionnumber = 24;
54
	}
55
	
56
	message Journal {
57
		optional string name = 1;
58
		optional string issnPrinted = 2;
59
		optional string issnOnline = 3;
60
		optional string issnLinking = 4;
61
		
62
		optional DataInfo dataInfo = 5;
63
	}
64
	
65
	// <concept id="egi::vo::alice" />
66
	message Context {
67
		required string id = 1;
68
		optional DataInfo dataInfo = 2;
69
	}
70
	
71
	message Instance {
72
	
73
		optional Qualifier licence = 3;
74
		optional Qualifier instancetype = 4;
75
	
76
		optional KeyValue hostedby = 5;
77
		repeated string url = 9;
78

    
79
		optional StringField collectedfrom = 10;
80
		optional StringField dateofacceptance = 11;
81
	}
82
	
83
	message ExternalReference {
84
	
85
		optional string sitename = 1;		// source
86
		optional string label = 2;			// title
87
		optional string url = 3;			// text()
88
		optional string description = 4;	// ?? not mapped yet ??
89
		optional Qualifier qualifier = 5;	// type
90
		optional string refidentifier = 6;	// site internal identifier
91
		optional string query = 7;			// maps the oaf:reference/@query attribute
92
		optional DataInfo dataInfo = 8;		// ExternalReferences might be also inferred
93
	}
94

    
95
}
(18-18/23)