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:choice>
251
		</xs:sequence>
252
	</xs:group>
253

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

    
294
	<xs:group name="relProjectGroup">
295
		<xs:sequence>
296
			<xs:choice minOccurs="0" maxOccurs="unbounded">
297
				<xs:element name="code" type="xs:string"/>
298
				<xs:element name="acronym" type="xs:string"/>
299
			</xs:choice>
300
		</xs:sequence>
301
	</xs:group>
302

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

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

    
353

    
354

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

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

    
421
	<xs:complexType name="funderFlatType">
422
		<xs:simpleContent>
423
			<xs:extension base="xs:string">
424
				<xs:attribute name="id" use="required" type="xs:string"/>
425
				<xs:attribute name="shortname" use="required" type="xs:string"/>
426
				<xs:attribute name="name" use="required" type="xs:string"/>
427
				<xs:attribute name="jurisdiction" use="optional" type="xs:string"/>
428
			</xs:extension>
429
		</xs:simpleContent>
430
	</xs:complexType>
431

    
432
	<xs:complexType name="namedFundingLevel">
433
		<xs:simpleContent>
434
			<xs:extension base="xs:string">
435
				<xs:attribute name="name" use="required" type="xs:string"/>
436
			</xs:extension>
437
		</xs:simpleContent>
438
	</xs:complexType>
439

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

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

    
483

    
484
</xs:schema>
(3-3/9)