SCHEMA_ISO-15926-8-p7tm-ERH.ttl
15.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
# Saved by TopBraid on Thu Aug 18 00:46:08 BST 2011
# baseURI: http://standards.iso.org/iso/ts/15926/-8/ed-1/tech/reference-data/p7tm
# imports: http://standards.iso.org/iso/ts/15926/-8/ed-1/tech/reference-data/data-model
@prefix : <http://standards.iso.org/iso/ts/15926/-8/ed-1/tech/reference-data/p7tm#> .
@prefix iso-tm: <http://standards.iso.org/iso/ts/15926/-8/ed-1/tech/reference-data/p7tm#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<http://standards.iso.org/iso/ts/15926/-8/ed-1/tech/reference-data/data-model#Class>
rdf:type owl:Class .
<http://standards.iso.org/iso/ts/15926/-8/ed-1/tech/reference-data/data-model#Thing>
rdf:type owl:Class ;
owl:disjointWith iso-tm:Template , iso-tm:TemplateRole , iso-tm:TemplateStatement .
<http://standards.iso.org/iso/ts/15926/-8/ed-1/tech/reference-data/p7tm>
rdf:type owl:Ontology ;
rdfs:comment "This ontology provides basic classes for representing ISO 15926-8 template signatures. It depends on an OWL taxonomy representation of ISO 15926-2 entity types." ;
owl:imports <http://standards.iso.org/iso/ts/15926/-8/ed-1/tech/reference-data/data-model> ;
owl:versionInfo "Created with TopBraid Composer"^^xsd:string .
iso-tm:BaseTemplate
rdf:type owl:Class ;
rdfs:comment "A base template makes no reference to entities beyond the generic types defined in ISO 15926-2." ;
rdfs:label "BaseTemplate" ;
rdfs:subClassOf iso-tm:Template ;
owl:disjointWith iso-tm:RDLTemplate .
iso-tm:BaseTemplateStatement
rdf:type owl:Class ;
rdfs:comment "The class of \"base\" template statements covers all the typical cases of statements used to carry data. It is distinguished from template meta-statements, which are used to characterize templates themselves." ;
rdfs:label "BaseTemplateStatement" ;
rdfs:subClassOf iso-tm:TemplateStatement ;
owl:disjointWith iso-tm:MetaTemplateStatement .
iso-tm:MetaTemplateStatement
rdf:type owl:Class ;
rdfs:comment """A template statement (template instance) that characterizes a template. For templates themselves, we record the number of roles. For roles, we record for each template their type constraints and positions.
Various provenance information about templates would also belong here.""" ;
rdfs:label "MetaTemplateStatement" ;
rdfs:subClassOf iso-tm:TemplateStatement .
iso-tm:RDLTemplate
rdf:type owl:Class ;
rdfs:comment """An RDL template makes reference to entities defined in at least one Reference Data Library.
Note. This does not in itself mean that the template has roles constrained to RDL classes. The reference to RDL content may be embedded in the intended use of the template; or in the expansion rule of the template, as given according to ISO 15926-7.
Note. Any RDL template should be defined as a template specialization of a base template.""" ;
rdfs:label "CoreTemplate" ;
rdfs:subClassOf iso-tm:Template .
iso-tm:RDLTemplateStatement
rdf:type owl:Class ;
rdfs:comment "An RDLtemplateStatement is an instance of an RDL template. See the definition of RDLTemplate." ;
rdfs:label "RDLTemplateStatement" ;
rdfs:subClassOf iso-tm:BaseTemplateStatement .
iso-tm:RDLcoreTemplate
rdf:type owl:Class ;
rdfs:comment "An RDLcoreTemplate is an RDL template for references to RDL content are restricted to core (highly generic, not industry specific) RDL entities." ;
rdfs:label "RDLcoreTemplate" ;
rdfs:subClassOf iso-tm:RDLTemplate ;
owl:disjointWith iso-tm:RDLindustryTemplate .
iso-tm:RDLcoreTemplateStatement
rdf:type owl:Class ;
rdfs:label "RDLcoreTemplateStatement" ;
rdfs:subClassOf iso-tm:RDLTemplateStatement .
iso-tm:RDLindustryTemplate
rdf:type owl:Class ;
rdfs:comment "An RDL industry template is an RDL template which makes some reference to industry-specific RDL entities." ;
rdfs:label "RDLindustryTemplate" ;
rdfs:subClassOf iso-tm:RDLTemplate .
iso-tm:RDLindustryTemplateStatement
rdf:type owl:Class ;
rdfs:label "RDLindustryTemplateStatement" ;
rdfs:subClassOf iso-tm:RDLTemplateStatement .
iso-tm:Template
rdf:type owl:Class ;
rdfs:comment "A Template is a predicate defined according to ISO 15926-7 template signature specification requirements. For this OWL representation, the transparent OWL 2 punning mechanism is relied upon for treating templates, which are really classes, as individuals. The individuals in this class are punned templates." ;
rdfs:label "Template" .
iso-tm:TemplateDescription
rdf:type owl:Class ;
rdfs:label "TemplateDescription" ;
rdfs:subClassOf iso-tm:MetaTemplateStatement ;
rdfs:subClassOf
[ rdf:type owl:Class ;
owl:intersectionOf ([ rdf:type owl:Restriction ;
owl:allValuesFrom xsd:positiveInteger ;
owl:onProperty iso-tm:valNumberOfRoles
] [ rdf:type owl:Restriction ;
owl:onDataRange xsd:positiveInteger ;
owl:onProperty iso-tm:valNumberOfRoles ;
owl:qualifiedCardinality
"1"^^xsd:nonNegativeInteger
])
] ;
rdfs:subClassOf
[ rdf:type owl:Class ;
owl:intersectionOf ([ rdf:type owl:Restriction ;
owl:allValuesFrom iso-tm:Template ;
owl:onProperty iso-tm:hasTemplate
] [ rdf:type owl:Restriction ;
owl:onClass iso-tm:Template ;
owl:onProperty iso-tm:hasTemplate ;
owl:qualifiedCardinality
"1"^^xsd:nonNegativeInteger
])
] .
iso-tm:TemplateRole
rdf:type owl:Class ;
rdfs:comment "A TemplateRole is a role defined according to ISO 15926-7 template signature specification requirements. For this OWL representation, the transparent OWL 2 punning mechanism is relied upon for treating template roles, which are really relations, as individuals. The individuals in this class are punned template roles." ;
rdfs:label "TemplateRole" .
iso-tm:TemplateRoleDescription
rdf:type owl:Class ;
rdfs:label "TemplateRoleDescription" ;
rdfs:subClassOf iso-tm:MetaTemplateStatement ;
rdfs:subClassOf
[ rdf:type owl:Class ;
owl:intersectionOf ([ rdf:type owl:Restriction ;
owl:allValuesFrom iso-tm:Template ;
owl:onProperty iso-tm:hasTemplate
] [ rdf:type owl:Restriction ;
owl:onClass iso-tm:Template ;
owl:onProperty iso-tm:hasTemplate ;
owl:qualifiedCardinality
"1"^^xsd:nonNegativeInteger
])
] ;
rdfs:subClassOf
[ rdf:type owl:Class ;
owl:intersectionOf ([ rdf:type owl:Restriction ;
owl:allValuesFrom xsd:integer ;
owl:onProperty iso-tm:valRoleIndex
] [ rdf:type owl:Restriction ;
owl:onDataRange xsd:integer ;
owl:onProperty iso-tm:valRoleIndex ;
owl:qualifiedCardinality
"1"^^xsd:nonNegativeInteger
])
] ;
rdfs:subClassOf
[ rdf:type owl:Class ;
owl:intersectionOf ([ rdf:type owl:Restriction ;
owl:allValuesFrom <http://standards.iso.org/iso/ts/15926/-8/ed-1/tech/reference-data/data-model#Class> ;
owl:onProperty iso-tm:hasRoleFillerType
] [ rdf:type owl:Restriction ;
owl:onClass <http://standards.iso.org/iso/ts/15926/-8/ed-1/tech/reference-data/data-model#Class> ;
owl:onProperty iso-tm:hasRoleFillerType ;
owl:qualifiedCardinality
"1"^^xsd:nonNegativeInteger
])
] ;
rdfs:subClassOf
[ rdf:type owl:Class ;
owl:intersectionOf ([ rdf:type owl:Restriction ;
owl:allValuesFrom iso-tm:TemplateRole ;
owl:onProperty iso-tm:hasRole
] [ rdf:type owl:Restriction ;
owl:onClass iso-tm:TemplateRole ;
owl:onProperty iso-tm:hasRole ;
owl:qualifiedCardinality
"1"^^xsd:nonNegativeInteger
])
] .
iso-tm:TemplateSpecialization
rdf:type owl:Class ;
rdfs:label "TemplateSpecialization" ;
rdfs:subClassOf iso-tm:MetaTemplateStatement ;
rdfs:subClassOf
[ rdf:type owl:Class ;
owl:intersectionOf ([ rdf:type owl:Restriction ;
owl:allValuesFrom iso-tm:Template ;
owl:onProperty iso-tm:hasSuperTemplate
] [ rdf:type owl:Restriction ;
owl:onClass iso-tm:Template ;
owl:onProperty iso-tm:hasSuperTemplate ;
owl:qualifiedCardinality
"1"^^xsd:nonNegativeInteger
])
] ;
rdfs:subClassOf
[ rdf:type owl:Class ;
owl:intersectionOf ([ rdf:type owl:Restriction ;
owl:allValuesFrom iso-tm:Template ;
owl:onProperty iso-tm:hasSubTemplate
] [ rdf:type owl:Restriction ;
owl:onClass iso-tm:Template ;
owl:onProperty iso-tm:hasSubTemplate ;
owl:qualifiedCardinality
"1"^^xsd:nonNegativeInteger
])
] .
iso-tm:TemplateStatement
rdf:type owl:Class ;
rdfs:comment "A template statement is an instance of a template. Example: Given a template F with signature specifying the roles R1, R2 of types, resp., T1, T2. If a and b are individuals, then F(a,b) is a template statement." ;
rdfs:label "TemplateStatement" ;
owl:equivalentClass
[ rdf:type owl:Class ;
owl:unionOf (iso-tm:BaseTemplateStatement iso-tm:MetaTemplateStatement)
] .
iso-tm:hasBaseTemplateObjectRoleFiller
rdf:type owl:ObjectProperty ;
rdfs:comment "This is a super-property for properties used in ordinary template statements, used to carry data (and not for characterizing templates themselves). A \"content\" template may not refer to templates or template roles themselves: Therefore the range of this property is dm:Thing." ;
rdfs:label "hasBaseTemplateObjectRoleFiller" ;
rdfs:range <http://standards.iso.org/iso/ts/15926/-8/ed-1/tech/reference-data/data-model#Thing> ;
rdfs:subPropertyOf iso-tm:hasObjectRoleFiller .
iso-tm:hasMetaTemplateObjectRoleFiller
rdf:type owl:ObjectProperty ;
rdfs:comment "This property is a super-property for properties used in meta-template statements, i.e., properties used to characterize templates." ;
rdfs:label "hasMetaTemplateObjectRoleFiller" ;
rdfs:subPropertyOf iso-tm:hasObjectRoleFiller .
iso-tm:hasObjectRoleFiller
rdf:type owl:ObjectProperty ;
rdfs:label "hasObjectRoleFiller" .
iso-tm:hasRole
rdf:type owl:ObjectProperty , owl:FunctionalProperty ;
rdfs:comment "Used in meta-template TemplateRoleDescription to indicate which role is being described." ;
rdfs:domain iso-tm:TemplateRoleDescription ;
rdfs:label "role" ;
rdfs:range iso-tm:TemplateRole ;
rdfs:subPropertyOf iso-tm:hasMetaTemplateObjectRoleFiller .
iso-tm:hasRoleFillerType
rdf:type owl:ObjectProperty , owl:FunctionalProperty ;
rdfs:comment "Used in meta-template TemplateRoleDescription to indicate which class any role-filler needs to belong to. That is, this property records the type constraint on individuals filling this role." ;
rdfs:domain iso-tm:TemplateRoleDescription ;
rdfs:label "type" ;
rdfs:range <http://standards.iso.org/iso/ts/15926/-8/ed-1/tech/reference-data/data-model#Class> ;
rdfs:subPropertyOf iso-tm:hasMetaTemplateObjectRoleFiller .
iso-tm:hasSubTemplate
rdf:type owl:ObjectProperty , owl:FunctionalProperty ;
rdfs:comment "Used in meta-template TemplateSpecialization to indicate which template is the sub-template in a specialization relationship. Use this property to indicate the template which is more constrained than its supertemplate." ;
rdfs:domain iso-tm:TemplateSpecialization ;
rdfs:label "hasSubTemplate" ;
rdfs:range iso-tm:Template ;
rdfs:subPropertyOf iso-tm:hasMetaTemplateObjectRoleFiller .
iso-tm:hasSuperTemplate
rdf:type owl:ObjectProperty , owl:FunctionalProperty ;
rdfs:comment "Used in meta-template TemplateSpecialization to indicate which template is the super-template in a specialization relationship. Use this property to indicate the template which is less constrained than its subtemplate." ;
rdfs:domain iso-tm:TemplateSpecialization ;
rdfs:label "hasSuperTemplate" ;
rdfs:range iso-tm:Template ;
rdfs:subPropertyOf iso-tm:hasMetaTemplateObjectRoleFiller .
iso-tm:hasTemplate
rdf:type owl:ObjectProperty , owl:FunctionalProperty ;
rdfs:comment "Used in meta-templates TemplateDescription and TemplateRoleDescription to record which template a statement applies to: which template is being described." ;
rdfs:domain
[ rdf:type owl:Class ;
owl:unionOf (iso-tm:TemplateDescription iso-tm:TemplateRoleDescription)
] ;
rdfs:label "isAboutTemplate" ;
rdfs:range iso-tm:Template ;
rdfs:subPropertyOf iso-tm:hasMetaTemplateObjectRoleFiller .
iso-tm:valBaseTemplateDataRoleFiller
rdf:type owl:DatatypeProperty ;
rdfs:label "valBaseTemplateDataRoleFiller" ;
rdfs:subPropertyOf iso-tm:valDataRoleFiller .
iso-tm:valDataRoleFiller
rdf:type owl:DatatypeProperty ;
rdfs:label "valDataRoleFiller" .
iso-tm:valMetaTemplateDataRoleFiller
rdf:type owl:DatatypeProperty ;
rdfs:label "valMetaTemplateDataRoleFiller" ;
rdfs:subPropertyOf iso-tm:valDataRoleFiller .
iso-tm:valNumberOfRoles
rdf:type owl:DatatypeProperty ;
rdfs:comment "Used in meta-template TemplateDescription to say how many roles a template is defined to have." ;
rdfs:label "numberOfRoles" ;
rdfs:range xsd:int ;
rdfs:subPropertyOf iso-tm:valMetaTemplateDataRoleFiller .
iso-tm:valRoleIndex
rdf:type owl:DatatypeProperty ;
rdfs:comment "Used in meta-template TemplateRoleDescription to record the position of a role in a template." ;
rdfs:label "positionInTemplate" ;
rdfs:range xsd:int ;
rdfs:subPropertyOf iso-tm:valMetaTemplateDataRoleFiller .
[] rdf:type owl:AllDisjointClasses ;
owl:members (iso-tm:Template iso-tm:TemplateRole iso-tm:TemplateStatement) .
[] rdf:type owl:AllDisjointClasses ;
owl:members (iso-tm:TemplateDescription iso-tm:TemplateRoleDescription iso-tm:TemplateSpecialization) .