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:complexType mixed="true" name="inferenceExtendedStringType">
10
		<xs:annotation>
11
			<xs:documentation>XML elements of this type are simple strings, but in cases where their
12
				values have been inferred by Openaire inference algorithms, the elements features
13
				some attributes describing the inference algorithm. This way it is easy to
14
				understand if a value comes from the originally imported data or if it has been
15
				added later for enrichment. </xs:documentation>
16
		</xs:annotation>
17
		<xs:simpleContent>
18
			<xs:extension base="xs:string">
19
				<xs:attributeGroup ref="optionalInferenceAttrGroup"/>
20
			</xs:extension>
21
		</xs:simpleContent>
22
	</xs:complexType>
23

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

    
39
	<xs:attributeGroup name="optionalInferenceAttrGroup">
40
		<xs:attribute name="inferred" use="optional" type="xs:boolean">
41
			<xs:annotation>
42
				<xs:documentation>True if this information has been inferred by the automatic
43
					inference algorithms run by OpenAIRE. </xs:documentation>
44
			</xs:annotation>
45
		</xs:attribute>
46
		<xs:attribute name="inferenceprovenance" use="optional" type="xs:string">
47
			<xs:annotation>
48
				<xs:documentation>Which algorithm inferred the current property. </xs:documentation>
49
			</xs:annotation>
50
		</xs:attribute>
51
		<xs:attribute name="trust" use="optional" type="xs:string">
52
			<xs:annotation>
53
				<xs:documentation>Value of trust of this information in the range [0,1]. More the
54
					value, more trustworthy is the information. </xs:documentation>
55
			</xs:annotation>
56
		</xs:attribute>
57
	</xs:attributeGroup>
58

    
59
	<!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
60

    
61
	<xs:complexType mixed="true" name="classedSchemedElement">
62
		<xs:attributeGroup ref="classSchemeAttrGroup"/>
63
		<xs:attributeGroup ref="optionalInferenceAttrGroup"/>
64
	</xs:complexType>
65

    
66
	<xs:attributeGroup name="classSchemeAttrGroup">
67
		<xs:attribute name="classid" use="required" type="xs:string">
68
			<xs:annotation>
69
				<xs:documentation>Identifier of the value in classname with respect to the
70
					controlled vocabulary with id = schemeid. </xs:documentation>
71
			</xs:annotation>
72
		</xs:attribute>
73
		<xs:attribute name="classname" use="required" type="xs:string">
74
			<xs:annotation>
75
				<xs:documentation>A value from the controlled vocabulary identified by schemeid.
76
				</xs:documentation>
77
			</xs:annotation>
78
		</xs:attribute>
79
		<xs:attribute name="schemeid" use="required" type="xs:string">
80
			<xs:annotation>
81
				<xs:documentation>Identifier of the controlled vocabulary with name schemename. To
82
					see the classes included in the schema: $vocabulariesURL$/schemeid
83
				</xs:documentation>
84
			</xs:annotation>
85
		</xs:attribute>
86
		<xs:attribute name="schemename" use="required" type="xs:string">
87
			<xs:annotation>
88
				<xs:documentation>Name of the controlled vocabulary. </xs:documentation>
89
			</xs:annotation>
90
		</xs:attribute>
91
	</xs:attributeGroup>
92

    
93
	<xs:complexType mixed="true" name="optionalClassedSchemedElement">
94
		<xs:attributeGroup ref="optionalClassSchemeAttrGroup"/>
95
		<xs:attributeGroup ref="optionalInferenceAttrGroup"/>
96
	</xs:complexType>
97

    
98
	<xs:attributeGroup name="optionalClassSchemeAttrGroup">
99
		<xs:attribute name="classid" use="optional" type="xs:string">
100
			<xs:annotation>
101
				<xs:documentation>Identifier of the value in classname with respect to the
102
					controlled vocabulary with id = schemeid. </xs:documentation>
103
			</xs:annotation>
104
		</xs:attribute>
105
		<xs:attribute name="classname" use="optional" type="xs:string">
106
			<xs:annotation>
107
				<xs:documentation>A value from the controlled vocabulary identified by schemeid.
108
				</xs:documentation>
109
			</xs:annotation>
110
		</xs:attribute>
111
		<xs:attribute name="schemeid" use="optional" type="xs:string">
112
			<xs:annotation>
113
				<xs:documentation>Identifier of the controlled vocabulary with name schemename. To
114
					see the classes included in the schema: $vocabulariesURL$/schemeid
115
				</xs:documentation>
116
			</xs:annotation>
117
		</xs:attribute>
118
		<xs:attribute name="schemename" use="optional" type="xs:string">
119
			<xs:annotation>
120
				<xs:documentation>Name of the controlled vocabulary. </xs:documentation>
121
			</xs:annotation>
122
		</xs:attribute>
123
	</xs:attributeGroup>
124

    
125
	<xs:complexType name="namedIdElement">
126
		<xs:attribute name="id" use="required"/>
127
		<xs:attribute name="name" use="required"/>
128
		<xs:attributeGroup ref="optionalInferenceAttrGroup"/>
129
	</xs:complexType>
130

    
131
	<xs:complexType name="labeledIdElement">
132
		<xs:attribute name="id" use="required"/>
133
		<xs:attribute name="label" use="required"/>
134
		<xs:attributeGroup ref="optionalInferenceAttrGroup"/>
135
	</xs:complexType>
136

    
137
	<xs:complexType name="datainfoType">
138
		<xs:annotation>
139
			<xs:documentation>Information about the provenance of this record. </xs:documentation>
140
		</xs:annotation>
141
		<xs:choice maxOccurs="unbounded">
142
			<xs:element name="inferred" type="xs:boolean">
143
				<xs:annotation>
144
					<xs:documentation>True if this information has been inferred by the automatic
145
						inference algorithms run by OpenAIRE. </xs:documentation>
146
				</xs:annotation>
147
			</xs:element>
148
			<xs:element name="deletedbyinference" type="xs:boolean">
149
				<xs:annotation>
150
					<xs:documentation>True if this information has been deleted by the automatic
151
						inference algorithms run by OpenAIRE. </xs:documentation>
152
				</xs:annotation>
153
			</xs:element>
154
			<xs:element name="trust" type="xs:string">
155
				<xs:annotation>
156
					<xs:documentation>Value of trust of this information. Typically a value in the
157
						range [0,1]. Higher the value, more trustworthy is the information.
158
					</xs:documentation>
159
				</xs:annotation>
160
			</xs:element>
161
			<xs:element name="inferenceprovenance" type="xs:string">
162
				<xs:annotation>
163
					<xs:documentation>The algorithm that produced this property. </xs:documentation>
164
				</xs:annotation>
165
			</xs:element>
166
			<xs:element name="provenanceaction" type="classedSchemedElement">
167
				<xs:annotation>
168
					<xs:documentation>Describes the process/action that produced the
169
						information.</xs:documentation>
170
				</xs:annotation>
171
			</xs:element>
172
		</xs:choice>
173
	</xs:complexType>
174

    
175
	<xs:complexType name="relsType">
176
		<xs:annotation>
177
			<xs:documentation>Relationships to other entities.</xs:documentation>
178
		</xs:annotation>
179
		<xs:choice maxOccurs="unbounded" minOccurs="0">
180
			<xs:element name="rel" type="relType" minOccurs="0"/>
181
		</xs:choice>
182
	</xs:complexType>
183

    
184
	<xs:complexType name="relType">
185
		<xs:sequence>
186
			<xs:choice maxOccurs="unbounded">
187
				<xs:element name="to" type="relToType"/>
188
				<xs:element name="title" type="optionalClassedSchemedElement" />
189
				<xs:element name="websiteurl" />
190
				<xs:choice>
191
					<xs:group ref="relPersonGroup"/>
192
					<xs:group ref="relDataSourceGroup"/>
193
					<xs:group ref="relResultGroup"/>
194
					<xs:group ref="relProjectGroup"/>
195
					<xs:group ref="relOrganizationGroup"/>
196
					<xs:group ref="fundingGroup"/>
197
				</xs:choice>
198
			</xs:choice>
199
		</xs:sequence>
200
		<xs:attributeGroup ref="optionalInferenceAttrGroup"/>
201
		<xs:attribute name="provenanceaction" type="xs:string"/>
202
	</xs:complexType>
203

    
204

    
205
	<xs:group name="relPersonGroup">
206
		<xs:sequence>
207
			<xs:choice minOccurs="0" maxOccurs="unbounded">
208
				<xs:element name="ranking" type="xs:integer"/>
209
				<xs:element name="fullname" type="xs:string"/>
210
				<xs:element name="fax" type="xs:string"/>
211
				<xs:element name="email" type="xs:string"/>
212
				<xs:element name="phone" type="xs:string"/>
213
			</xs:choice>
214
		</xs:sequence>
215
	</xs:group>
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:choice>
237
		</xs:sequence>
238
	</xs:group>
239

    
240
	<xs:group name="relResultGroup">
241
		<xs:sequence>
242
			<xs:choice minOccurs="0" maxOccurs="unbounded">
243
				<xs:element name="dateofacceptance" type="xs:string"/>
244
				<xs:element name="publisher" type="xs:string"/>
245
				<xs:element name="resulttype" type="classedSchemedElement">
246
					<xs:annotation>
247
						<xs:documentation> Tells if the related record is about a publication or a
248
							dataset. <p>For allowed values check:
249
								$vocabulariesURL$/dnet:result_typologies </p>
250
						</xs:documentation>
251
					</xs:annotation>
252
				</xs:element>
253
				<!-- the following fields are available only for similarity relations -->
254
				<xs:element name="similarity" type="xs:double">
255
					<xs:annotation>
256
						<xs:documentation>The similarity degree expressed in the range (0,1]. This
257
							field is avaiable only when the to/@class is one of
258
							{hasAmongTopNSimilarDocuments,
259
							isAmongTopNSimilarDocuments}</xs:documentation>
260
					</xs:annotation>
261
				</xs:element>
262
				<xs:element name="type">
263
					<xs:annotation>
264
						<xs:documentation>The similarity degree expressed in the range (0,1]. This
265
							field is avaiable only when the to/@class is one of
266
							{hasAmongTopNSimilarDocuments,
267
							isAmongTopNSimilarDocuments}</xs:documentation>
268
					</xs:annotation>
269
					<xs:simpleType>
270
						<xs:restriction base="xs:string">
271
							<xs:enumeration value="STANDARD"/>
272
							<xs:enumeration value="WEBUSAGE"/>
273
						</xs:restriction>
274
					</xs:simpleType>
275
				</xs:element>
276
			</xs:choice>
277
		</xs:sequence>
278
	</xs:group>
279

    
280
	<xs:group name="relProjectGroup">
281
		<xs:sequence>
282
			<xs:choice minOccurs="0" maxOccurs="unbounded">
283
				<xs:element name="code" type="xs:string"/>
284
				<xs:element name="acronym" type="xs:string"/>
285
			</xs:choice>
286
		</xs:sequence>
287
	</xs:group>
288

    
289
	<xs:group name="fundingGroup">
290
		<xs:sequence>
291
			<xs:choice minOccurs="0" maxOccurs="unbounded">
292
				<xs:element name="contracttype" type="optionalClassedSchemedElement">
293
					<xs:annotation>
294
						<xs:documentation> Type of the contract. Available if the related entity is
295
							a project. <p> Allowed values depend on the actual funder of the related
296
								project. Currently supported funders and corresponding contract
297
								types are: <table>
298
									<tr>
299
										<th>Funder</th>
300
										<th>Funder id</th>
301
										<th>Contract types</th>
302
									</tr>
303
									<tr>
304
										<td>FP7</td>
305
										<td>corda_______::FP7</td>
306
										<td>$vocabulariesURL$/ec:FP7contractTypes</td>
307
									</tr>
308
									<tr>
309
										<td>Wellcome Trust</td>
310
										<td>wt::WT</td>
311
										<td>$vocabulariesURL$/wt:contractTypes</td>
312
									</tr>
313
								</table>
314
							</p>
315
						</xs:documentation>
316
					</xs:annotation>
317
				</xs:element>
318
				<xs:element name="funding" type="fundingFlatType"/>
319
			</xs:choice>
320
		</xs:sequence>
321
	</xs:group>
322

    
323
	<xs:group name="relOrganizationGroup">
324
		<xs:sequence>
325
			<xs:choice minOccurs="0" maxOccurs="unbounded">
326
				<xs:element name="legalname" type="xs:string"/>
327
				<xs:element name="legalshortname" type="xs:string"/>
328
				<xs:element name="country" type="optionalClassedSchemedElement">
329
					<xs:annotation>
330
						<xs:documentation> Countries in ISO 3166-1 alpha-2. <p>For allowed values
331
								check: $vocabulariesURL$/dnet:countries </p>
332
						</xs:documentation>
333
					</xs:annotation>
334
				</xs:element>
335
			</xs:choice>
336
		</xs:sequence>
337
	</xs:group>
338

    
339

    
340

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

    
395
	<xs:complexType name="fundingFlatType">
396
		<xs:sequence>
397
			<xs:element name="funder" type="funderFlatType" minOccurs="1" maxOccurs="1"/>
398
			<xs:element name="funding_level_0" type="namedFundingLevel" minOccurs="0"
399
				maxOccurs="unbounded"/>
400
			<xs:element name="funding_level_1" type="namedFundingLevel" minOccurs="0"
401
				maxOccurs="unbounded"/>
402
			<xs:element name="funding_level_2" type="namedFundingLevel" minOccurs="0"
403
				maxOccurs="unbounded"/>
404
		</xs:sequence>
405
	</xs:complexType>
406

    
407
	<xs:complexType name="funderFlatType">
408
		<xs:simpleContent>
409
			<xs:extension base="xs:string">
410
				<xs:attribute name="id" use="required" type="xs:string"/>
411
				<xs:attribute name="shortname" use="required" type="xs:string"/>
412
				<xs:attribute name="name" use="required" type="xs:string"/>
413
				<xs:attribute name="jurisdiction" use="optional" type="xs:string"/>
414
			</xs:extension>
415
		</xs:simpleContent>
416
	</xs:complexType>
417

    
418
	<xs:complexType name="namedFundingLevel">
419
		<xs:simpleContent>
420
			<xs:extension base="xs:string">
421
				<xs:attribute name="name" use="required" type="xs:string"/>
422
			</xs:extension>
423
		</xs:simpleContent>
424
	</xs:complexType>
425

    
426
	<xs:complexType name="externalreferenceType">
427
		<xs:sequence>
428
			<xs:element name="sitename" type="xs:string" minOccurs="0" maxOccurs="1"/>
429
			<!--<xs:element name="label" type="xs:string" minOccurs="0" maxOccurs="1"/>-->
430
			<xs:element name="url" type="xs:string" minOccurs="0" maxOccurs="1"/>
431
			<xs:element name="qualifier" type="optionalClassedSchemedElement" minOccurs="0" maxOccurs="1"/>
432
			<xs:element name="refidentifier" type="xs:string" minOccurs="0" maxOccurs="1"/>
433
		</xs:sequence>
434
		<xs:attributeGroup ref="optionalInferenceAttrGroup"/>
435
	</xs:complexType>
436

    
437
	<xs:complexType name="extraInfoType">
438
		<xs:annotation>
439
			<xs:documentation>Fields of this type can contain any well-formed XML, regardless of the
440
				actual structure. </xs:documentation>
441
		</xs:annotation>
442
		<xs:sequence>
443
			<xs:any processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
444
		</xs:sequence>
445
		<xs:attribute name="name" type="xs:string" use="required">
446
			<xs:annotation>
447
				<xs:documentation>Human readable label that explains the type of information we can
448
					find inside this element. It corresponds to the value in the "typology"
449
					attribute. </xs:documentation>
450
			</xs:annotation>
451
		</xs:attribute>
452
		<xs:attribute name="typology" type="xs:string" use="required">
453
			<xs:annotation>
454
				<xs:documentation>Type of the information we can find inside this element. The
455
					attribute "name" provides a human-readable label of this very same information.
456
				</xs:documentation>
457
			</xs:annotation>
458
		</xs:attribute>
459
		<xs:attribute name="provenance" type="xs:string"/>
460
		<xs:attribute name="trust" type="xs:string">
461
			<xs:annotation>
462
				<xs:documentation>Value of trust of this information. Typically a value in the range
463
					[0,1]. Higher the value, more trustworthy is the information.
464
				</xs:documentation>
465
			</xs:annotation>
466
		</xs:attribute>
467
	</xs:complexType>
468

    
469

    
470
</xs:schema>
(3-3/8)