Project

General

Profile

1
<?xml version="1.0" encoding="UTF-8"?>
2
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="unqualified"
3
	xmlns="http://namespace.openaire.eu/oaf" targetNamespace="http://namespace.openaire.eu/oaf">
4

    
5
	<xs:annotation>
6
		<xs:documentation>This schema defines common types that can be re-used.</xs:documentation>
7
	</xs:annotation>
8

    
9
	<xs:simpleType name="emptyType">
10
		<xs:restriction base="xs:string">
11
			<xs:length value="0"/>
12
		</xs:restriction>
13
	</xs:simpleType>
14

    
15
	<xs:simpleType name="boolOrEmptyType">
16
		<xs:union memberTypes="emptyType xs:boolean"/>
17
	</xs:simpleType>
18

    
19
	<xs:simpleType name="stringOrEmptyType">
20
		<xs:union memberTypes="emptyType xs:string"/>
21
	</xs:simpleType>
22

    
23
	<xs:complexType mixed="true" name="inferenceExtendedStringType">
24
		<xs:annotation>
25
			<xs:documentation>XML elements of this type are simple strings, but in cases where their
26
				values have been inferred by Openaire inference algorithms, the elements features
27
				some attributes describing the inference algorithm. This way it is easy to
28
				understand if a value comes from the originally imported data or if it has been
29
				added later for enrichment. </xs:documentation>
30
		</xs:annotation>
31
		<xs:simpleContent>
32
			<xs:extension base="xs:string">
33
				<xs:attributeGroup ref="optionalInferenceAttrGroup"/>
34
			</xs:extension>
35
		</xs:simpleContent>
36
	</xs:complexType>
37

    
38
	<xs:complexType mixed="true" name="inferenceExtendedBooleanType">
39
		<xs:annotation>
40
			<xs:documentation>XML elements of this type are simple booleans, but in cases where
41
				their values have been inferred by Openaire inference algorithms, the elements
42
				features some attributes describing the inference algorithm. This way it is easy to
43
				understand if a value comes from the originally imported data or if it has been
44
				added later for enrichment. </xs:documentation>
45
		</xs:annotation>
46
		<xs:simpleContent>
47
			<xs:extension base="xs:boolean">
48
				<xs:attributeGroup ref="optionalInferenceAttrGroup"/>
49
			</xs:extension>
50
		</xs:simpleContent>
51
	</xs:complexType>
52

    
53
	<xs:attributeGroup name="optionalInferenceAttrGroup">
54
		<xs:attribute name="inferred" use="optional" type="xs:boolean">
55
			<xs:annotation>
56
				<xs:documentation>True if this information has been inferred by the automatic
57
					inference algorithms run by OpenAIRE. </xs:documentation>
58
			</xs:annotation>
59
		</xs:attribute>
60
		<xs:attribute name="inferenceprovenance" use="optional" type="xs:string">
61
			<xs:annotation>
62
				<xs:documentation>Which algorithm inferred the current property. </xs:documentation>
63
			</xs:annotation>
64
		</xs:attribute>
65
		<xs:attribute name="provenanceaction" use="optional" type="xs:string"/>
66
		<xs:attribute name="trust" use="optional" type="xs:string">
67
			<xs:annotation>
68
				<xs:documentation>Value of trust of this information in the range [0,1]. More the
69
					value, more trustworthy is the information. </xs:documentation>
70
			</xs:annotation>
71
		</xs:attribute>
72
	</xs:attributeGroup>
73

    
74
	<!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
75

    
76
	<xs:complexType mixed="true" name="classedSchemedElement">
77
		<xs:attributeGroup ref="classSchemeAttrGroup"/>
78
		<xs:attributeGroup ref="optionalInferenceAttrGroup"/>
79
	</xs:complexType>
80

    
81
	<xs:attributeGroup name="classSchemeAttrGroup">
82
		<xs:attribute name="classid" use="required" type="xs:string">
83
			<xs:annotation>
84
				<xs:documentation>Identifier of the value in classname with respect to the
85
					controlled vocabulary with id = schemeid. </xs:documentation>
86
			</xs:annotation>
87
		</xs:attribute>
88
		<xs:attribute name="classname" use="required" type="xs:string">
89
			<xs:annotation>
90
				<xs:documentation>A value from the controlled vocabulary identified by schemeid.
91
				</xs:documentation>
92
			</xs:annotation>
93
		</xs:attribute>
94
		<xs:attribute name="schemeid" use="required" type="xs:string">
95
			<xs:annotation>
96
				<xs:documentation>Identifier of the controlled vocabulary with name schemename. To
97
					see the classes included in the schema: $vocabulariesURL$/schemeid
98
				</xs:documentation>
99
			</xs:annotation>
100
		</xs:attribute>
101
		<xs:attribute name="schemename" use="required" type="xs:string">
102
			<xs:annotation>
103
				<xs:documentation>Name of the controlled vocabulary. </xs:documentation>
104
			</xs:annotation>
105
		</xs:attribute>
106
	</xs:attributeGroup>
107

    
108
	<xs:complexType mixed="true" name="optionalClassedSchemedElement">
109
		<xs:attributeGroup ref="optionalClassSchemeAttrGroup"/>
110
		<xs:attributeGroup ref="optionalInferenceAttrGroup"/>
111
	</xs:complexType>
112

    
113
	<xs:attributeGroup name="optionalClassSchemeAttrGroup">
114
		<xs:attribute name="classid" use="optional" type="xs:string">
115
			<xs:annotation>
116
				<xs:documentation>Identifier of the value in classname with respect to the
117
					controlled vocabulary with id = schemeid. </xs:documentation>
118
			</xs:annotation>
119
		</xs:attribute>
120
		<xs:attribute name="classname" use="optional" type="xs:string">
121
			<xs:annotation>
122
				<xs:documentation>A value from the controlled vocabulary identified by schemeid.
123
				</xs:documentation>
124
			</xs:annotation>
125
		</xs:attribute>
126
		<xs:attribute name="schemeid" use="optional" type="xs:string">
127
			<xs:annotation>
128
				<xs:documentation>Identifier of the controlled vocabulary with name schemename. To
129
					see the classes included in the schema: $vocabulariesURL$/schemeid
130
				</xs:documentation>
131
			</xs:annotation>
132
		</xs:attribute>
133
		<xs:attribute name="schemename" use="optional" type="xs:string">
134
			<xs:annotation>
135
				<xs:documentation>Name of the controlled vocabulary. </xs:documentation>
136
			</xs:annotation>
137
		</xs:attribute>
138
	</xs:attributeGroup>
139

    
140
	<xs:complexType name="namedIdElement">
141
		<xs:attribute name="id" use="required"/>
142
		<xs:attribute name="name" use="required"/>
143
		<xs:attributeGroup ref="optionalInferenceAttrGroup"/>
144
	</xs:complexType>
145

    
146
	<xs:complexType name="labeledIdElement">
147
		<xs:attribute name="id" use="required"/>
148
		<xs:attribute name="label" use="required"/>
149
		<xs:attributeGroup ref="optionalInferenceAttrGroup"/>
150
	</xs:complexType>
151

    
152
	<xs:complexType name="datainfoType">
153
		<xs:annotation>
154
			<xs:documentation>Information about the provenance of this record. </xs:documentation>
155
		</xs:annotation>
156
		<xs:choice maxOccurs="unbounded">
157
			<xs:element name="inferred" type="xs:boolean">
158
				<xs:annotation>
159
					<xs:documentation>True if this information has been inferred by the automatic
160
						inference algorithms run by OpenAIRE. </xs:documentation>
161
				</xs:annotation>
162
			</xs:element>
163
			<xs:element name="deletedbyinference" type="xs:boolean">
164
				<xs:annotation>
165
					<xs:documentation>True if this information has been deleted by the automatic
166
						inference algorithms run by OpenAIRE. </xs:documentation>
167
				</xs:annotation>
168
			</xs:element>
169
			<xs:element name="trust" type="xs:string">
170
				<xs:annotation>
171
					<xs:documentation>Value of trust of this information. Typically a value in the
172
						range [0,1]. Higher the value, more trustworthy is the information.
173
					</xs:documentation>
174
				</xs:annotation>
175
			</xs:element>
176
			<xs:element name="inferenceprovenance" type="xs:string">
177
				<xs:annotation>
178
					<xs:documentation>The algorithm that produced this property. </xs:documentation>
179
				</xs:annotation>
180
			</xs:element>
181
			<xs:element name="provenanceaction" type="classedSchemedElement">
182
				<xs:annotation>
183
					<xs:documentation>Describes the process/action that produced the
184
						information.</xs:documentation>
185
				</xs:annotation>
186
			</xs:element>
187
		</xs:choice>
188
	</xs:complexType>
189

    
190
	<xs:complexType name="relsType">
191
		<xs:annotation>
192
			<xs:documentation>Relationships to other entities.</xs:documentation>
193
		</xs:annotation>
194
		<xs:choice maxOccurs="unbounded" minOccurs="0">
195
			<xs:element name="rel" type="relType" minOccurs="0"/>
196
		</xs:choice>
197
	</xs:complexType>
198

    
199
	<xs:complexType name="relType">
200
		<xs:sequence>
201
			<xs:choice maxOccurs="unbounded">
202
				<xs:element name="to" type="relToType"/>
203
				<xs:element name="title" type="optionalClassedSchemedElement"/>
204
				<xs:element name="websiteurl"/>
205
				<xs:choice>
206
					<xs:group ref="relDataSourceGroup"/>
207
					<xs:group ref="relResultGroup"/>
208
					<xs:group ref="relProjectGroup"/>
209
					<xs:group ref="relOrganizationGroup"/>
210
					<xs:group ref="fundingGroup"/>
211
				</xs:choice>
212
			</xs:choice>
213
		</xs:sequence>
214
		<xs:attributeGroup ref="optionalInferenceAttrGroup"/>
215
	</xs:complexType>
216

    
217
	<xs:group name="relDataSourceGroup">
218
		<xs:sequence>
219
			<xs:choice minOccurs="0" maxOccurs="unbounded">
220
				<xs:element name="officialname" type="xs:string"/>
221
				<xs:element name="datasourcetypeui" type="classedSchemedElement">
222
					<xs:annotation>
223
						<xs:documentation> Type of this data source to be displayed in the OpenAire
224
							portal. <p>For allowed values check terms in:
225
								$vocabulariesURL$/dnet:datasource_typologies </p>
226
						</xs:documentation>
227
					</xs:annotation>
228
				</xs:element>
229
				<xs:element name="datasourcetype" type="classedSchemedElement">
230
					<xs:annotation>
231
						<xs:documentation> Type of the related data source. <p>For allowed values
232
								check codes in: $vocabulariesURL$/dnet:datasource_typologies </p>
233
						</xs:documentation>
234
					</xs:annotation>
235
				</xs:element>
236
				<xs:element name="openairecompatibility" type="classedSchemedElement">
237
					<xs:annotation>
238
						<xs:documentation>OpenAIRE compatibility of the data source.</xs:documentation>
239
					</xs:annotation>
240
				</xs:element>
241
			</xs:choice>
242
		</xs:sequence>
243
	</xs:group>
244

    
245
	<xs:group name="relResultGroup">
246
		<xs:sequence>
247
			<xs:choice minOccurs="0" maxOccurs="unbounded">
248
				<xs:element name="dateofacceptance" type="xs:string"/>
249
				<xs:element name="publisher" type="xs:string"/>
250
				<xs:element name="resulttype" type="classedSchemedElement">
251
					<xs:annotation>
252
						<xs:documentation> Tells if the related record is about a publication or a
253
							dataset. <p>For allowed values check:
254
								$vocabulariesURL$/dnet:result_typologies </p>
255
						</xs:documentation>
256
					</xs:annotation>
257
				</xs:element>
258
				<xs:element name="collectedfrom" type="namedIdElement">
259
					<xs:annotation>
260
						<xs:documentation>Identifier and name of the datasource from which the result has been collected from (e.g., "Zenodo"). </xs:documentation>
261
					</xs:annotation>
262
				</xs:element>
263
				<xs:element name="url" type="xs:string"/>
264
				<xs:element name="pid" type="optionalClassedSchemedElement">
265
					<xs:annotation>
266
						<xs:documentation> Persistent identifier. <p>For allowed pid systems check:
267
							$vocabulariesURL$/dnet:pid_types </p>
268
						</xs:documentation>
269
					</xs:annotation>
270
				</xs:element>
271
				<!-- the following fields are available only for similarity relations -->
272
				<xs:element name="similarity" type="xs:double">
273
					<xs:annotation>
274
						<xs:documentation>The similarity degree expressed in the range (0,1]. This
275
							field is avaiable only when the to/@class is one of
276
							{hasAmongTopNSimilarDocuments,
277
							isAmongTopNSimilarDocuments}</xs:documentation>
278
					</xs:annotation>
279
				</xs:element>
280
				<xs:element name="type">
281
					<xs:annotation>
282
						<xs:documentation>The similarity degree expressed in the range (0,1]. This
283
							field is avaiable only when the to/@class is one of
284
							{hasAmongTopNSimilarDocuments,
285
							isAmongTopNSimilarDocuments}</xs:documentation>
286
					</xs:annotation>
287
					<xs:simpleType>
288
						<xs:restriction base="xs:string">
289
							<xs:enumeration value="STANDARD"/>
290
							<xs:enumeration value="WEBUSAGE"/>
291
						</xs:restriction>
292
					</xs:simpleType>
293
				</xs:element>
294
			</xs:choice>
295
		</xs:sequence>
296
	</xs:group>
297

    
298
	<xs:group name="relProjectGroup">
299
		<xs:sequence>
300
			<xs:choice minOccurs="0" maxOccurs="unbounded">
301
				<xs:element name="code" type="xs:string"/>
302
				<xs:element name="acronym" type="xs:string"/>
303
			</xs:choice>
304
		</xs:sequence>
305
	</xs:group>
306

    
307
	<xs:group name="fundingGroup">
308
		<xs:sequence>
309
			<xs:choice minOccurs="0" maxOccurs="unbounded">
310
				<xs:element name="contracttype" type="optionalClassedSchemedElement">
311
					<xs:annotation>
312
						<xs:documentation> Type of the contract. Available if the related entity is
313
							a project. <p> Allowed values depend on the actual funder of the related
314
								project. Currently supported funders and corresponding contract
315
								types are: <table>
316
									<tr>
317
										<th>Funder</th>
318
										<th>Funder id</th>
319
										<th>Contract types</th>
320
									</tr>
321
									<tr>
322
										<td>FP7</td>
323
										<td>corda_______::FP7</td>
324
										<td>$vocabulariesURL$/ec:FP7contractTypes</td>
325
									</tr>
326
									<tr>
327
										<td>Wellcome Trust</td>
328
										<td>wt::WT</td>
329
										<td>$vocabulariesURL$/wt:contractTypes</td>
330
									</tr>
331
								</table>
332
							</p>
333
						</xs:documentation>
334
					</xs:annotation>
335
				</xs:element>
336
				<xs:element name="funding" type="fundingFlatType"/>
337
			</xs:choice>
338
		</xs:sequence>
339
	</xs:group>
340

    
341
	<xs:group name="relOrganizationGroup">
342
		<xs:sequence>
343
			<xs:choice minOccurs="0" maxOccurs="unbounded">
344
				<xs:element name="legalname" type="xs:string"/>
345
				<xs:element name="legalshortname" type="xs:string"/>
346
				<xs:element name="country" type="optionalClassedSchemedElement">
347
					<xs:annotation>
348
						<xs:documentation> Countries in ISO 3166-1 alpha-2. <p>For allowed values
349
								check: $vocabulariesURL$/dnet:countries </p>
350
						</xs:documentation>
351
					</xs:annotation>
352
				</xs:element>
353
			</xs:choice>
354
		</xs:sequence>
355
	</xs:group>
356

    
357

    
358

    
359
	<xs:complexType name="relToType">
360
		<xs:annotation>
361
			<xs:documentation>Information about the related entity. <p>The semantics of the
362
					relationships is expressed by the attributes class and scheme. </p>
363
				<!--  <p>See the following ontology for the available relationships: $ontologyURL$</p>-->
364
				<p>Allowed relationships are: <table>
365
						<tr><th>Entity types</th><th>Name of relationships</th><th>Inverse
366
								of</th><th>Simmetric</th></tr>
367
						<tr><td>Project --
368
								Person</td><td>hasContact</td><td>isContact</td><td>no</td></tr>
369
						<tr><td>Project --
370
								Result</td><td>produces</td><td>isProducedBy</td><td>no</td></tr>
371
						<tr><td>Project --
372
								Organization</td><td>hasParticipant</td><td>isParticipant</td><td>no</td></tr>
373
						<tr><td>Person --
374
								Project</td><td>isContact</td><td>hasContact</td><td>no</td></tr>
375
						<tr><td>Person --
376
								Result</td><td>isAuthorOf</td><td>hasAuthor</td><td>no</td></tr>
377
						<tr><td>Person --
378
							Person</td><td>isCoauthorOf</td><td>--</td><td>yes</td></tr>
379
						<tr><td>Result --
380
								Person</td><td>hasAuthor</td><td>isAuthorOf</td><td>no</td></tr>
381
						<tr><td>Result --
382
								Project</td><td>isProducedBy</td><td>produces</td><td>no</td></tr>
383
						<tr><td>Result --
384
							Result</td><td>isRelatedTo</td><td>--</td><td>yes</td></tr>
385
						<tr><td>Result --
386
								Result</td><td>hasAmongTopNSimilarDocuments</td><td>isAmongTopNSimilarDocuments</td><td>no</td></tr>
387
						<tr><td>Result --
388
								Result</td><td>isAmongTopNSimilarDocuments</td><td>hasAmongTopNSimilarDocuments</td><td>no</td></tr>
389
						<tr><td>Organization --
390
								Datasource</td><td>isProvidedBy</td><td>provides</td><td>no</td></tr>
391
						<tr><td>Organization --
392
								Project</td><td>isParticpant</td><td>hasParticipant</td><td>no</td></tr>
393
						<tr><td>Datasource --
394
								Organization</td><td>provides</td><td>isProvidedBy</td><td>no</td></tr>
395
					</table></p>
396
			</xs:documentation>
397
		</xs:annotation>
398
		<xs:simpleContent>
399
			<xs:extension base="xs:string">
400
				<xs:attribute name="class" use="required" type="xs:string"/>
401
				<xs:attribute name="scheme" use="required" type="xs:string"/>
402
				<xs:attribute name="type" use="required" type="xs:string">
403
					<xs:annotation>
404
						<xs:documentation>The type of the related entity. <p>Allowed values are:
405
								project, organization, datasource, result, person.</p>
406
						</xs:documentation>
407
					</xs:annotation>
408
				</xs:attribute>
409
			</xs:extension>
410
		</xs:simpleContent>
411
	</xs:complexType>
412

    
413
	<xs:complexType name="fundingFlatType">
414
		<xs:sequence>
415
			<xs:element name="funder" type="funderFlatType" minOccurs="1" maxOccurs="1"/>
416
			<xs:element name="funding_level_0" type="namedFundingLevel" minOccurs="0"
417
				maxOccurs="unbounded"/>
418
			<xs:element name="funding_level_1" type="namedFundingLevel" minOccurs="0"
419
				maxOccurs="unbounded"/>
420
			<xs:element name="funding_level_2" type="namedFundingLevel" minOccurs="0"
421
				maxOccurs="unbounded"/>
422
		</xs:sequence>
423
	</xs:complexType>
424

    
425
	<xs:complexType name="funderFlatType">
426
		<xs:simpleContent>
427
			<xs:extension base="xs:string">
428
				<xs:attribute name="id" use="required" type="xs:string"/>
429
				<xs:attribute name="shortname" use="required" type="xs:string"/>
430
				<xs:attribute name="name" use="required" type="xs:string"/>
431
				<xs:attribute name="jurisdiction" use="optional" type="xs:string"/>
432
			</xs:extension>
433
		</xs:simpleContent>
434
	</xs:complexType>
435

    
436
	<xs:complexType name="namedFundingLevel">
437
		<xs:simpleContent>
438
			<xs:extension base="xs:string">
439
				<xs:attribute name="name" use="required" type="xs:string"/>
440
			</xs:extension>
441
		</xs:simpleContent>
442
	</xs:complexType>
443

    
444
	<xs:complexType name="externalreferenceType">
445
		<xs:sequence>
446
			<xs:element name="sitename" type="xs:string" minOccurs="0" maxOccurs="1"/>
447
			<!--<xs:element name="label" type="xs:string" minOccurs="0" maxOccurs="1"/>-->
448
			<xs:element name="url" type="xs:string" minOccurs="0" maxOccurs="1"/>
449
			<xs:element name="qualifier" type="optionalClassedSchemedElement" minOccurs="0"
450
				maxOccurs="1"/>
451
			<xs:element name="refidentifier" type="xs:string" minOccurs="0" maxOccurs="1"/>
452
		</xs:sequence>
453
		<xs:attributeGroup ref="optionalInferenceAttrGroup"/>
454
	</xs:complexType>
455

    
456
	<xs:complexType name="extraInfoType">
457
		<xs:annotation>
458
			<xs:documentation>Fields of this type can contain any well-formed XML, regardless of the
459
				actual structure. </xs:documentation>
460
		</xs:annotation>
461
		<xs:sequence>
462
			<xs:any processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
463
		</xs:sequence>
464
		<xs:attribute name="name" type="xs:string" use="required">
465
			<xs:annotation>
466
				<xs:documentation>Human readable label that explains the type of information we can
467
					find inside this element. It corresponds to the value in the "typology"
468
					attribute. </xs:documentation>
469
			</xs:annotation>
470
		</xs:attribute>
471
		<xs:attribute name="typology" type="xs:string" use="required">
472
			<xs:annotation>
473
				<xs:documentation>Type of the information we can find inside this element. The
474
					attribute "name" provides a human-readable label of this very same information.
475
				</xs:documentation>
476
			</xs:annotation>
477
		</xs:attribute>
478
		<xs:attribute name="provenance" type="xs:string"/>
479
		<xs:attribute name="trust" type="xs:string">
480
			<xs:annotation>
481
				<xs:documentation>Value of trust of this information. Typically a value in the range
482
					[0,1]. Higher the value, more trustworthy is the information.
483
				</xs:documentation>
484
			</xs:annotation>
485
		</xs:attribute>
486
	</xs:complexType>
487

    
488

    
489
</xs:schema>
(3-3/7)