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="trust" use="optional" type="xs:string">
66
			<xs:annotation>
67
				<xs:documentation>Value of trust of this information in the range [0,1]. More the
68
					value, more trustworthy is the information. </xs:documentation>
69
			</xs:annotation>
70
		</xs:attribute>
71
	</xs:attributeGroup>
72

    
73
	<!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
74

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

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

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

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

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

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

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

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

    
198
	<xs:complexType name="relType">
199
		<xs:sequence>
200
			<xs:choice maxOccurs="unbounded">
201
				<xs:element name="to" type="relToType"/>
202
				<xs:element name="title" type="optionalClassedSchemedElement"/>
203
				<xs:element name="websiteurl"/>
204
				<xs:choice>
205
					<xs:group ref="relPersonGroup"/>
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:attribute name="provenanceaction" type="xs:string"/>
216
	</xs:complexType>
217

    
218

    
219
	<xs:group name="relPersonGroup">
220
		<xs:sequence>
221
			<xs:choice minOccurs="0" maxOccurs="unbounded">
222
				<xs:element name="ranking" type="xs:integer"/>
223
				<xs:element name="fullname" type="xs:string"/>
224
				<xs:element name="fax" type="xs:string"/>
225
				<xs:element name="email" type="xs:string"/>
226
				<xs:element name="phone" type="xs:string"/>
227
			</xs:choice>
228
		</xs:sequence>
229
	</xs:group>
230

    
231
	<xs:group name="relDataSourceGroup">
232
		<xs:sequence>
233
			<xs:choice minOccurs="0" maxOccurs="unbounded">
234
				<xs:element name="officialname" type="xs:string"/>
235
				<xs:element name="datasourcetypeui" type="classedSchemedElement">
236
					<xs:annotation>
237
						<xs:documentation> Type of this data source to be displayed in the OpenAire
238
							portal. <p>For allowed values check terms in:
239
								http://api.openaire.eu/vocabularies/dnet:datasource_typologies </p>
240
						</xs:documentation>
241
					</xs:annotation>
242
				</xs:element>
243
				<xs:element name="datasourcetype" type="classedSchemedElement">
244
					<xs:annotation>
245
						<xs:documentation> Type of the related data source. <p>For allowed values
246
								check codes in: http://api.openaire.eu/vocabularies/dnet:datasource_typologies </p>
247
						</xs:documentation>
248
					</xs:annotation>
249
				</xs:element>
250
				<xs:element name="openairecompatibility" type="classedSchemedElement">
251
					<xs:annotation>
252
						<xs:documentation>OpenAIRE compatibility of the data source.</xs:documentation>
253
					</xs:annotation>
254
				</xs:element>
255
			</xs:choice>
256
		</xs:sequence>
257
	</xs:group>
258

    
259
	<xs:group name="relResultGroup">
260
		<xs:sequence>
261
			<xs:choice minOccurs="0" maxOccurs="unbounded">
262
				<xs:element name="dateofacceptance" type="xs:string"/>
263
				<xs:element name="publisher" type="xs:string"/>
264
				<xs:element name="resulttype" type="classedSchemedElement">
265
					<xs:annotation>
266
						<xs:documentation> Tells if the related record is about a publication or a
267
							dataset. <p>For allowed values check:
268
								http://api.openaire.eu/vocabularies/dnet:result_typologies </p>
269
						</xs:documentation>
270
					</xs:annotation>
271
				</xs:element>
272
				<!-- the following fields are available only for similarity relations -->
273
				<xs:element name="similarity" type="xs:double">
274
					<xs:annotation>
275
						<xs:documentation>The similarity degree expressed in the range (0,1]. This
276
							field is avaiable only when the to/@class is one of
277
							{hasAmongTopNSimilarDocuments,
278
							isAmongTopNSimilarDocuments}</xs:documentation>
279
					</xs:annotation>
280
				</xs:element>
281
				<xs:element name="type">
282
					<xs:annotation>
283
						<xs:documentation>The similarity degree expressed in the range (0,1]. This
284
							field is avaiable only when the to/@class is one of
285
							{hasAmongTopNSimilarDocuments,
286
							isAmongTopNSimilarDocuments}</xs:documentation>
287
					</xs:annotation>
288
					<xs:simpleType>
289
						<xs:restriction base="xs:string">
290
							<xs:enumeration value="STANDARD"/>
291
							<xs:enumeration value="WEBUSAGE"/>
292
						</xs:restriction>
293
					</xs:simpleType>
294
				</xs:element>
295
			</xs:choice>
296
		</xs:sequence>
297
	</xs:group>
298

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

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

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

    
358

    
359

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

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

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

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

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

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

    
489

    
490
</xs:schema>
(4-4/9)