Project

General

Profile

1
package eu.dnetlib.data.proto;
2

    
3
import "eu/dnetlib/data/proto/Person.proto";
4
import "eu/dnetlib/data/proto/FieldType.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
	message Metadata {
18

    
19
		// resulttype allows subclassing results into publications or datasets
20
		optional Qualifier resulttype = 8;
21

    
22
		// common fields
23
		optional Qualifier language = 12;
24

    
25
		repeated StructuredProperty subject = 1;
26
		repeated StructuredProperty title = 2;
27
		repeated StructuredProperty relevantdate = 3;
28

    
29
		repeated StringField description = 25;
30
		optional StringField dateofacceptance = 4;
31
		optional StringField publisher = 5;
32
		optional StringField embargoenddate = 6;
33
		optional StringField storagedate = 9;
34
		repeated StringField source = 27;
35
		repeated StringField fulltext = 29;
36
		
37
		repeated Context context = 28;
38

    
39
		// publication specific
40
		optional Journal journal = 18;
41

    
42
		// dataset specific
43
		optional Qualifier resourcetype = 19;
44
		optional StringField device = 26;
45
		optional StringField size = 20;
46
		optional StringField format = 21;
47
		optional StringField version = 22;
48
		optional StringField lastmetadataupdate = 23;
49
		optional StringField metadataversionnumber = 24;
50
		
51
		// used by deduplication
52
		repeated Person author = 30;
53
	}
54
	
55
	message Journal {
56
		optional string name = 1;
57
		optional string issnPrinted = 2;
58
		optional string issnOnline = 3;
59
		optional string issnLinking = 4;
60
		
61
		optional DataInfo dataInfo = 5;
62
	}
63
	
64
	// <concept id="egi::vo::alice" />
65
	message Context {
66
		required string id = 1;
67
		optional DataInfo dataInfo = 2;
68
	}
69
	
70
	message Instance {
71
	
72
		optional Qualifier licence = 3;
73
		optional Qualifier instancetype = 4;
74
	
75
		optional KeyValue hostedby = 5;
76
		repeated string url = 9;
77
	}
78
	
79
	message ExternalReference {
80
	
81
		optional string sitename = 1;		// source
82
		optional string label = 2;			// title
83
		optional string url = 3;			// text()
84
		optional string description = 4;	// ?? not mapped yet ??
85
		optional Qualifier qualifier = 5;	// type
86
		optional string refidentifier = 6;	// site internal identifier
87
	}
88

    
89
}
(18-18/23)