Project

General

Profile

1
package eu.dnetlib.data.proto;
2

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

    
6
// for DNGFentity
7
import "Type.proto";
8
import "Datasource.proto";
9
import "Organization.proto";
10
import "Person.proto";
11
import "Project.proto";
12
import "Publication.proto";
13
import "Dataset.proto";
14

    
15
option java_package = "eu.dnetlib.data.proto";
16
option java_outer_classname = "DNGFProtos";
17

    
18
message DNGF {
19
  required Kind kind = 1;
20

    
21
  optional DNGFEntity entity = 2;
22
  optional DNGFRel rel = 3;
23

    
24
  optional DataInfo dataInfo = 4;
25

    
26
  // used to mark the last update time of this object
27
  optional sfixed64 lastupdatetimestamp = 5;
28
}
29

    
30
message DNGFEntity {
31

    
32
  extensions 100 to 199;
33

    
34
  required Type type = 1;
35
  required string id = 12;
36

    
37
  repeated string originalId = 8;
38
  repeated KeyValue collectedfrom = 9;
39

    
40
  repeated StructuredProperty pid = 10;
41
  optional string dateofcollection = 11;
42
  optional string dateoftransformation = 13;
43

    
44
  /* Any relation that we want to bundle together with this entity.
45
   It's intended to be used only in temporary values in map/red jobs (sequence files, ...)
46
   and never persisted values stored in  HBase. */
47
  repeated DNGFRel cachedRel = 2;
48

    
49
  optional Datasource datasource = 3;
50
  optional Organization organization = 4;
51
  optional Person person = 5;
52
  optional Project project = 6;
53
  optional Publication publication = 7;
54
  optional Dataset dataset = 14;
55

    
56
  repeated DNGFEntity children = 16;
57

    
58
  repeated ExtraInfo extraInfo = 15;
59

    
60
  optional OAIProvenance oaiprovenance = 17;
61
}
62

    
63

    
64
message DNGFRel {
65

    
66
  extensions 100 to 199;
67

    
68
  required Qualifier relType = 1;
69
  required Type sourceType = 2;
70
  required Type targetType = 3;
71

    
72
  required string source = 4;
73
  required string target = 5;
74

    
75
  /* if true then is a "child" */
76
  required bool child = 6;
77

    
78
  optional DNGFEntity cachedTarget = 7;
79

    
80
  repeated KeyValue collectedfrom = 8;
81

    
82
}
(4-4/13)