sdml_core/stdlib/
owl.rs

1/*!
2This Rust module contains the SDML model of the SDML library module `owl` for OWL.
3*/
4
5use crate::model::{
6    annotations::{AnnotationOnlyBody, HasAnnotations},
7    modules::Module,
8    HasBody,
9};
10use std::str::FromStr;
11
12// ------------------------------------------------------------------------------------------------
13// Public Types
14// ------------------------------------------------------------------------------------------------
15
16pub const MODULE_PATH: &str = "::org::w3";
17pub const MODULE_NAME: &str = "owl";
18pub const MODULE_URL: &str = "http://www.w3.org/2002/07/owl#";
19
20pub const ALL_DIFFERENT: &str = "AllDifferent";
21pub const ALL_DISJOINT_CLASSES: &str = "AllDisjointClasses";
22pub const ALL_DISJOINT_PROPERTIES: &str = "AllDisjointProperties";
23pub const ANNOTATION: &str = "Annotation";
24pub const ANNOTATION_PROPERTY: &str = "AnnotationProperty";
25pub const ASYMMETRIC_PROPERTY: &str = "AsymmetricProperty";
26pub const AXIOM: &str = "Axiom";
27pub const CLASS: &str = "Class";
28pub const DATA_RANGE: &str = "DataRange";
29pub const DATATYPE_PROPERTY: &str = "DatatypeProperty";
30pub const DEPRECATED_CLASS: &str = "DeprecatedClass";
31pub const DEPRECATED_PROPERTY: &str = "DeprecatedProperty";
32pub const FUNCTIONAL_PROPERTY: &str = "FunctionalProperty";
33pub const INVERSE_FUNCTIONAL_PROPERTY: &str = "InverseFunctionalProperty";
34pub const IRREFLEXIVE_PROPERTY: &str = "IrreflexiveProperty";
35pub const NAMED_INDIVIDUAL: &str = "NamedIndividual";
36pub const NEGATIVE_PROPERTY_ASSERTION: &str = "NegativePropertyAssertion";
37pub const NOTHING: &str = "Nothing";
38pub const OBJECT_PROPERTY: &str = "ObjectProperty";
39pub const ONTOLOGY: &str = "Ontology";
40pub const ONTOLOGY_PROPERTY: &str = "OntologyProperty";
41pub const REFLEXIVE_PROPERTY: &str = "ReflexiveProperty";
42pub const RESTRICTION: &str = "Restriction";
43pub const SYMMETRIC_PROPERTY: &str = "SymmetricProperty";
44pub const TRANSITIVE_PROPERTY: &str = "TransitiveProperty";
45pub const THING: &str = "Thing";
46
47pub const ALL_VALUES_FROM: &str = "allValuesFrom";
48pub const ANNOTATED_PROPERTY: &str = "annotatedProperty";
49pub const ANNOTATED_SOURCE: &str = "annotatedSource";
50pub const ANNOTATED_TARGET: &str = "annotatedTarget";
51pub const ASSERTION_PROPERTY: &str = "assertionProperty";
52pub const BACKWARD_COMPATIBLE_WITH: &str = "backwardCompatibleWith";
53pub const BOTTOM_DATA_PROPERTY: &str = "bottomDataProperty";
54pub const BOTTOM_OBJECT_PROPERTY: &str = "bottomObjectProperty";
55pub const CARDINALITY: &str = "cardinality";
56pub const COMPLEMENT_OF: &str = "complementOf";
57pub const DATATYPE_COMPLEMENT_OF: &str = "datatypeComplementOf";
58pub const DEPRECATED: &str = "deprecated";
59pub const DIFFERENT_FROM: &str = "differentFrom";
60pub const DISJOINT_UNION_OF: &str = "disjointUnionOf";
61pub const DISJOINT_WITH: &str = "disjointWith";
62pub const DISTINCT_MEMBERS: &str = "distinctMembers";
63pub const EQUIVALENT_CLASS: &str = "equivalentClass";
64pub const EQUIVALENT_PROPERTY: &str = "equivalentProperty";
65pub const HAS_KEY: &str = "hasKey";
66pub const HAS_SELF: &str = "hasSelf";
67pub const HAS_VALUE: &str = "hasValue";
68pub const IMPORTS: &str = "imports";
69pub const INCOMPATIBLE_WITH: &str = "incompatibleWith";
70pub const INTERSECTION_OF: &str = "intersectionOf";
71pub const INVERSE_OF: &str = "inverseOf";
72pub const MAX_CARDINALITY: &str = "maxCardinality";
73pub const MAX_QUALIFIED_CARDINALITY: &str = "maxQualifiedCardinality";
74pub const MEMBERS: &str = "members";
75pub const MIN_CARDINALITY: &str = "minCardinality";
76pub const MIN_QUALIFIED_CARDINALITY: &str = "minQualifiedCardinality";
77pub const ON_CLASS: &str = "onClass";
78pub const PROP_ON_DATA_RANGE_NAME: &str = "onDataRange";
79pub const ON_DATATYPE: &str = "onDatatype";
80pub const ONE_OF: &str = "oneOf";
81pub const ON_PROPERTIES: &str = "onProperties";
82pub const ON_PROPERTY: &str = "onProperty";
83pub const PRIOR_VERSION: &str = "priorVersion";
84pub const PROPERTY_CHAIN_AXIOM: &str = "propertyChainAxiom";
85pub const PROPERTY_DISJOINT_WITH: &str = "propertyDisjointWith";
86pub const QUALIFIED_CARDINALITY: &str = "qualifiedCardinality";
87pub const SAME_AS: &str = "sameAs";
88pub const SOME_VALUES_FROM: &str = "someValuesFrom";
89pub const SOURCE_INDIVIDUAL: &str = "sourceIndividual";
90pub const TARGET_INDIVIDUAL: &str = "targetIndividual";
91pub const TARGET_VALUE: &str = "targetValue";
92pub const TOP_DATA_PROPERTY: &str = "topDataProperty";
93pub const TOP_OBJECT_PROPERTY: &str = "topObjectProperty";
94pub const UNION_OF: &str = "unionOf";
95pub const VERSION_INFO: &str = "versionInfo";
96pub const VERSION_IRI: &str = "versionIRI";
97pub const WITH_RESTRICTIONS: &str = "withRestrictions";
98
99pub const RATIONAL: &str = "rational";
100pub const REAL: &str = "real";
101
102// ------------------------------------------------------------------------------------------------
103// Public Functions
104// ------------------------------------------------------------------------------------------------
105
106module_function!(|| {
107    let module_uri: url::Url = url::Url::parse(MODULE_URL).unwrap();
108
109    module!(
110        id!(unchecked owl), module_uri ; call |module: Module|
111        module.with_imports([import_statement!(
112            id!(unchecked rdf),
113            id!(unchecked rdfs),
114            id!(unchecked xsd)
115        )])
116            .with_definitions([
117                // ---------------------------------------------------------------------------------
118                // Classes
119                // ---------------------------------------------------------------------------------
120                rdf!(id!(unchecked AllDifferent) ; class id!(unchecked rdfs:Resource) ;
121                    call |body: AnnotationOnlyBody|
122                    body.with_annotations([
123                        annotation!(id!(unchecked rdfs:label), rdf_str!("All Different"@en)),
124                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
125                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The class of collections of pairwise different individuals."@en)),
126                    ])).into(),
127                rdf!(id!(unchecked AllDisjointClasses) ; class id!(unchecked rdfs:Resource) ;
128                    call |body: AnnotationOnlyBody|
129                    body.with_annotations([
130                        annotation!(id!(unchecked rdfs:label), rdf_str!("All Disjoint Classes"@en)),
131                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
132                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The class of collections of pairwise disjoint classes."@en)),
133                    ])).into(),
134                rdf!(id!(unchecked AllDisjointProperties) ; class id!(unchecked rdfs:Resource) ;
135                    call |body: AnnotationOnlyBody|
136                    body.with_annotations([
137                        annotation!(id!(unchecked rdfs:label), rdf_str!("All Disjoint Properties"@en)),
138                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
139                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The class of collections of pairwise disjoint properties."@en)),
140                    ])).into(),
141                rdf!(id!(unchecked Annotation) ; class id!(unchecked rdfs:Resource) ;
142                    call |body: AnnotationOnlyBody|
143                    body.with_annotations([
144                        annotation!(id!(unchecked rdfs:label), rdf_str!("Annotation"@en)),
145                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
146                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The class of annotated annotations for which the RDF serialization consists of an annotated subject, predicate and object."@en)),
147                    ])).into(),
148                rdf!(id!(unchecked AnnotationProperty) ; class id!(unchecked rdf:Property) ;
149                    call |body: AnnotationOnlyBody|
150                    body.with_annotations([
151                        annotation!(id!(unchecked rdfs:label), rdf_str!("Annotation Property"@en)),
152                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
153                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The class of annotation properties."@en)),
154                    ])).into(),
155                rdf!(id!(unchecked AsymmetricProperty) ; class id!(unchecked ObjectProperty) ;
156                    call |body: AnnotationOnlyBody|
157                    body.with_annotations([
158                        annotation!(id!(unchecked rdfs:label), rdf_str!("Asymmetric Property"@en)),
159                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
160                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The class of asymmetric properties."@en)),
161                    ])).into(),
162                rdf!(id!(unchecked Axiom) ; class ;
163                    call |body: AnnotationOnlyBody|
164                    body.with_annotations([
165                        annotation!(id!(unchecked rdfs:label), rdf_str!("Axiom"@en)),
166                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
167                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The class of annotated axioms for which the RDF serialization consists of an annotated subject, predicate and object."@en)),
168                    ])).into(),
169                rdf!(id!(unchecked Class) ; class id!(unchecked rdfs:Class) ;
170                    call |body: AnnotationOnlyBody|
171                    body.with_annotations([
172                        annotation!(id!(unchecked rdfs:label), rdf_str!("Class"@en)),
173                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
174                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The class of OWL classes."@en)),
175                    ])).into(),
176                rdf!(id!(unchecked DataRange) ; class id!(unchecked rdfs:Datatype) ;
177                    call |body: AnnotationOnlyBody|
178                    body.with_annotations([
179                        annotation!(id!(unchecked rdfs:label), rdf_str!("Data Range"@en)),
180                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
181                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The class of OWL data ranges, which are special kinds of datatypes. Note: The use of the IRI owl:DataRange has been deprecated as of OWL 2. The IRI rdfs:Datatype SHOULD be used instead."@en)),
182                    ])).into(),
183                rdf!(id!(unchecked DatatypeProperty) ; class id!(unchecked rdf:Property) ;
184                    call |body: AnnotationOnlyBody|
185                    body.with_annotations([
186                        annotation!(id!(unchecked rdfs:label), rdf_str!("Datatype Property"@en)),
187                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
188                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The class of data properties."@en)),
189                    ])).into(),
190                rdf!(id!(unchecked DeprecatedClass) ; class id!(unchecked rdfs:Class) ;
191                    call |body: AnnotationOnlyBody|
192                    body.with_annotations([
193                        annotation!(id!(unchecked rdfs:label), rdf_str!("Deprecated Class"@en)),
194                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
195                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The class of deprecated classes."@en)),
196                    ])).into(),
197                rdf!(id!(unchecked DeprecatedProperty) ; class id!(unchecked rdf:Property) ;
198                    call |body: AnnotationOnlyBody|
199                    body.with_annotations([
200                        annotation!(id!(unchecked rdfs:label), rdf_str!("Deprecated Property"@en)),
201                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
202                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The class of deprecated properties."@en)),
203                    ])).into(),
204                rdf!(id!(unchecked FunctionalProperty) ; class id!(unchecked rdf:Property) ;
205                    call |body: AnnotationOnlyBody|
206                    body.with_annotations([
207                        annotation!(id!(unchecked rdfs:label), rdf_str!("Functional Property"@en)),
208                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
209                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The class of functional properties."@en)),
210                    ])).into(),
211                rdf!(id!(unchecked InverseFunctionalProperty) ; class id!(unchecked rdf:Property) ;
212                    call |body: AnnotationOnlyBody|
213                    body.with_annotations([
214                        annotation!(id!(unchecked rdfs:label), rdf_str!("Inverse Functional Property"@en)),
215                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
216                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The class of inverse-functional properties."@en)),
217                    ])).into(),
218                rdf!(id!(unchecked IrreflexiveFunctionalProperty) ; class id!(unchecked rdf:Property) ;
219                    call |body: AnnotationOnlyBody|
220                    body.with_annotations([
221                        annotation!(id!(unchecked rdfs:label), rdf_str!("Irreflexive Functional Property"@en)),
222                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
223                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The class of Irreflexive properties."@en)),
224                    ])).into(),
225                rdf!(id!(unchecked NamedIndividual) ; class id!(unchecked owl:Thing) ;
226                    call |body: AnnotationOnlyBody|
227                    body.with_annotations([
228                        annotation!(id!(unchecked rdfs:label), rdf_str!("Named Individual"@en)),
229                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
230                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The class of named individuals."@en)),
231                    ])).into(),
232                rdf!(id!(unchecked NegativePropertyAssertion) ; class id!(unchecked rdfs:Resource) ;
233                    call |body: AnnotationOnlyBody|
234                    body.with_annotations([
235                        annotation!(id!(unchecked rdfs:label), rdf_str!("Negative Property Assertion"@en)),
236                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
237                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The class of negative property assertions."@en)),
238                    ])).into(),
239                rdf!(id!(unchecked NegativePropertyAssertion) ; class id!(unchecked rdfs:Resource) ;
240                    call |body: AnnotationOnlyBody|
241                    body.with_annotations([
242                        annotation!(id!(unchecked rdfs:label), rdf_str!("Negative Property Assertion"@en)),
243                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
244                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The class of negative property assertions."@en)),
245                    ])).into(),
246                rdf!(id!(unchecked Nothing) ; class id!(unchecked owl:Thing) ;
247                    call |body: AnnotationOnlyBody|
248                    body.with_annotations([
249                        annotation!(id!(unchecked rdfs:label), rdf_str!("Nothing"@en)),
250                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
251                        annotation!(id!(unchecked rdfs:comment), rdf_str!("This is the empty class."@en)),
252                    ])).into(),
253                rdf!(id!(unchecked ObjectProperty) ; class id!(unchecked rdf:Property) ;
254                    call |body: AnnotationOnlyBody|
255                    body.with_annotations([
256                        annotation!(id!(unchecked rdfs:label), rdf_str!("Object Property"@en)),
257                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
258                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The class of object properties."@en)),
259                    ])).into(),
260                rdf!(id!(unchecked Ontology) ; class id!(unchecked rdfs:Resource) ;
261                    call |body: AnnotationOnlyBody|
262                    body.with_annotations([
263                        annotation!(id!(unchecked rdfs:label), rdf_str!("Ontology"@en)),
264                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
265                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The class of ontologies."@en)),
266                    ])).into(),
267                rdf!(id!(unchecked OntologyProperty) ; class id!(unchecked rdf:Property) ;
268                    call |body: AnnotationOnlyBody|
269                    body.with_annotations([
270                        annotation!(id!(unchecked rdfs:label), rdf_str!("Ontology Property"@en)),
271                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
272                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The class of ontology properties."@en)),
273                    ])).into(),
274                rdf!(id!(unchecked Restriction) ; class id!(unchecked Class) ;
275                    call |body: AnnotationOnlyBody|
276                    body.with_annotations([
277                        annotation!(id!(unchecked rdfs:label), rdf_str!("Restriction"@en)),
278                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
279                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The class of property restrictions."@en)),
280                    ])).into(),
281                rdf!(id!(unchecked SymmetricProperty) ; class id!(unchecked ObjectProperty) ;
282                    call |body: AnnotationOnlyBody|
283                    body.with_annotations([
284                        annotation!(id!(unchecked rdfs:label), rdf_str!("Symmetric Property"@en)),
285                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
286                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The class of symmetric properties."@en)),
287                    ])).into(),
288                rdf!(id!(unchecked TransitiveProperty) ; class id!(unchecked ObjectProperty) ;
289                    call |body: AnnotationOnlyBody|
290                    body.with_annotations([
291                        annotation!(id!(unchecked rdfs:label), rdf_str!("Transitive Property"@en)),
292                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
293                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The class of transitive properties."@en)),
294                    ])).into(),
295                rdf!(id!(unchecked Thing) ; class ;
296                    call |body: AnnotationOnlyBody|
297                    body.with_annotations([
298                        annotation!(id!(unchecked rdfs:label), rdf_str!("Thing"@en)),
299                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
300                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The class of OWL individuals."@en)),
301                    ])).into(),
302                rdf!(id!(unchecked allValuesFrom) ; property ;
303                    call |body: AnnotationOnlyBody|
304                    body.with_annotations([
305                        annotation!(id!(unchecked rdfs:domain), id!(unchecked Restriction)),
306                        annotation!(id!(unchecked rdfs:range), id!(unchecked rdfs:Class)),
307                        annotation!(id!(unchecked rdfs:label), rdf_str!("All Values From"@en)),
308                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
309                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The property that determines the class that a universal property restriction refers to."@en)),
310                    ])).into(),
311                rdf!(id!(unchecked annotatedProperty) ; property ;
312                    call |body: AnnotationOnlyBody|
313                    body.with_annotations([
314                        annotation!(id!(unchecked rdfs:domain), id!(unchecked rdfs:Resource)),
315                        annotation!(id!(unchecked rdfs:range), id!(unchecked rdfs:Resource)),
316                        annotation!(id!(unchecked rdfs:label), rdf_str!("Annotated Property"@en)),
317                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
318                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The property that determines the predicate of an annotated axiom or annotated annotation."@en)),
319                    ])).into(),
320                rdf!(id!(unchecked annotatedSource) ; property ;
321                    call |body: AnnotationOnlyBody|
322                    body.with_annotations([
323                        annotation!(id!(unchecked rdfs:domain), id!(unchecked rdfs:Resource)),
324                        annotation!(id!(unchecked rdfs:range), id!(unchecked rdfs:Resource)),
325                        annotation!(id!(unchecked rdfs:label), rdf_str!("Annotated Source"@en)),
326                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
327                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The property that determines the subject of an annotated axiom or annotated annotation."@en)),
328                    ])).into(),
329                rdf!(id!(unchecked annotatedTarget) ; property ;
330                    call |body: AnnotationOnlyBody|
331                    body.with_annotations([
332                        annotation!(id!(unchecked rdfs:domain), id!(unchecked rdfs:Resource)),
333                        annotation!(id!(unchecked rdfs:range), id!(unchecked rdfs:Resource)),
334                        annotation!(id!(unchecked rdfs:label), rdf_str!("Annotated Target"@en)),
335                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
336                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The property that determines the object of an annotated axiom or annotated annotation."@en)),
337                    ])).into(),
338                rdf!(id!(unchecked assertionProperty) ; property ;
339                    call |body: AnnotationOnlyBody|
340                    body.with_annotations([
341                        annotation!(id!(unchecked rdfs:domain), id!(unchecked NegativePropertyAssertion)),
342                        annotation!(id!(unchecked rdfs:range), id!(unchecked rdf:Property)),
343                        annotation!(id!(unchecked rdfs:label), rdf_str!("Assertion Property"@en)),
344                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
345                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The property that determines the predicate of a negative property assertion."@en)),
346                    ])).into(),
347                rdf!(id!(unchecked backwardCompatibleWith) ; property ;
348                    call |body: AnnotationOnlyBody|
349                    body.with_annotations([
350                        annotation!(id!(unchecked rdf:type), id!(unchecked AnnotationProperty)),
351                        annotation!(id!(unchecked rdf:type), id!(unchecked OntologyProperty)),
352                        annotation!(id!(unchecked rdfs:domain), id!(unchecked Ontology)),
353                        annotation!(id!(unchecked rdfs:range), id!(unchecked Ontology)),
354                        annotation!(id!(unchecked rdfs:label), rdf_str!("Backward Compatible With"@en)),
355                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
356                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The annotation property that indicates that a given ontology is backward compatible with another ontology."@en)),
357                    ])).into(),
358                rdf!(id!(unchecked bottomDataProperty) ; property ;
359                    call |body: AnnotationOnlyBody|
360                    body.with_annotations([
361                        annotation!(id!(unchecked rdf:type), id!(unchecked DatatypeProperty)),
362                        annotation!(id!(unchecked rdfs:domain), id!(unchecked Thing)),
363                        annotation!(id!(unchecked rdfs:range), id!(unchecked rdfs:Literal)),
364                        annotation!(id!(unchecked rdfs:label), rdf_str!("Bottom Data Property"@en)),
365                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
366                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The data property that does not relate any individual to any data value."@en)),
367                    ])).into(),
368                rdf!(id!(unchecked bottomObjectProperty) ; property ;
369                    call |body: AnnotationOnlyBody|
370                    body.with_annotations([
371                        annotation!(id!(unchecked rdf:type), id!(unchecked ObjectProperty)),
372                        annotation!(id!(unchecked rdfs:domain), id!(unchecked Thing)),
373                        annotation!(id!(unchecked rdfs:range), id!(unchecked Thing)),
374                        annotation!(id!(unchecked rdfs:label), rdf_str!("Bottom Object Property"@en)),
375                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
376                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The object property that does not relate any two individuals."@en)),
377                    ])).into(),
378                rdf!(id!(unchecked cardinality) ; property ;
379                    call |body: AnnotationOnlyBody|
380                    body.with_annotations([
381                        annotation!(id!(unchecked rdfs:domain), id!(unchecked Restriction)),
382                        annotation!(id!(unchecked rdfs:range), id!(unchecked xsd:nonNegativeInteger)),
383                        annotation!(id!(unchecked rdfs:label), rdf_str!("Cardinality"@en)),
384                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
385                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The property that determines the cardinality of an exact cardinality restriction."@en)),
386                    ])).into(),
387                rdf!(id!(unchecked complementOf) ; property ;
388                    call |body: AnnotationOnlyBody|
389                    body.with_annotations([
390                        annotation!(id!(unchecked rdfs:domain), id!(unchecked Class)),
391                        annotation!(id!(unchecked rdfs:range), id!(unchecked Class)),
392                        annotation!(id!(unchecked rdfs:label), rdf_str!("Complement Of"@en)),
393                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
394                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The property that determines that a given class is the complement of another class."@en)),
395                    ])).into(),
396                rdf!(id!(unchecked datatypeComplementOf) ; property ;
397                    call |body: AnnotationOnlyBody|
398                    body.with_annotations([
399                        annotation!(id!(unchecked rdfs:domain), id!(unchecked rdfs:Datatype)),
400                        annotation!(id!(unchecked rdfs:range), id!(unchecked rdfs:Datatype)),
401                        annotation!(id!(unchecked rdfs:label), rdf_str!("Datatype Complement Of"@en)),
402                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
403                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The property that determines that a given data range is the complement of another data range with respect to the data domain."@en)),
404                    ])).into(),
405                rdf!(id!(unchecked deprecated) ; property ;
406                    call |body: AnnotationOnlyBody|
407                    body.with_annotations([
408                        annotation!(id!(unchecked rdfs:domain), id!(unchecked rdfs:Resource)),
409                        annotation!(id!(unchecked rdfs:range), id!(unchecked rdfs:Resource)),
410                        annotation!(id!(unchecked rdfs:label), rdf_str!("Deprecated"@en)),
411                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
412                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The annotation property that indicates that a given entity has been deprecated."@en)),
413                    ])).into(),
414                rdf!(id!(unchecked differentFrom) ; property ;
415                    call |body: AnnotationOnlyBody|
416                    body.with_annotations([
417                        annotation!(id!(unchecked rdfs:domain), id!(unchecked Thing)),
418                        annotation!(id!(unchecked rdfs:range), id!(unchecked Thing)),
419                        annotation!(id!(unchecked rdfs:label), rdf_str!("Different From"@en)),
420                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
421                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The property that determines that two given individuals are different."@en)),
422                    ])).into(),
423                rdf!(id!(unchecked disjointUnionOf) ; property ;
424                    call |body: AnnotationOnlyBody|
425                    body.with_annotations([
426                        annotation!(id!(unchecked rdfs:domain), id!(unchecked Class)),
427                        annotation!(id!(unchecked rdfs:range), id!(unchecked rdf:List)),
428                        annotation!(id!(unchecked rdfs:label), rdf_str!("Disjoint Union Of"@en)),
429                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
430                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The property that determines that a given class is equivalent to the disjoint union of a collection of other classes."@en)),
431                    ])).into(),
432                rdf!(id!(unchecked disjointWith) ; property ;
433                    call |body: AnnotationOnlyBody|
434                    body.with_annotations([
435                        annotation!(id!(unchecked rdfs:domain), id!(unchecked Class)),
436                        annotation!(id!(unchecked rdfs:range), id!(unchecked Class)),
437                        annotation!(id!(unchecked rdfs:label), rdf_str!("Disjoint With"@en)),
438                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
439                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The property that determines that two given classes are disjoint."@en)),
440                    ])).into(),
441                rdf!(id!(unchecked distinctMembers) ; property ;
442                    call |body: AnnotationOnlyBody|
443                    body.with_annotations([
444                        annotation!(id!(unchecked rdfs:domain), id!(unchecked AllDifferent)),
445                        annotation!(id!(unchecked rdfs:range), id!(unchecked rdf:List)),
446                        annotation!(id!(unchecked rdfs:label), rdf_str!("Distinct Members"@en)),
447                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
448                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The property that determines the collection of pairwise different individuals in a owl:AllDifferent axiom."@en)),
449                    ])).into(),
450                rdf!(id!(unchecked equivalentClass) ; property ;
451                    call |body: AnnotationOnlyBody|
452                    body.with_annotations([
453                        annotation!(id!(unchecked rdfs:domain), id!(unchecked rdfs:Class)),
454                        annotation!(id!(unchecked rdfs:range), id!(unchecked rdfs:Class)),
455                        annotation!(id!(unchecked rdfs:label), rdf_str!("Equivalent Class"@en)),
456                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
457                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The property that determines that two given classes are equivalent, and that is used to specify datatype definitions."@en)),
458                    ])).into(),
459                rdf!(id!(unchecked equivalentProperty) ; property ;
460                    call |body: AnnotationOnlyBody|
461                    body.with_annotations([
462                        annotation!(id!(unchecked rdfs:domain), id!(unchecked rdf:Property)),
463                        annotation!(id!(unchecked rdfs:range), id!(unchecked rdf:Property)),
464                        annotation!(id!(unchecked rdfs:label), rdf_str!("Equivalent Property"@en)),
465                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
466                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The property that determines that two given properties are equivalent."@en)),
467                    ])).into(),
468                rdf!(id!(unchecked hasKey) ; property ;
469                    call |body: AnnotationOnlyBody|
470                    body.with_annotations([
471                        annotation!(id!(unchecked rdfs:domain), id!(unchecked Class)),
472                        annotation!(id!(unchecked rdfs:range), id!(unchecked rdf:List)),
473                        annotation!(id!(unchecked rdfs:label), rdf_str!("Has Key"@en)),
474                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
475                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The property that determines the collection of properties that jointly build a key."@en)),
476                    ])).into(),
477                rdf!(id!(unchecked hasSelf) ; property ;
478                    call |body: AnnotationOnlyBody|
479                    body.with_annotations([
480                        annotation!(id!(unchecked rdfs:domain), id!(unchecked Restriction)),
481                        annotation!(id!(unchecked rdfs:range), id!(unchecked rdfs:Resource)),
482                        annotation!(id!(unchecked rdfs:label), rdf_str!("Has Self"@en)),
483                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
484                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The property that determines the property that a self restriction refers to."@en)),
485                    ])).into(),
486                rdf!(id!(unchecked hasValue) ; property ;
487                    call |body: AnnotationOnlyBody|
488                    body.with_annotations([
489                        annotation!(id!(unchecked rdfs:domain), id!(unchecked Restriction)),
490                        annotation!(id!(unchecked rdfs:range), id!(unchecked rdfs:Resource)),
491                        annotation!(id!(unchecked rdfs:label), rdf_str!("Has Value"@en)),
492                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
493                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The property that determines the individual that a has-value restriction refers to."@en)),
494                    ])).into(),
495                rdf!(id!(unchecked imports) ; property ;
496                    call |body: AnnotationOnlyBody|
497                    body.with_annotations([
498                        annotation!(id!(unchecked rdfs:domain), id!(unchecked Ontology)),
499                        annotation!(id!(unchecked rdfs:range), id!(unchecked Ontology)),
500                        annotation!(id!(unchecked rdfs:label), rdf_str!("Improts"@en)),
501                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
502                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The property that is used for importing other ontologies into a given ontology."@en)),
503                    ])).into(),
504                rdf!(id!(unchecked incompatibleWith) ; property ;
505                    call |body: AnnotationOnlyBody|
506                    body.with_annotations([
507                        annotation!(id!(unchecked rdf:type), id!(unchecked AnnotationProperty)),
508                        annotation!(id!(unchecked rdf:type), id!(unchecked OntologyProperty)),
509                        annotation!(id!(unchecked rdfs:domain), id!(unchecked Ontology)),
510                        annotation!(id!(unchecked rdfs:range), id!(unchecked Ontology)),
511                        annotation!(id!(unchecked rdfs:label), rdf_str!("Imports"@en)),
512                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
513                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The annotation property that indicates that a given ontology is incompatible with another ontology."@en)),
514                    ])).into(),
515                rdf!(id!(unchecked intersectionOf) ; property ;
516                    call |body: AnnotationOnlyBody|
517                    body.with_annotations([
518                        annotation!(id!(unchecked rdfs:domain), id!(unchecked rdfs:Class)),
519                        annotation!(id!(unchecked rdfs:range), id!(unchecked rdf:List)),
520                        annotation!(id!(unchecked rdfs:label), rdf_str!("Intersection Of"@en)),
521                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
522                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The property that determines the collection of classes or data ranges that build an intersection."@en)),
523                    ])).into(),
524                rdf!(id!(unchecked inverseOf) ; property ;
525                    call |body: AnnotationOnlyBody|
526                    body.with_annotations([
527                        annotation!(id!(unchecked rdfs:domain), id!(unchecked ObjectProperty)),
528                        annotation!(id!(unchecked rdfs:range), id!(unchecked ObjectProperty)),
529                        annotation!(id!(unchecked rdfs:label), rdf_str!("Inverse Of"@en)),
530                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
531                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The property that determines that two given properties are inverse."@en)),
532                    ])).into(),
533                rdf!(id!(unchecked maxCardinality) ; property ;
534                    call |body: AnnotationOnlyBody|
535                    body.with_annotations([
536                        annotation!(id!(unchecked rdfs:domain), id!(unchecked Restriction)),
537                        annotation!(id!(unchecked rdfs:range), id!(unchecked xsd:nonNegativeInteger)),
538                        annotation!(id!(unchecked rdfs:label), rdf_str!("Max Cardinality"@en)),
539                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
540                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The property that determines the cardinality of a maximum qualified cardinality restriction."@en)),
541                    ])).into(),
542                rdf!(id!(unchecked maxQualifiedCardinality) ; property ;
543                    call |body: AnnotationOnlyBody|
544                    body.with_annotations([
545                        annotation!(id!(unchecked rdfs:domain), id!(unchecked Restriction)),
546                        annotation!(id!(unchecked rdfs:range), id!(unchecked xsd:nonNegativeInteger)),
547                        annotation!(id!(unchecked rdfs:label), rdf_str!("Max Qualified Cardinality"@en)),
548                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
549                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The property that determines the cardinality of a maximum qualified cardinality restriction."@en)),
550                    ])).into(),
551                rdf!(id!(unchecked members) ; property ;
552                    call |body: AnnotationOnlyBody|
553                    body.with_annotations([
554                        annotation!(id!(unchecked rdfs:domain), id!(unchecked rdfs:Resource)),
555                        annotation!(id!(unchecked rdfs:range), id!(unchecked rdf:List)),
556                        annotation!(id!(unchecked rdfs:label), rdf_str!("Members"@en)),
557                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
558                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The property that determines the collection of members in either a owl:AllDifferent, owl:AllDisjointClasses or owl:AllDisjointProperties axiom."@en)),
559                    ])).into(),
560                rdf!(id!(unchecked minCardinality) ; property ;
561                    call |body: AnnotationOnlyBody|
562                    body.with_annotations([
563                        annotation!(id!(unchecked rdfs:domain), id!(unchecked Restriction)),
564                        annotation!(id!(unchecked rdfs:range), id!(unchecked xsd:nonNegativeInteger)),
565                        annotation!(id!(unchecked rdfs:label), rdf_str!("Min Cardinality"@en)),
566                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
567                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The property that determines the cardinality of a minimum cardinality restriction."@en)),
568                    ])).into(),
569                rdf!(id!(unchecked minQualifiedCardinality) ; property ;
570                    call |body: AnnotationOnlyBody|
571                    body.with_annotations([
572                        annotation!(id!(unchecked rdfs:domain), id!(unchecked Restriction)),
573                        annotation!(id!(unchecked rdfs:range), id!(unchecked xsd:nonNegativeInteger)),
574                        annotation!(id!(unchecked rdfs:label), rdf_str!("Min Qualified Cardinality"@en)),
575                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
576                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The property that determines the cardinality of a minimum qualified cardinality restriction."@en)),
577                    ])).into(),
578                rdf!(id!(unchecked onClass) ; property ;
579                    call |body: AnnotationOnlyBody|
580                    body.with_annotations([
581                        annotation!(id!(unchecked rdfs:domain), id!(unchecked Restriction)),
582                        annotation!(id!(unchecked rdfs:range), id!(unchecked Class)),
583                        annotation!(id!(unchecked rdfs:label), rdf_str!("On Class"@en)),
584                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
585                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The property that determines the class that a qualified object cardinality restriction refers to."@en)),
586                    ])).into(),
587                rdf!(id!(unchecked onDataRange) ; property ;
588                    call |body: AnnotationOnlyBody|
589                    body.with_annotations([
590                        annotation!(id!(unchecked rdfs:domain), id!(unchecked Restriction)),
591                        annotation!(id!(unchecked rdfs:range), id!(unchecked rdfs:Datatype)),
592                        annotation!(id!(unchecked rdfs:label), rdf_str!("On Data Range"@en)),
593                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
594                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The property that determines the data range that a qualified data cardinality restriction refers to."@en)),
595                    ])).into(),
596                rdf!(id!(unchecked oneOf) ; property ;
597                    call |body: AnnotationOnlyBody|
598                    body.with_annotations([
599                        annotation!(id!(unchecked rdfs:domain), id!(unchecked rdfs:Class)),
600                        annotation!(id!(unchecked rdfs:range), id!(unchecked rdf:List)),
601                        annotation!(id!(unchecked rdfs:label), rdf_str!("One Of"@en)),
602                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
603                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The property that determines the collection of individuals or data values that build an enumeration."@en)),
604                    ])).into(),
605                rdf!(id!(unchecked onProperties) ; property ;
606                    call |body: AnnotationOnlyBody|
607                    body.with_annotations([
608                        annotation!(id!(unchecked rdfs:domain), id!(unchecked Restriction)),
609                        annotation!(id!(unchecked rdfs:range), id!(unchecked rdf:List)),
610                        annotation!(id!(unchecked rdfs:label), rdf_str!("On Properties"@en)),
611                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
612                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The property that determines the n-tuple of properties that a property restriction on an n-ary data range refers to."@en)),
613                    ])).into(),
614                rdf!(id!(unchecked onProperty) ; property ;
615                    call |body: AnnotationOnlyBody|
616                    body.with_annotations([
617                        annotation!(id!(unchecked rdfs:domain), id!(unchecked Restriction)),
618                        annotation!(id!(unchecked rdfs:range), id!(unchecked rdf:Property)),
619                        annotation!(id!(unchecked rdfs:label), rdf_str!("On Property"@en)),
620                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
621                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The property that determines the n-tuple of properties that a property restriction on an n-ary data range refers to."@en)),
622                    ])).into(),
623                rdf!(id!(unchecked priorVersion) ; property ;
624                    call |body: AnnotationOnlyBody|
625                    body.with_annotations([
626                        annotation!(id!(unchecked rdf:type), id!(unchecked AnnotationProperty)),
627                        annotation!(id!(unchecked rdf:type), id!(unchecked OntologyProperty)),
628                        annotation!(id!(unchecked rdfs:domain), id!(unchecked Ontology)),
629                        annotation!(id!(unchecked rdfs:range), id!(unchecked Ontology)),
630                        annotation!(id!(unchecked rdfs:label), rdf_str!("Prior Version"@en)),
631                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
632                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The annotation property that indicates the predecessor ontology of a given ontology."@en)),
633                    ])).into(),
634                rdf!(id!(unchecked propertyChainAxiom) ; property ;
635                    call |body: AnnotationOnlyBody|
636                    body.with_annotations([
637                        annotation!(id!(unchecked rdfs:domain), id!(unchecked ObjectProperty)),
638                        annotation!(id!(unchecked rdfs:range), id!(unchecked rdf:List)),
639                        annotation!(id!(unchecked rdfs:label), rdf_str!("Property Chain Axiom"@en)),
640                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
641                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The property that determines the n-tuple of properties that build a sub property chain of a given property."@en)),
642                    ])).into(),
643                rdf!(id!(unchecked propertyDisjointWith) ; property ;
644                    call |body: AnnotationOnlyBody|
645                    body.with_annotations([
646                        annotation!(id!(unchecked rdfs:domain), id!(unchecked rdf:Property)),
647                        annotation!(id!(unchecked rdfs:range), id!(unchecked rdf:Property)),
648                        annotation!(id!(unchecked rdfs:label), rdf_str!("Property Disjoint With"@en)),
649                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
650                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The property that determines that two given properties are disjoint."@en)),
651                    ])).into(),
652                rdf!(id!(unchecked qualifiedCardinality) ; property ;
653                    call |body: AnnotationOnlyBody|
654                    body.with_annotations([
655                        annotation!(id!(unchecked rdfs:domain), id!(unchecked Restriction)),
656                        annotation!(id!(unchecked rdfs:range), id!(unchecked xsd:nonNegativeInteger)),
657                        annotation!(id!(unchecked rdfs:label), rdf_str!("Qualified Cardinality"@en)),
658                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
659                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The property that determines the cardinality of an exact qualified cardinality restriction."@en)),
660                    ])).into(),
661                rdf!(id!(unchecked sameAs) ; property ;
662                    call |body: AnnotationOnlyBody|
663                    body.with_annotations([
664                        annotation!(id!(unchecked rdfs:domain), id!(unchecked Thing)),
665                        annotation!(id!(unchecked rdfs:range), id!(unchecked Thing)),
666                        annotation!(id!(unchecked rdfs:label), rdf_str!("Same As"@en)),
667                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
668                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The property that determines that two given individuals are equal."@en)),
669                    ])).into(),
670                rdf!(id!(unchecked someValuesFrom) ; property ;
671                    call |body: AnnotationOnlyBody|
672                    body.with_annotations([
673                        annotation!(id!(unchecked rdfs:domain), id!(unchecked Restriction)),
674                        annotation!(id!(unchecked rdfs:range), id!(unchecked rdfs:Class)),
675                        annotation!(id!(unchecked rdfs:label), rdf_str!("Some Values From"@en)),
676                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
677                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The property that determines the class that an existential property restriction refers to."@en)),
678                    ])).into(),
679                rdf!(id!(unchecked sourceIndividual) ; property ;
680                    call |body: AnnotationOnlyBody|
681                    body.with_annotations([
682                        annotation!(id!(unchecked rdfs:domain), id!(unchecked NegativePropertyAssertion)),
683                        annotation!(id!(unchecked rdfs:range), id!(unchecked Thing)),
684                        annotation!(id!(unchecked rdfs:label), rdf_str!("Source Individual"@en)),
685                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
686                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The property that determines the subject of a negative property assertion."@en)),
687                    ])).into(),
688                rdf!(id!(unchecked targetIndividual) ; property ;
689                    call |body: AnnotationOnlyBody|
690                    body.with_annotations([
691                        annotation!(id!(unchecked rdfs:domain), id!(unchecked NegativePropertyAssertion)),
692                        annotation!(id!(unchecked rdfs:range), id!(unchecked Thing)),
693                        annotation!(id!(unchecked rdfs:label), rdf_str!("Target Individual"@en)),
694                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
695                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The property that determines the object of a negative object property assertion."@en)),
696                    ])).into(),
697                rdf!(id!(unchecked targetValue) ; property ;
698                    call |body: AnnotationOnlyBody|
699                    body.with_annotations([
700                        annotation!(id!(unchecked rdfs:domain), id!(unchecked NegativePropertyAssertion)),
701                        annotation!(id!(unchecked rdfs:range), id!(unchecked rdfs:Literal)),
702                        annotation!(id!(unchecked rdfs:label), rdf_str!("Target Value"@en)),
703                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
704                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The property that determines the value of a negative data property assertion."@en)),
705                    ])).into(),
706                rdf!(id!(unchecked topDataProperty) ; property ;
707                    call |body: AnnotationOnlyBody|
708                    body.with_annotations([
709                        annotation!(id!(unchecked rdfs:domain), id!(unchecked Thing)),
710                        annotation!(id!(unchecked rdfs:range), id!(unchecked rdfs:Literal)),
711                        annotation!(id!(unchecked rdfs:label), rdf_str!("Top Data Property"@en)),
712                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
713                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The data property that relates every individual to every data value."@en)),
714                    ])).into(),
715                rdf!(id!(unchecked topObjectProperty) ; property ;
716                    call |body: AnnotationOnlyBody|
717                    body.with_annotations([
718                        annotation!(id!(unchecked rdfs:domain), id!(unchecked Thing)),
719                        annotation!(id!(unchecked rdfs:range), id!(unchecked Thing)),
720                        annotation!(id!(unchecked rdfs:label), rdf_str!("Top Object Property"@en)),
721                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
722                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The object property that relates every two individuals."@en)),
723                    ])).into(),
724                rdf!(id!(unchecked unionOf) ; property ;
725                    call |body: AnnotationOnlyBody|
726                    body.with_annotations([
727                        annotation!(id!(unchecked rdfs:domain), id!(unchecked rdfs:Class)),
728                        annotation!(id!(unchecked rdfs:range), id!(unchecked rdf:List)),
729                        annotation!(id!(unchecked rdfs:label), rdf_str!("Union Of"@en)),
730                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
731                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The property that determines the collection of classes or data ranges that build a union."@en)),
732                    ])).into(),
733                rdf!(id!(unchecked versionInfo) ; property ;
734                    call |body: AnnotationOnlyBody|
735                    body.with_annotations([
736                        annotation!(id!(unchecked rdf:type), id!(unchecked AnnotationProperty)),
737                        annotation!(id!(unchecked rdfs:domain), id!(unchecked rdfs:Resource)),
738                        annotation!(id!(unchecked rdfs:range), id!(unchecked rdfs:Resource)),
739                        annotation!(id!(unchecked rdfs:label), rdf_str!("Version Info"@en)),
740                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
741                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The annotation property that provides version information for an ontology or another OWL construct."@en)),
742                    ])).into(),
743                rdf!(id!(unchecked versionIRI) ; property ;
744                    call |body: AnnotationOnlyBody|
745                    body.with_annotations([
746                        annotation!(id!(unchecked rdf:type), id!(unchecked OntologyProperty)),
747                        annotation!(id!(unchecked rdfs:domain), id!(unchecked Ontology)),
748                        annotation!(id!(unchecked rdfs:range), id!(unchecked Ontology)),
749                        annotation!(id!(unchecked rdfs:label), rdf_str!("Version IRI"@en)),
750                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
751                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The property that identifies the version IRI of an ontology."@en)),
752                    ])).into(),
753                rdf!(id!(unchecked withRestrictions) ; property ;
754                    call |body: AnnotationOnlyBody|
755                    body.with_annotations([
756                        annotation!(id!(unchecked rdfs:domain), id!(unchecked rdfs:Datatype)),
757                        annotation!(id!(unchecked rdfs:range), id!(unchecked rdf:List)),
758                        annotation!(id!(unchecked rdfs:label), rdf_str!("With Restrictions"@en)),
759                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked owl)),
760                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The property that determines the collection of facet-value pairs that define a datatype restriction."@en)),
761                    ])).into(),
762             ])
763    )
764});