Project

General

Profile

« Previous | Next » 

Revision 45285

codebase used to migrate to java8 the production system

View differences:

modules/dnet-openaire-data-protos/trunk/deploy.info
1
{"type_source": "SVN", "goal": "package -U -T 4C source:jar", "url": "http://svn-public.driver.research-infrastructures.eu/driver/dnet40/modules/dnet-openaire-data-protos/trunk/", "deploy_repository": "dnet4-snapshots", "version": "4", "mail": "sandro.labruzzo@isti.cnr.it,michele.artini@isti.cnr.it, claudio.atzori@isti.cnr.it, alessia.bardi@isti.cnr.it", "deploy_repository_url": "http://maven.research-infrastructures.eu/nexus/content/repositories/dnet4-snapshots", "name": "dnet-openaire-data-protos"}
modules/dnet-openaire-data-protos/trunk/src/main/resources/eu/dnetlib/data/proto/Datasource_Organization.proto
1
package eu.dnetlib.data.proto;
2

  
3
import "RelMetadata.proto";
4

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

  
8
message DatasourceOrganization {
9

  
10
	optional Provision provision = 1;
11
	
12
	message Provision {
13
	
14
		enum RelName {
15
			isProvidedBy = 1;
16
			provides = 2;
17
		}
18

  
19
		required RelMetadata relMetadata = 1;
20
	
21
	}
22

  
23
}
modules/dnet-openaire-data-protos/trunk/src/main/resources/eu/dnetlib/data/proto/Result.proto
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
	
80
	message ExternalReference {
81
	
82
		optional string sitename = 1;		// source
83
		optional string label = 2;			// title
84
		optional string url = 3;			// text()
85
		optional string description = 4;	// ?? not mapped yet ??
86
		optional Qualifier qualifier = 5;	// type
87
		optional string refidentifier = 6;	// site internal identifier
88
		optional string query = 7;			// maps the oaf:reference/@query attribute
89
		optional DataInfo dataInfo = 8;		// ExternalReferences might be also inferred
90
	}
91

  
92
}
modules/dnet-openaire-data-protos/trunk/src/main/resources/eu/dnetlib/data/proto/OafParent.proto
1
package eu.dnetlib.data.proto;
2

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

  
6
// for Oafentity
7
import "Type.proto";
8
import "Datasource.proto";
9
import "Organization.proto";
10
import "Person.proto";
11
import "Project.proto";
12
import "Result.proto";
13

  
14
// for OafRel
15
import "RelType.proto";
16
import "Datasource_Organization.proto";
17
import "Person_Result.proto";
18
import "Project_Organization.proto";
19
import "Project_Person.proto";
20
import "Result_Organization.proto";
21
import "Result_Project.proto";
22
import "Person_Person.proto";
23
import "Result_Result.proto";
24
import "Organization_Organization.proto";
25

  
26
option java_package = "eu.dnetlib.data.proto";
27
option java_outer_classname = "OafProtos";
28

  
29
message Oaf {
30
  required Kind kind = 1;
31

  
32
  optional OafEntity entity = 2;
33
  optional OafRel rel = 3;
34

  
35
  optional DataInfo dataInfo = 4;
36

  
37
	// used to mark the last update time of this object
38
  optional sfixed64 lastupdatetimestamp = 5;
39
}
40

  
41
message OafEntity {
42
  required Type type = 1;
43
  required string id = 12;
44
  
45
  repeated string originalId = 8;
46
  repeated KeyValue collectedfrom = 9;
47
  
48
  repeated StructuredProperty pid = 10;
49
  optional string dateofcollection = 11;
50
  optional string dateoftransformation = 13;
51

  
52
  /* Any relation that we want to bundle together with this entity.
53
   It's intended to be used only in temporary values in map/red jobs (sequence files, ...)
54
   and never persisted values stored in  HBase. */
55
  repeated OafRel cachedRel = 2;
56
  repeated Oaf cachedOafRel = 18;
57

  
58
  optional Datasource datasource = 3;
59
  optional Organization organization = 4;
60
  optional Person person = 5;
61
  optional Project project = 6;
62
  optional Result result = 7;
63
  
64
  repeated OafEntity children = 16;
65
  
66
  repeated ExtraInfo extraInfo = 15;
67
  
68
  optional OAIProvenance oaiprovenance = 17;
69
}
70

  
71

  
72
message OafRel {
73
  required RelType relType = 1;
74
  required SubRelType subRelType = 19;
75
  required string relClass = 20;	// one among the SubRel names, e.g. Provision.RelName.isProvidedBy
76

  
77
  required string source = 2;
78
  required string target = 3;
79

  
80
  /* if true then is a "child" */
81
  required bool child = 4;
82

  
83
  optional OafEntity cachedTarget = 5;
84

  
85
  // needed to have more information that is not included in cachedTarget.
86
  optional Oaf cachedOafTarget = 8;
87

  
88
  // Datamodel rels
89
  optional DatasourceOrganization datasourceOrganization = 6;
90
  optional PersonResult personResult = 7;
91
  optional ProjectOrganization projectOrganization = 9;
92
  optional ProjectPerson projectPerson = 18;
93
  optional ResultOrganization resultOrganization = 10;
94
  optional ResultProject resultProject = 11;
95
  optional PersonPerson personPerson = 15;
96
  optional ResultResult resultResult = 16;
97
  optional OrganizationOrganization organizationOrganization = 17;
98

  
99
  repeated KeyValue collectedfrom = 21;
100

  
101
}
modules/dnet-openaire-data-protos/trunk/src/main/resources/eu/dnetlib/data/proto/Type.proto
1
package eu.dnetlib.data.proto;
2

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

  
6
// entity tags are used as rowkey prefixes on hbase
7
enum Type {
8
	datasource = 10;
9
	organization = 20;
10
	person = 30;
11
	project = 40;
12
	result = 50;
13
}
modules/dnet-openaire-data-protos/trunk/src/main/resources/eu/dnetlib/data/proto/SpecialTrust.proto
1
package eu.dnetlib.data.proto;
2

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

  
6
enum SpecialTrust {
7
	INFINITE = 1;
8
	NEUTRAL = 2;
9
}
modules/dnet-openaire-data-protos/trunk/src/main/resources/eu/dnetlib/data/proto/RelMetadata.proto
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 = "RelMetadataProtos";
7

  
8
message RelMetadata {
9

  
10
	optional Qualifier semantics = 1;
11

  
12
	optional string startdate = 3;
13
	optional string enddate = 4;
14

  
15
}
modules/dnet-openaire-data-protos/trunk/src/main/resources/eu/dnetlib/data/proto/RelType.proto
1
package eu.dnetlib.data.proto;
2

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

  
6
enum RelType {
7

  
8
	// Datamodel rels
9
	datasourceOrganization = 1;
10
	personResult = 2;
11
	projectOrganization = 4;
12
	projectPerson = 13;
13
	resultOrganization = 5;
14
	resultProject = 6;
15
	resultResult = 9;
16
	personPerson = 10;
17
	organizationOrganization = 11;
18

  
19
}
20

  
21
enum SubRelType {
22

  
23
	provision = 1;			// datasourceOrganization
24
	coauthorship = 2;		// personPerson
25
	authorship = 3;			// personResult
26
	participation = 4;		// projectOrganization
27
	contactPerson = 5;		// projectPerson
28
	outcome = 6;			// resultProject
29
	similarity = 8;			// resultResult
30
	publicationDataset = 9; // resultResult
31
	affiliation = 12;		// resultOrganizaiton	
32
	
33
	dedup = 10;				// resultResult | personPerson | organizationOrganization
34
	dedupSimilarity = 11;	// resultResult | personPerson | organizationOrganization
35

  
36
	supplement = 13;        // resultResult
37
	part = 15;              // resultResult
38
}
modules/dnet-openaire-data-protos/trunk/src/main/resources/eu/dnetlib/data/proto/Kind.proto
1
package eu.dnetlib.data.proto;
2

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

  
6
enum Kind {
7
	entity = 1;
8
	relation = 2;
9
}
modules/dnet-openaire-data-protos/trunk/src/main/resources/eu/dnetlib/data/proto/FieldType.proto
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
}
modules/dnet-openaire-data-protos/trunk/src/main/resources/eu/dnetlib/data/proto/Organization_Organization.proto
1
package eu.dnetlib.data.proto;
2

  
3
import "RelMetadata.proto";
4
import "Dedup.proto";
5
import "DedupSimilarity.proto";
6

  
7
option java_package = "eu.dnetlib.data.proto";
8
option java_outer_classname = "OrganizationOrganizationProtos";
9

  
10
message OrganizationOrganization {
11

  
12
 	optional Dedup dedup = 1;
13
  	optional DedupSimilarity dedupSimilarity = 2;
14

  
15
}
modules/dnet-openaire-data-protos/trunk/src/main/resources/eu/dnetlib/data/proto/Project_Organization.proto
1
package eu.dnetlib.data.proto;
2

  
3
import "RelMetadata.proto";
4

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

  
8
message ProjectOrganization {
9

  
10
	optional Participation participation = 1;
11

  
12
	message Participation {
13

  
14
		enum RelName {
15
			isParticipant = 1;
16
			hasParticipant = 2;
17
		}
18

  
19
		required RelMetadata relMetadata = 1;
20
		optional string participantnumber = 2;
21
	}
22

  
23
}
modules/dnet-openaire-data-protos/trunk/src/main/resources/eu/dnetlib/data/proto/Datasource.proto
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 = "DatasourceProtos";
7

  
8
message Datasource {
9

  
10
	optional Metadata metadata = 2;
11

  
12
	message Metadata {
13
	
14
		// common fields
15
		optional Qualifier datasourcetype = 15;
16
		optional Qualifier openairecompatibility = 17;
17

  
18
		optional StringField officialname = 1;
19
		optional StringField englishname = 2;
20
		optional StringField websiteurl = 3;
21
		optional StringField logourl = 4;
22
		optional StringField contactemail = 5;
23
		optional StringField namespaceprefix = 7;
24

  
25
		optional StringField latitude = 18;
26
		optional StringField longitude = 19;
27
		optional StringField dateofvalidation = 20;
28
		optional StringField description = 21;
29
		
30
		repeated StructuredProperty subjects = 45; 
31

  
32
		// opendoar specific fields (od*)
33
		optional StringField odnumberofitems = 9;
34
		optional StringField odnumberofitemsdate = 10;
35
		optional StringField odpolicies = 12;
36

  
37
		repeated StringField odlanguages = 13;
38
		repeated StringField odcontenttypes = 14;
39
		repeated StringField accessinfopackage = 6;
40
		
41
		// re3data fields
42
		optional StringField releasestartdate = 31; 
43
		optional StringField releaseenddate = 32;
44
		optional StringField missionstatementurl = 33;
45
		optional BoolField dataprovider = 34;
46
		optional BoolField serviceprovider = 35;
47
		optional StringField databaseaccesstype = 36; // {open, restricted or closed} 
48
 		optional StringField datauploadtype = 37; // {open, restricted or closed} 
49
 		optional StringField databaseaccessrestriction = 38; // {feeRequired, registration, other} 
50
 		optional StringField datauploadrestriction = 39; // {feeRequired, registration, other} 
51
 		optional BoolField versioning = 40; 
52
 		optional StringField citationguidelineurl = 41; 
53
 		optional StringField qualitymanagementkind = 42; // {yes, no, uknown} 
54
 		optional StringField pidsystems = 43; 
55
 		optional StringField certificates = 44;		
56

  
57
		repeated KeyValue policies = 46; 
58

  
59
	}
60

  
61
}
modules/dnet-openaire-data-protos/trunk/src/main/resources/eu/dnetlib/data/proto/Project_Person.proto
1
package eu.dnetlib.data.proto;
2

  
3
import "RelMetadata.proto";
4

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

  
8
message ProjectPerson {
9

  
10
	optional ContactPerson contactPerson = 1;
11
	
12
	message ContactPerson {
13

  
14
		enum RelName {
15
			isContact = 1;
16
			hasContact = 2;
17
		}
18

  
19
		required RelMetadata relMetadata = 1;
20
	
21
	}	
22

  
23
}
modules/dnet-openaire-data-protos/trunk/src/main/resources/eu/dnetlib/data/proto/Person_Person.proto
1
package eu.dnetlib.data.proto;
2

  
3
import "RelMetadata.proto";
4
import "Dedup.proto";
5
import "DedupSimilarity.proto";
6

  
7
option java_package = "eu.dnetlib.data.proto";
8
option java_outer_classname = "PersonPersonProtos";
9

  
10
message PersonPerson {
11

  
12
	optional CoAuthorship coauthorship = 1;
13
 	optional Dedup dedup = 2;
14
  	optional DedupSimilarity dedupSimilarity = 3;	
15
	
16
	message CoAuthorship {
17

  
18
		enum RelName {
19
			isCoauthorOf = 1;
20
		}
21

  
22
		required RelMetadata relMetadata = 1;
23
	
24
	}
25

  
26
}
modules/dnet-openaire-data-protos/trunk/src/main/resources/eu/dnetlib/data/proto/Dedup.proto
1
package eu.dnetlib.data.proto;
2

  
3
import "RelMetadata.proto";
4

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

  
8
message Dedup {
9

  
10
	enum RelName {
11
		isMergedIn = 1;
12
		merges = 2;
13
	}
14
		
15
	required RelMetadata relMetadata = 1;
16
}
modules/dnet-openaire-data-protos/trunk/src/main/resources/eu/dnetlib/data/proto/Result_Organization.proto
1
package eu.dnetlib.data.proto;
2

  
3
import "RelMetadata.proto";
4

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

  
8
message ResultOrganization {
9

  
10
	optional Affiliation affiliation = 1;
11
	
12
	message Affiliation {
13

  
14
		enum RelName {
15
			isAuthorInstitutionOf = 1; 	// Organization --> Result
16
			hasAuthorInstitutionOf = 2;	// Result --> Organization
17
		}
18

  
19
		required RelMetadata relMetadata = 1;
20
	
21
	}
22

  
23
}
modules/dnet-openaire-data-protos/trunk/src/main/resources/eu/dnetlib/data/proto/Person_Result.proto
1
package eu.dnetlib.data.proto;
2

  
3
import "RelMetadata.proto";
4

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

  
8
//PersonResult encodes the class of relationships between a Person and a Result
9
message PersonResult {
10

  
11
	optional Authorship authorship = 1;
12

  
13
	message Authorship {
14

  
15
		enum RelName {
16
			isAuthorOf = 1;
17
			hasAuthor = 2;
18
		}
19

  
20
		required RelMetadata relMetadata = 1;
21

  
22
		optional string ranking = 2;
23
		optional string affiliation = 3;
24
	
25
	}
26

  
27
}
modules/dnet-openaire-data-protos/trunk/src/main/resources/eu/dnetlib/data/proto/Organization.proto
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 = "OrganizationProtos";
7

  
8
message Organization {
9

  
10
	optional Metadata metadata = 2;
11

  
12
	message Metadata {
13
		optional StringField legalshortname = 1;
14
		optional StringField legalname = 2;
15
		optional StringField websiteurl = 3;
16
		optional StringField logourl = 4;
17
		optional StringField eclegalbody = 5;
18
		optional StringField eclegalperson = 6;
19
		optional StringField ecnonprofit = 7;
20
		optional StringField ecresearchorganization = 8;
21
		optional StringField echighereducation = 9;
22
		optional StringField ecinternationalorganizationeurinterests = 10;
23
		optional StringField ecinternationalorganization = 11;
24
		optional StringField ecenterprise = 12;
25
		optional StringField ecsmevalidated = 13;
26
		optional StringField ecnutscode = 14;
27

  
28
		optional Qualifier country = 16;
29

  
30
	}
31

  
32
}
modules/dnet-openaire-data-protos/trunk/src/main/resources/eu/dnetlib/data/proto/Result_Project.proto
1
package eu.dnetlib.data.proto;
2

  
3
import "RelMetadata.proto";
4

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

  
8
message ResultProject {
9

  
10
	optional Outcome outcome = 1;
11
	
12
	message Outcome {
13

  
14
		enum RelName {
15
			isProducedBy = 1;
16
			produces = 2;
17
		}
18

  
19
		required RelMetadata relMetadata = 1;
20
	
21
	}
22

  
23
}
modules/dnet-openaire-data-protos/trunk/src/main/resources/eu/dnetlib/data/proto/Project.proto
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 = "ProjectProtos";
7

  
8
message Project {
9

  
10
	optional Metadata metadata = 2;
11

  
12
	message Metadata {
13

  
14
		optional StringField websiteurl = 1;
15
		optional StringField code = 2;
16
		optional StringField acronym = 3;
17
		optional StringField title = 4;
18
		optional StringField startdate = 5;
19
		optional StringField enddate = 6;
20
		optional StringField callidentifier = 7;
21
		optional StringField keywords = 8;
22
		optional StringField duration = 9;
23
		optional StringField ecsc39 = 10;
24
		optional StringField oamandatepublications = 11;
25
		optional StringField ecarticle29_3 = 12;
26
		repeated StructuredProperty subjects = 14; 
27
		
28
		repeated StringField fundingtree = 15;
29

  
30
		optional Qualifier contracttype = 13;
31

  
32
		optional StringField optional1 = 16;
33
		optional StringField optional2 = 17;
34
		optional StringField jsonextrainfo = 18;
35
	}
36
	
37
}
modules/dnet-openaire-data-protos/trunk/src/main/resources/eu/dnetlib/data/proto/Person.proto
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 = "PersonProtos";
7

  
8
message Person {
9

  
10
	optional Metadata metadata = 2;
11

  
12
	message Metadata {
13
		optional StringField firstname = 1;
14
		repeated StringField secondnames = 2;
15
		optional StringField fullname = 11;
16
		optional StringField fax = 3;
17
		optional StringField email = 4;
18
		optional StringField phone = 5;
19

  
20
		optional Qualifier nationality = 9;
21
	}
22

  
23
	// Dedup preprocess
24
	repeated CoAuthor coauthor = 4;
25

  
26
	repeated MergedPerson mergedperson = 5;
27
	
28
	optional bool anchor = 6 [default = false];
29

  
30
	message CoAuthor {
31
	
32
		required string id = 1;
33

  
34
		optional string anchorId = 2;
35
		
36
		optional int32 coauthoredpapers = 3 [default = 1];
37
	
38
		optional Metadata metadata = 4;	
39
	}
40

  
41
	message MergedPerson {
42
	
43
		required string id = 1;
44
	
45
		optional Metadata metadata = 2;	
46
	}
47

  
48
}
49

  
modules/dnet-openaire-data-protos/trunk/src/main/resources/eu/dnetlib/data/proto/DedupSimilarity.proto
1
package eu.dnetlib.data.proto;
2

  
3
import "RelMetadata.proto";
4

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

  
8
message DedupSimilarity {
9

  
10
	enum RelName {
11
		isSimilarTo = 1;
12
	}
13

  
14
	required RelMetadata relMetadata = 1;
15

  
16
}
modules/dnet-openaire-data-protos/trunk/src/main/resources/eu/dnetlib/data/proto/Result_Result.proto
1
package eu.dnetlib.data.proto;
2

  
3
import "RelMetadata.proto";
4
import "Dedup.proto";
5
import "DedupSimilarity.proto";
6

  
7
option java_package = "eu.dnetlib.data.proto";
8
option java_outer_classname = "ResultResultProtos";
9

  
10
message ResultResult {
11

  
12
	//choice of the possible subtypes
13
	optional Similarity similarity = 2;
14
	optional PublicationDataset publicationDataset = 3;
15
 	optional Dedup dedup = 4;
16
  	optional DedupSimilarity dedupSimilarity = 5;
17

  
18
  	optional Supplement supplement = 6;
19
  	optional Part part = 7;
20
	
21
	message Similarity {
22
	
23
		enum RelName {
24
			isAmongTopNSimilarDocuments = 1;
25
			hasAmongTopNSimilarDocuments = 2;
26
		}	
27

  
28
		required RelMetadata relMetadata = 1;
29
		
30
		// level of similarity: coefficient from [0, 1] range,
31
		// the greater the number, the more similar the documents
32
    	optional float similarity = 2;
33

  
34
    	enum Type {
35
			STANDARD = 1;
36
			WEBUSAGE = 2;
37
    	}
38

  
39
		// similarity type
40
    	optional Type type = 3 [default = STANDARD];		
41
	}
42

  
43
	message PublicationDataset {
44
	
45
		enum RelName {
46
			isRelatedTo = 1;
47
		}		
48
	
49
		required RelMetadata relMetadata = 1;
50
	}
51

  
52
	message Supplement {
53

  
54
        enum RelName {
55
            isSupplementTo = 1;
56
            isSupplementedBy = 2;
57
        }
58

  
59
        required RelMetadata relMetadata = 1;
60
    }
61

  
62
	message Part {
63

  
64
        enum RelName {
65
            isPartOf = 1;
66
            hasPart = 2;
67
        }
68

  
69
        required RelMetadata relMetadata = 1;
70
    }
71
	
72
}
modules/dnet-openaire-data-protos/trunk/pom.xml
1
<?xml version="1.0" encoding="UTF-8"?>
2
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
3
	<parent>
4
		<groupId>eu.dnetlib</groupId>
5
		<artifactId>dnet-parent</artifactId>
6
		<version>1.0.0</version>
7
		<relativePath />
8
	</parent>
9
	<modelVersion>4.0.0</modelVersion>
10
	<groupId>eu.dnetlib</groupId>
11
	<artifactId>dnet-openaire-data-protos</artifactId>
12
	<packaging>jar</packaging>
13
	<version>3.7.5-SNAPSHOT</version>
14
	<scm>
15
	  <developerConnection>scm:svn:https://svn.driver.research-infrastructures.eu/driver/dnet40/modules/dnet-openaire-data-protos/trunk</developerConnection>
16
	</scm>
17

  
18
	<properties>
19
		<!-- defined also in dnet-parent, here in case we need to override -->
20
		<google.protobuf.version>2.4.1</google.protobuf.version>
21
	</properties>
22

  
23
	<pluginRepositories>
24
		<pluginRepository>
25
			<id>dnet4-bootstrap-release</id>
26
			<url>http://maven.research-infrastructures.eu/nexus/content/repositories/dnet4-bootstrap-release/</url>
27
		</pluginRepository>
28
	</pluginRepositories>
29

  
30
	<build>
31
		<plugins>
32
			<plugin>
33
				<groupId>eu.dnetlib</groupId>
34
				<artifactId>protoc-jar-maven-plugin</artifactId>
35
				<version>1.1.0</version>
36
				<executions>
37
					<execution>
38
						<phase>generate-sources</phase>
39
						<goals>
40
							<goal>run</goal>
41
						</goals>
42
						<configuration>
43
							<protocVersion>${google.protobuf.version}</protocVersion>
44
							<inputDirectories>
45
								<include>src/main/resources</include>
46
							</inputDirectories>
47
							<outputDirectory>src/gen/java</outputDirectory>
48
						</configuration>
49
					</execution>
50
				</executions>
51
			</plugin>
52
		</plugins>
53
	</build>
54
	<dependencies>
55
		<dependency>
56
			<groupId>com.google.protobuf</groupId>
57
			<artifactId>protobuf-java</artifactId>
58
			<version>${google.protobuf.version}</version>
59
		</dependency>		
60
	</dependencies>
61
</project>
modules/dnet-openaire-data-protos/branches/IIS-CDH-5.3.0/deploy.info
1
{"type_source": "SVN", "goal": "package -U -T 4C source:jar", "url": "http://svn-public.driver.research-infrastructures.eu/driver/dnet40/modules/dnet-openaire-data-protos/trunk/", "deploy_repository": "dnet4-snapshots", "version": "4", "mail": "sandro.labruzzo@isti.cnr.it,michele.artini@isti.cnr.it, claudio.atzori@isti.cnr.it, alessia.bardi@isti.cnr.it", "deploy_repository_url": "http://maven.research-infrastructures.eu/nexus/content/repositories/dnet4-snapshots", "name": "dnet-openaire-data-protos"}
modules/dnet-openaire-data-protos/branches/IIS-CDH-5.3.0/src/main/resources/eu/dnetlib/data/proto/Datasource_Organization.proto
1
package eu.dnetlib.data.proto;
2

  
3
import "RelMetadata.proto";
4

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

  
8
message DatasourceOrganization {
9

  
10
	optional Provision provision = 1;
11
	
12
	message Provision {
13
	
14
		enum RelName {
15
			isProvidedBy = 1;
16
			provides = 2;
17
		}
18

  
19
		required RelMetadata relMetadata = 1;
20
	
21
	}
22

  
23
}
modules/dnet-openaire-data-protos/branches/IIS-CDH-5.3.0/src/main/resources/eu/dnetlib/data/proto/Result.proto
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
	
80
	message ExternalReference {
81
	
82
		optional string sitename = 1;		// source
83
		optional string label = 2;			// title
84
		optional string url = 3;			// text()
85
		optional string description = 4;	// ?? not mapped yet ??
86
		optional Qualifier qualifier = 5;	// type
87
		optional string refidentifier = 6;	// site internal identifier
88
		optional string query = 7;			// maps the oaf:reference/@query attribute
89
		optional DataInfo dataInfo = 8;		// ExternalReferences might be also inferred
90
	}
91

  
92
}
modules/dnet-openaire-data-protos/branches/IIS-CDH-5.3.0/src/main/resources/eu/dnetlib/data/proto/OafParent.proto
1
package eu.dnetlib.data.proto;
2

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

  
6
// for Oafentity
7
import "Type.proto";
8
import "Datasource.proto";
9
import "Organization.proto";
10
import "Person.proto";
11
import "Project.proto";
12
import "Result.proto";
13

  
14
// for OafRel
15
import "RelType.proto";
16
import "Datasource_Organization.proto";
17
import "Person_Result.proto";
18
import "Project_Organization.proto";
19
import "Project_Person.proto";
20
import "Result_Organization.proto";
21
import "Result_Project.proto";
22
import "Person_Person.proto";
23
import "Result_Result.proto";
24
import "Organization_Organization.proto";
25

  
26
option java_package = "eu.dnetlib.data.proto";
27
option java_outer_classname = "OafProtos";
28

  
29
message Oaf {
30
  required Kind kind = 1;
31

  
32
  optional OafEntity entity = 2;
33
  optional OafRel rel = 3;
34

  
35
  optional DataInfo dataInfo = 4;
36

  
37
	// used to mark the last update time of this object
38
  optional sfixed64 lastupdatetimestamp = 5;
39
}
40

  
41
message OafEntity {
42
  required Type type = 1;
43
  required string id = 12;
44
  
45
  repeated string originalId = 8;
46
  repeated KeyValue collectedfrom = 9;
47
  
48
  repeated StructuredProperty pid = 10;
49
  optional string dateofcollection = 11;
50
  optional string dateoftransformation = 13;
51

  
52
  /* Any relation that we want to bundle together with this entity.
53
   It's intended to be used only in temporary values in map/red jobs (sequence files, ...)
54
   and never persisted values stored in  HBase. */
55
  repeated OafRel cachedRel = 2;
56
  repeated Oaf cachedOafRel = 18;
57
  
58
  optional Datasource datasource = 3;
59
  optional Organization organization = 4;
60
  optional Person person = 5;
61
  optional Project project = 6;
62
  optional Result result = 7;
63
  
64
  repeated OafEntity children = 16;
65
  
66
  repeated ExtraInfo extraInfo = 15;
67
  
68
  optional OAIProvenance oaiprovenance = 17;
69
}
70

  
71

  
72
message OafRel {
73
  required RelType relType = 1;
74
  required SubRelType subRelType = 19;
75
  required string relClass = 20;	// one among the SubRel names, e.g. Provision.RelName.isProvidedBy
76

  
77
  required string source = 2;
78
  required string target = 3;
79

  
80
  /* if true then is a "child" */
81
  required bool child = 4;
82

  
83
  optional OafEntity cachedTarget = 5;
84

  
85
  // needed to have more information that is not included in cachedTarget.
86
  optional Oaf cachedOafTarget = 8;
87
  
88
  // Datamodel rels
89
  optional DatasourceOrganization datasourceOrganization = 6;
90
  optional PersonResult personResult = 7;
91
  optional ProjectOrganization projectOrganization = 9;
92
  optional ProjectPerson projectPerson = 18;
93
  optional ResultOrganization resultOrganization = 10;
94
  optional ResultProject resultProject = 11;
95
  optional PersonPerson personPerson = 15;
96
  optional ResultResult resultResult = 16;
97
  optional OrganizationOrganization organizationOrganization = 17;
98

  
99
  repeated KeyValue collectedfrom = 21;
100

  
101
}
modules/dnet-openaire-data-protos/branches/IIS-CDH-5.3.0/src/main/resources/eu/dnetlib/data/proto/Type.proto
1
package eu.dnetlib.data.proto;
2

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

  
6
// entity tags are used as rowkey prefixes on hbase
7
enum Type {
8
	datasource = 10;
9
	organization = 20;
10
	person = 30;
11
	project = 40;
12
	result = 50;
13
}
modules/dnet-openaire-data-protos/branches/IIS-CDH-5.3.0/src/main/resources/eu/dnetlib/data/proto/SpecialTrust.proto
1
package eu.dnetlib.data.proto;
2

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

  
6
enum SpecialTrust {
7
	INFINITE = 1;
8
	NEUTRAL = 2;
9
}
modules/dnet-openaire-data-protos/branches/IIS-CDH-5.3.0/src/main/resources/eu/dnetlib/data/proto/RelMetadata.proto
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 = "RelMetadataProtos";
7

  
8
message RelMetadata {
9

  
10
	optional Qualifier semantics = 1;
11

  
12
	optional string startdate = 3;
13
	optional string enddate = 4;
14

  
15
}
modules/dnet-openaire-data-protos/branches/IIS-CDH-5.3.0/src/main/resources/eu/dnetlib/data/proto/RelType.proto
1
package eu.dnetlib.data.proto;
2

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

  
6
enum RelType {
7

  
8
	// Datamodel rels
9
	datasourceOrganization = 1;
10
	personResult = 2;
11
	projectOrganization = 4;
12
	projectPerson = 13;
13
	resultOrganization = 5;
14
	resultProject = 6;
15
	resultResult = 9;
16
	personPerson = 10;
17
	organizationOrganization = 11;
18

  
19
}
20

  
21
enum SubRelType {
22

  
23
	provision = 1;			// datasourceOrganization
24
	coauthorship = 2;		// personPerson
25
	authorship = 3;			// personResult
26
	participation = 4;		// projectOrganization
27
	contactPerson = 5;		// projectPerson
28
	outcome = 6;			// resultProject
29
	similarity = 8;			// resultResult
30
	publicationDataset = 9; // resultResult
31
	affiliation = 12;		// resultOrganizaiton	
32
	
33
	dedup = 10;				// resultResult | personPerson | organizationOrganization
34
	dedupSimilarity = 11;	// resultResult | personPerson | organizationOrganization
35

  
36
	supplement = 13;        // resultResult
37
	part = 15;              // resultResult
38
}
modules/dnet-openaire-data-protos/branches/IIS-CDH-5.3.0/src/main/resources/eu/dnetlib/data/proto/Kind.proto
1
package eu.dnetlib.data.proto;
2

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

  
6
enum Kind {
7
	entity = 1;
8
	relation = 2;
9
}
modules/dnet-openaire-data-protos/branches/IIS-CDH-5.3.0/src/main/resources/eu/dnetlib/data/proto/FieldType.proto
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
}
modules/dnet-openaire-data-protos/branches/IIS-CDH-5.3.0/src/main/resources/eu/dnetlib/data/proto/Organization_Organization.proto
1
package eu.dnetlib.data.proto;
2

  
3
import "RelMetadata.proto";
4
import "Dedup.proto";
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff