Project

General

Profile

1
<?xml version="1.0" encoding="UTF-8"?>
2
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
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="controlledElementType">
76
		<xs:simpleContent>
77
			<xs:extension base="xs:string">
78
				<xs:attribute name="code" use="required" type="xs:string"/>
79
				<xs:attributeGroup ref="optionalInferenceAttrGroup"/>
80
			</xs:extension>
81
		</xs:simpleContent>
82
	</xs:complexType>
83

    
84
	<!--
85
	<xs:complexType mixed="true" name="optionalControlledElementType">
86
		<xs:attribute name="code" use="optional" type="xs:string"/>
87
		<xs:attributeGroup ref="optionalInferenceAttrGroup"/>
88
	</xs:complexType>
89
	-->
90

    
91
	<xs:complexType name="namedIdElementType">
92
		<xs:attribute name="id" use="required"/>
93
		<xs:attribute name="name" use="required"/>
94
		<xs:attributeGroup ref="optionalInferenceAttrGroup"/>
95
	</xs:complexType>
96

    
97
	<xs:complexType name="labeledIdElementType">
98
		<xs:attribute name="id" use="required"/>
99
		<xs:attribute name="label" use="required"/>
100
		<xs:attributeGroup ref="optionalInferenceAttrGroup"/>
101
	</xs:complexType>
102

    
103
	<xs:complexType name="typedElementType">
104
		<xs:simpleContent>
105
			<xs:extension base="xs:string">
106
				<xs:attribute name="type" use="required"/>
107
				<xs:attributeGroup ref="optionalInferenceAttrGroup"/>
108
			</xs:extension>
109
		</xs:simpleContent>
110
		
111
	</xs:complexType>
112

    
113

    
114
	<xs:complexType name="relsType">
115
		<xs:annotation>
116
			<xs:documentation>Relationships to other entities.</xs:documentation>
117
		</xs:annotation>
118
		<xs:choice maxOccurs="unbounded" minOccurs="0">
119
			<xs:element name="rel" type="relType" minOccurs="0"/>
120
		</xs:choice>
121
	</xs:complexType>
122

    
123
	<xs:complexType name="relType">
124
		<xs:sequence>
125
			<xs:choice maxOccurs="unbounded">
126
				<xs:element name="to" type="relToType"/>
127
				<xs:element name="title" type="xs:string"/>
128
				<xs:element name="websiteurl"/>
129
				<xs:choice>
130
					<xs:group ref="relPersonGroup"/>
131
					<xs:group ref="relDataSourceGroup"/>
132
					<xs:group ref="relResultGroup"/>
133
					<xs:group ref="relProjectGroup"/>
134
					<xs:group ref="relOrganizationGroup"/>
135
					<xs:group ref="fundingGroup"/>
136
				</xs:choice>
137
			</xs:choice>
138
		</xs:sequence>
139
		<xs:attributeGroup ref="optionalInferenceAttrGroup"/>
140
		<xs:attribute name="provenanceaction" type="xs:string"/>
141
	</xs:complexType>
142

    
143

    
144
	<xs:group name="relPersonGroup">
145
		<xs:sequence>
146
			<xs:choice minOccurs="0" maxOccurs="unbounded">
147
				<xs:element name="ranking" type="xs:integer"/>
148
				<xs:element name="fullname" type="xs:string"/>
149
				<xs:element name="fax" type="xs:string"/>
150
				<xs:element name="email" type="xs:string"/>
151
				<xs:element name="phone" type="xs:string"/>
152
			</xs:choice>
153
		</xs:sequence>
154
	</xs:group>
155

    
156
	<xs:group name="relDataSourceGroup">
157
		<xs:sequence>
158
			<xs:choice minOccurs="0" maxOccurs="unbounded">
159
				<xs:element name="officialname" type="xs:string"/>
160
				<xs:element name="datasourcetype" type="controlledElementType"/>
161
			</xs:choice>
162
		</xs:sequence>
163
	</xs:group>
164

    
165
	<xs:group name="relResultGroup">
166
		<xs:sequence>
167
			<xs:choice minOccurs="0" maxOccurs="unbounded">
168
				<xs:element name="dateofacceptance" type="xs:string"/>
169
				<xs:element name="publisher" type="xs:string"/>
170
				<xs:element name="resulttype" type="xs:string">
171
					<xs:annotation>
172
						<xs:documentation> Tells if the related record is about a publication or a
173
							dataset. </xs:documentation>
174
					</xs:annotation>
175
				</xs:element>
176
				<!-- the following fields are available only for similarity relations -->
177
				<xs:element name="similarity" type="xs:double">
178
					<xs:annotation>
179
						<xs:documentation>The similarity degree expressed in the range (0,1]. This
180
							field is avaiable only when the to/@class is one of
181
							{hasAmongTopNSimilarDocuments,
182
							isAmongTopNSimilarDocuments}</xs:documentation>
183
					</xs:annotation>
184
				</xs:element>
185
				<xs:element name="type">
186
					<xs:annotation>
187
						<xs:documentation>The similarity degree expressed in the range (0,1]. This
188
							field is avaiable only when the to/@class is one of
189
							{hasAmongTopNSimilarDocuments,
190
							isAmongTopNSimilarDocuments}</xs:documentation>
191
					</xs:annotation>
192
					<xs:simpleType>
193
						<xs:restriction base="xs:string">
194
							<xs:enumeration value="STANDARD"/>
195
							<xs:enumeration value="WEBUSAGE"/>
196
						</xs:restriction>
197
					</xs:simpleType>
198
				</xs:element>
199
			</xs:choice>
200
		</xs:sequence>
201
	</xs:group>
202

    
203
	<xs:group name="relProjectGroup">
204
		<xs:sequence>
205
			<xs:choice minOccurs="0" maxOccurs="unbounded">
206
				<xs:element name="code" type="xs:string"/>
207
				<xs:element name="acronym" type="xs:string"/>
208
			</xs:choice>
209
		</xs:sequence>
210
	</xs:group>
211

    
212
	<xs:group name="fundingGroup">
213
		<xs:sequence>
214
			<xs:choice minOccurs="0" maxOccurs="unbounded">
215
				<xs:element name="contracttype" type="controlledElementType"/>
216
				<xs:element name="funding" type="fundingFlatType"/>
217
			</xs:choice>
218
		</xs:sequence>
219
	</xs:group>
220

    
221
	<xs:group name="relOrganizationGroup">
222
		<xs:sequence>
223
			<xs:choice minOccurs="0" maxOccurs="unbounded">
224
				<xs:element name="legalname" type="xs:string"/>
225
				<xs:element name="legalshortname" type="xs:string"/>
226
				<xs:element name="country" type="controlledElementType"/>
227
			</xs:choice>
228
		</xs:sequence>
229
	</xs:group>
230

    
231

    
232
	<xs:complexType name="relToType">
233
		<xs:annotation>
234
			<xs:documentation>Information about the related entity. <p>The semantics of the
235
					relationships is expressed by the attributes class and scheme. </p>
236
				<!--  <p>See the following ontology for the available relationships: $ontologyURL$</p>-->
237
				<p>Allowed relationships are: <table>
238
						<tr><th>Entity types</th><th>Name of relationships</th><th>Inverse
239
								of</th><th>Simmetric</th></tr>
240
						<tr><td>Project --
241
								Person</td><td>hasContact</td><td>isContact</td><td>no</td></tr>
242
						<tr><td>Project --
243
								Result</td><td>produces</td><td>isProducedBy</td><td>no</td></tr>
244
						<tr><td>Project --
245
								Organization</td><td>hasParticipant</td><td>isParticipant</td><td>no</td></tr>
246
						<tr><td>Person --
247
								Project</td><td>isContact</td><td>hasContact</td><td>no</td></tr>
248
						<tr><td>Person --
249
								Result</td><td>isAuthorOf</td><td>hasAuthor</td><td>no</td></tr>
250
						<tr><td>Person --
251
							Person</td><td>isCoauthorOf</td><td>--</td><td>yes</td></tr>
252
						<tr><td>Result --
253
								Person</td><td>hasAuthor</td><td>isAuthorOf</td><td>no</td></tr>
254
						<tr><td>Result --
255
								Project</td><td>isProducedBy</td><td>produces</td><td>no</td></tr>
256
						<tr><td>Result --
257
							Result</td><td>isRelatedTo</td><td>--</td><td>yes</td></tr>
258
						<tr><td>Result --
259
								Result</td><td>hasAmongTopNSimilarDocuments</td><td>isAmongTopNSimilarDocuments</td><td>no</td></tr>
260
						<tr><td>Result --
261
								Result</td><td>isAmongTopNSimilarDocuments</td><td>hasAmongTopNSimilarDocuments</td><td>no</td></tr>
262
						<tr><td>Organization --
263
								Datasource</td><td>isProvidedBy</td><td>provides</td><td>no</td></tr>
264
						<tr><td>Organization --
265
								Project</td><td>isParticpant</td><td>hasParticipant</td><td>no</td></tr>
266
						<tr><td>Datasource --
267
								Organization</td><td>provides</td><td>isProvidedBy</td><td>no</td></tr>
268
					</table></p>
269
			</xs:documentation>
270
		</xs:annotation>
271
		<xs:simpleContent>
272
			<xs:extension base="xs:string">
273
				<xs:attribute name="class" use="required" type="xs:string"/>
274
				<xs:attribute name="type" use="required" type="xs:string">
275
					<xs:annotation>
276
						<xs:documentation>The type of the related entity. <p>Allowed values are:
277
								project, organization, datasource, result, person.</p>
278
						</xs:documentation>
279
					</xs:annotation>
280
				</xs:attribute>
281
			</xs:extension>
282
		</xs:simpleContent>
283
	</xs:complexType>
284

    
285
	<xs:complexType name="fundingFlatType">
286
		<xs:sequence>
287
			<xs:element name="funder" type="funderFlatType" minOccurs="1" maxOccurs="1"/>
288
			<xs:element name="funding_level_0" type="namedFundingLevel" minOccurs="0"
289
				maxOccurs="unbounded"/>
290
			<xs:element name="funding_level_1" type="namedFundingLevel" minOccurs="0"
291
				maxOccurs="unbounded"/>
292
			<xs:element name="funding_level_2" type="namedFundingLevel" minOccurs="0"
293
				maxOccurs="unbounded"/>
294
		</xs:sequence>
295
	</xs:complexType>
296

    
297
	<xs:complexType name="funderFlatType">
298
		<xs:simpleContent>
299
			<xs:extension base="xs:string">
300
				<xs:attribute name="id" use="required" type="xs:string"/>
301
				<xs:attribute name="shortname" use="required" type="xs:string"/>
302
				<xs:attribute name="name" use="required" type="xs:string"/>
303
				<xs:attribute name="jurisdiction" use="optional" type="xs:string"/>
304
			</xs:extension>
305
		</xs:simpleContent>
306
	</xs:complexType>
307

    
308
	<xs:complexType name="namedFundingLevel">
309
		<xs:simpleContent>
310
			<xs:extension base="xs:string">
311
				<xs:attribute name="name" use="required" type="xs:string"/>
312
			</xs:extension>
313
		</xs:simpleContent>
314
	</xs:complexType>
315

    
316
	<xs:complexType name="externalreferenceType">
317
		<xs:sequence>
318
			<xs:element name="sitename" type="xs:string" minOccurs="0" maxOccurs="1"/>
319
			<!--<xs:element name="label" type="xs:string" minOccurs="0" maxOccurs="1"/>-->
320
			<xs:element name="url" type="xs:string" minOccurs="0" maxOccurs="1"/>
321
			<xs:element name="qualifier" type="controlledElementType" minOccurs="0" maxOccurs="1"/>
322
			<xs:element name="refidentifier" type="xs:string" minOccurs="0" maxOccurs="1"/>
323
		</xs:sequence>
324
		<xs:attributeGroup ref="optionalInferenceAttrGroup"/>
325
	</xs:complexType>
326

    
327

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