Project

General

Profile

1
package eu.dnetlib.data.proto;
2

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

    
6
message StringField {
7

    
8
 	required string value = 1;
9
	optional DataInfo dataInfo = 2;
10
}
11

    
12
message BoolField {
13

    
14
 	required bool value = 1;
15
	optional DataInfo dataInfo = 2;
16
}
17

    
18
message IntField {
19

    
20
 	required int32 value = 1;
21
	optional DataInfo dataInfo = 2;
22
}
23

    
24
message StructuredProperty {
25

    
26
	required string value = 1;
27
	optional Qualifier qualifier = 2;
28
	optional DataInfo dataInfo = 3;
29
}
30

    
31
// Generic container for identified values, e.g:
32
//   <oaf:hostedBy name="Publications at Bielefeld University" id="opendoar::2294"/>
33
//   <oaf:collectedFrom name="Publications at Bielefeld University" id="opendoar::2294"/>
34
message KeyValue {
35

    
36
	required string key = 1;
37
	optional string value = 2;
38
	
39
	optional DataInfo dataInfo = 3;
40
}
41

    
42
message Qualifier {
43

    
44
	optional string classid = 1;
45
	optional string classname = 2;
46
	optional string schemeid = 3;
47
	optional string schemename = 4;
48
	
49
	optional DataInfo dataInfo = 5;
50
}
51

    
52
message DataInfo {
53

    
54
	optional bool inferred = 1;
55
	optional bool deletedbyinference = 2;
56
	optional string trust = 3;
57
	optional string inferenceprovenance = 4;
58

    
59
	required Qualifier provenanceaction = 5;
60
}
61

    
62
message OAIProvenance {
63

    
64
	optional OriginDescription originDescription = 1;
65

    
66
	message OriginDescription {
67
		
68
		optional string harvestDate = 1;
69
		optional bool altered = 2 [default = true];
70
		
71
		optional string baseURL = 3;
72
		optional string identifier = 4;
73
		optional string datestamp = 5;
74
		optional string metadataNamespace = 6;
75
		
76
		optional OriginDescription originDescription = 7;		
77
	}
78
}
79

    
80
message ExtraInfo {
81

    
82
	required string name = 1;
83
	required string typology = 2;
84
	required string provenance = 3;
85
	optional string trust = 4;
86
	
87
	// json containing a Citation or Statistics
88
	optional string value = 5;
89

    
90
}
(5-5/23)