summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/stex/schema/rng/owl2xml.rng
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/stex/schema/rng/owl2xml.rng')
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/owl2xml.rng809
1 files changed, 809 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/owl2xml.rng b/Master/texmf-dist/source/latex/stex/schema/rng/owl2xml.rng
new file mode 100644
index 00000000000..4510c3776fd
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/owl2xml.rng
@@ -0,0 +1,809 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ A simplified RelaxNG for OWL2 (so that we can generate OWL from sTeX
+ https://kwarc.info/repos/kwarc/repos/stex/rnc/omdoc+ltxml.rnc
+ (c) 2010 Michael Kohlhase, released under the GNU Public License (GPL)
+-->
+<grammar ns="http://www.w3.org/2002/07/owl#" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+ <define name="nonlocal-attribs">
+ <attribute>
+ <anyName>
+ <except>
+ <nsName ns=""/>
+ <nsName/>
+ </except>
+ </anyName>
+ <data type="string"/>
+ </attribute>
+ </define>
+ <start>
+ <ref name="Ontology"/>
+ </start>
+ <define name="base.attrib">
+ <element name="xml:base">
+ <data type="anyURI"/>
+ </element>
+ </define>
+ <define name="ontologyIRI.attrib">
+ <attribute name="ontologyIRI">
+ <data type="anyURI"/>
+ </attribute>
+ </define>
+ <define name="IRI.attrib">
+ <choice>
+ <attribute name="IRI"/>
+ <attribute name="abbreviatedIRI"/>
+ </choice>
+ </define>
+ <define name="datatypeIRI.attrib">
+ <attribute name="datatypeIRI"/>
+ </define>
+ <define name="name.attrib">
+ <attribute name="name"/>
+ </define>
+ <define name="facet.attrib">
+ <attribute name="facet">
+ <data type="anyURI"/>
+ </attribute>
+ </define>
+ <define name="cardinality.attrib">
+ <attribute name="cardinality">
+ <data type="integer"/>
+ </attribute>
+ </define>
+ <define name="Ontology.attribs">
+ <interleave>
+ <optional>
+ <ref name="ontologyIRI.attrib"/>
+ </optional>
+ <optional>
+ <ref name="base.attrib"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="Ontology.model">
+ <interleave>
+ <zeroOrMore>
+ <ref name="Prefix"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="Declaration"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="Import"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="Axioms"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <define name="Axioms">
+ <interleave>
+ <zeroOrMore>
+ <ref name="AnnotationAssertion"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="DatatypeDefinition"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="HasKey"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="SubClassOf"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="EquivalentClasses"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="ObjectProperties"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="DataProperties"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="DisjointClasses"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="DifferentIndividuals"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="SameIndividual"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="ObjectPropertyAssertion"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="DataPropertyAssertion"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="ClassAssertion"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="NegativeObjectPropertyAssertion"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="NegativeDataPropertyAssertion"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="NegativeClassAssertion"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <define name="Ontology">
+ <element name="Ontology">
+ <interleave>
+ <ref name="Ontology.attribs"/>
+ <ref name="Ontology.model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="Prefix">
+ <element name="Prefix">
+ <interleave>
+ <ref name="name.attrib"/>
+ <ref name="IRI.attrib"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="Import">
+ <element name="Import">
+ <data type="anyURI"/>
+ </element>
+ </define>
+ <define name="ObjectProperties">
+ <interleave>
+ <zeroOrMore>
+ <ref name="SymmetricObjectProperty"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="AsymmetricObjectProperty"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="ReflexiveObjectProperty"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="IrreflexiveObjectProperty"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="FunctionalObjectProperty"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="InverseObjectProperty"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="DisjointObjectProperties"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="InverseFunctionalObjectProperty"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="TransitiveObjectProperty"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="TransitiveObjectProperty"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="ObjectPropertyDomain"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="ObjectPropertyRange"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="InverseObjectProperties"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="SubObjectPropertyOf"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="EquivalentObjectProperties"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <define name="DataProperties">
+ <interleave>
+ <zeroOrMore>
+ <ref name="SymmetricDataProperty"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="AsymmetricDataProperty"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="ReflexiveDataProperty"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="IrreflexiveDataProperty"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="FunctionalDataProperty"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="InverseDataProperty"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="DisjointDataProperties"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="InverseFunctionalDataProperty"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="TransitiveDataProperty"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="TransitiveDataProperty"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="DataPropertyDomain"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="DataPropertyRange"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="InverseDataProperties"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="SubDataPropertyOf"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="EquivalentDataProperties"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <define name="Declaration.model">
+ <choice>
+ <ref name="Class.model"/>
+ <ref name="Data.model"/>
+ </choice>
+ </define>
+ <define name="Declaration">
+ <element name="Declaration">
+ <ref name="Declaration.model"/>
+ </element>
+ </define>
+ <define name="NamedIndividual">
+ <element name="NamedIndividual">
+ <ref name="IRI.attrib"/>
+ </element>
+ </define>
+ <define name="ClassAssertion">
+ <element name="ClassAssertion">
+ <ref name="Class.model"/>
+ <ref name="Ind.class"/>
+ </element>
+ </define>
+ <define name="NegativeClassAssertion">
+ <element name="NegativeClassAssertion">
+ <ref name="Class.model"/>
+ <ref name="Ind.class"/>
+ </element>
+ </define>
+ <define name="ObjectProperty">
+ <element name="ObjectProperty">
+ <ref name="IRI.attrib"/>
+ </element>
+ </define>
+ <define name="SymmetricObjectProperty">
+ <element name="SymmetricObjectProperty">
+ <zeroOrMore>
+ <ref name="ObjectProperty"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="AsymmetricObjectProperty">
+ <element name="AsymmetricObjectProperty">
+ <zeroOrMore>
+ <ref name="ObjectProperty"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="DisjointObjectProperties">
+ <element name="DisjointObjectProperties">
+ <zeroOrMore>
+ <ref name="ObjectProperty"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="ReflexiveObjectProperty">
+ <element name="ReflexiveObjectProperty">
+ <ref name="ObjectProperty"/>
+ </element>
+ </define>
+ <define name="IrreflexiveObjectProperty">
+ <element name="IrreflexiveObjectProperty">
+ <ref name="ObjectProperty"/>
+ </element>
+ </define>
+ <define name="FunctionalObjectProperty">
+ <element name="FunctionalObjectProperty">
+ <ref name="ObjectProperty"/>
+ </element>
+ </define>
+ <define name="InverseFunctionalObjectProperty">
+ <element name="InverseFunctionalObjectProperty">
+ <ref name="ObjectProperty"/>
+ </element>
+ </define>
+ <define name="InverseObjectProperty">
+ <element name="InverseObjectProperty">
+ <ref name="ObjectProperty"/>
+ </element>
+ </define>
+ <define name="InverseObjectProperties">
+ <element name="InverseObjectProperties">
+ <zeroOrMore>
+ <ref name="ObjectProperty"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="TransitiveObjectProperty">
+ <element name="TransitiveObjectProperty">
+ <zeroOrMore>
+ <ref name="ObjectProperty"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="EquivalentObjectProperties">
+ <element name="EquivalentObjectProperties">
+ <zeroOrMore>
+ <ref name="ObjectProperty"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="ObjectPropertyDomain">
+ <element name="ObjectPropertyDomain">
+ <ref name="ObjectProperty"/>
+ <ref name="Class"/>
+ </element>
+ </define>
+ <define name="ObjectPropertyRange">
+ <element name="ObjectPropertyRange">
+ <ref name="ObjectProperty"/>
+ <ref name="Class"/>
+ </element>
+ </define>
+ <define name="SubObjectPropertyOf">
+ <element name="SubObjectPropertyOf">
+ <choice>
+ <ref name="ObjectProperty"/>
+ <ref name="ObjectPropertyChain"/>
+ </choice>
+ <ref name="ObjectProperty"/>
+ </element>
+ </define>
+ <define name="ObjectPropertyChain">
+ <element name="ObjectPropertyChain">
+ <zeroOrMore>
+ <ref name="ObjectProperty"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="ObjectPropertyAssertion">
+ <element name="ObjectPropertyAssertion">
+ <zeroOrMore>
+ <ref name="ObjectProperty"/>
+ </zeroOrMore>
+ <ref name="Ind.class"/>
+ <ref name="Ind.class"/>
+ </element>
+ </define>
+ <define name="NegativeObjectPropertyAssertion">
+ <element name="NegativeObjectPropertyAssertion">
+ <zeroOrMore>
+ <ref name="ObjectProperty"/>
+ </zeroOrMore>
+ <ref name="Ind.class"/>
+ <ref name="Ind.class"/>
+ </element>
+ </define>
+ <define name="SymmetricDataProperty">
+ <element name="SymmetricDataProperty">
+ <zeroOrMore>
+ <ref name="DataProperty"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="AsymmetricDataProperty">
+ <element name="AsymmetricDataProperty">
+ <zeroOrMore>
+ <ref name="DataProperty"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="DisjointDataProperties">
+ <element name="DisjointDataProperties">
+ <zeroOrMore>
+ <ref name="DataProperty"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="ReflexiveDataProperty">
+ <element name="ReflexiveDataProperty">
+ <ref name="DataProperty"/>
+ </element>
+ </define>
+ <define name="IrreflexiveDataProperty">
+ <element name="IrreflexiveDataProperty">
+ <ref name="DataProperty"/>
+ </element>
+ </define>
+ <define name="FunctionalDataProperty">
+ <element name="FunctionalDataProperty">
+ <ref name="DataProperty"/>
+ </element>
+ </define>
+ <define name="InverseFunctionalDataProperty">
+ <element name="InverseFunctionalDataProperty">
+ <ref name="DataProperty"/>
+ </element>
+ </define>
+ <define name="InverseDataProperty">
+ <element name="InverseDataProperty">
+ <ref name="DataProperty"/>
+ </element>
+ </define>
+ <define name="InverseDataProperties">
+ <element name="InverseDataProperties">
+ <zeroOrMore>
+ <ref name="DataProperty"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="TransitiveDataProperty">
+ <element name="TransitiveDataProperty">
+ <zeroOrMore>
+ <ref name="DataProperty"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="EquivalentDataProperties">
+ <element name="EquivalentDataProperties">
+ <zeroOrMore>
+ <ref name="DataProperty"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="DataPropertyDomain">
+ <element name="DataPropertyDomain">
+ <ref name="DataProperty"/>
+ <ref name="Class"/>
+ </element>
+ </define>
+ <define name="DataPropertyRange">
+ <element name="DataPropertyRange">
+ <ref name="DataProperty"/>
+ <ref name="Datatype"/>
+ </element>
+ </define>
+ <define name="SubDataPropertyOf">
+ <element name="SubDataPropertyOf">
+ <choice>
+ <ref name="DataProperty"/>
+ <ref name="DataPropertyChain"/>
+ </choice>
+ <ref name="DataProperty"/>
+ </element>
+ </define>
+ <define name="DataPropertyChain">
+ <element name="DataPropertyChain">
+ <zeroOrMore>
+ <ref name="DataProperty"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="DataPropertyAssertion">
+ <element name="DataPropertyAssertion">
+ <zeroOrMore>
+ <ref name="DataProperty"/>
+ </zeroOrMore>
+ <ref name="Ind.class"/>
+ <ref name="Literal"/>
+ </element>
+ </define>
+ <define name="NegativeDataPropertyAssertion">
+ <element name="NegativeDataPropertyAssertion">
+ <zeroOrMore>
+ <ref name="DataProperty"/>
+ </zeroOrMore>
+ <ref name="Ind.class"/>
+ <ref name="Literal"/>
+ </element>
+ </define>
+ <define name="DataProperty">
+ <element name="DataProperty">
+ <ref name="IRI.attrib"/>
+ </element>
+ </define>
+ <define name="Datatype">
+ <element name="Datatype">
+ <ref name="IRI.attrib"/>
+ </element>
+ </define>
+ <define name="Class">
+ <element name="Class">
+ <ref name="IRI.attrib"/>
+ </element>
+ </define>
+ <define name="Annotation">
+ <element name="Annotation">
+ <interleave>
+ <ref name="AnnotationProperty"/>
+ <ref name="Literal"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="AnnotationAssertion">
+ <element name="AnnotationAssertion">
+ <ref name="AnnotationProperty"/>
+ <ref name="IRI"/>
+ <ref name="Literal"/>
+ </element>
+ </define>
+ <define name="AnnotationProperty">
+ <element name="AnnotationProperty">
+ <ref name="IRI.attrib"/>
+ </element>
+ </define>
+ <define name="IRI">
+ <element name="IRI">
+ <data type="anyURI"/>
+ </element>
+ </define>
+ <define name="Literal">
+ <element name="Literal">
+ <interleave>
+ <optional>
+ <ref name="datatypeIRI.attrib"/>
+ </optional>
+ <text/>
+ </interleave>
+ </element>
+ </define>
+ <define name="DatatypeDefinition.model">
+ <interleave>
+ <zeroOrMore>
+ <ref name="Datatype"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="DatatypeRestriction"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="DataComplementOf"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="DataIntersectionOf"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="DataOneOf"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <define name="DatatypeDefinition">
+ <element name="DatatypeDefinition">
+ <ref name="DatatypeDefinition.model"/>
+ </element>
+ </define>
+ <define name="DatatypeRestriction">
+ <element name="DatatypeRestriction">
+ <interleave>
+ <ref name="Datatype"/>
+ <zeroOrMore>
+ <ref name="FacetRestriction"/>
+ </zeroOrMore>
+ </interleave>
+ </element>
+ </define>
+ <define name="FacetRestriction">
+ <element name="FacetRestriction">
+ <interleave>
+ <ref name="facet.attrib"/>
+ <ref name="Literal"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="DataIntersectionOf">
+ <element name="DataIntersectionOf">
+ <zeroOrMore>
+ <ref name="Data.model"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="DataComplementOf">
+ <element name="DataComplementOf">
+ <zeroOrMore>
+ <ref name="Data.model"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="DataOneOf">
+ <element name="DataOneOf">
+ <zeroOrMore>
+ <ref name="Literal"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="DataSomeValuesFrom">
+ <element name="DataSomeValuesFrom">
+ <zeroOrMore>
+ <ref name="Data.model"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="DataAllValuesFrom">
+ <element name="DataAllValuesFrom">
+ <zeroOrMore>
+ <ref name="Data.model"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="Data.model">
+ <choice>
+ <ref name="DataProperty"/>
+ <ref name="Datatype"/>
+ <ref name="DataOneOf"/>
+ <ref name="DataSomeValuesFrom"/>
+ <ref name="DataAllValuesFrom"/>
+ <ref name="DataComplementOf"/>
+ <ref name="DatatypeRestriction"/>
+ </choice>
+ </define>
+ <define name="HasKey">
+ <element name="HasKey">
+ <ref name="Class"/>
+ <ref name="ObjectProperty"/>
+ </element>
+ </define>
+ <define name="SubClassOf">
+ <element name="SubClassOf">
+ <zeroOrMore>
+ <ref name="Annotation"/>
+ </zeroOrMore>
+ <ref name="Class.model"/>
+ <choice>
+ <ref name="Data.model"/>
+ <ref name="Class.model"/>
+ </choice>
+ </element>
+ </define>
+ <define name="EquivalentClasses">
+ <element name="EquivalentClasses">
+ <zeroOrMore>
+ <ref name="Class.model"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="ObjectIntersectionOf">
+ <element name="ObjectIntersectionOf">
+ <zeroOrMore>
+ <ref name="Class.model"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="ObjectComplementOf">
+ <element name="ObjectComplementOf">
+ <zeroOrMore>
+ <ref name="Class.model"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="ObjectSomeValuesFrom">
+ <element name="ObjectSomeValuesFrom">
+ <zeroOrMore>
+ <ref name="Class.model"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="ObjectAllValuesFrom">
+ <element name="ObjectAllValuesFrom">
+ <zeroOrMore>
+ <ref name="Class.model"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="ObjectOneOf">
+ <element name="ObjectOneOf">
+ <zeroOrMore>
+ <ref name="Class.model"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="ObjectInverseOf">
+ <element name="ObjectInverseOf">
+ <zeroOrMore>
+ <ref name="Class.model"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="ObjectMaxCardinality">
+ <element name="ObjectMaxCardinality">
+ <interleave>
+ <ref name="cardinality.attrib"/>
+ <zeroOrMore>
+ <ref name="Class.model"/>
+ </zeroOrMore>
+ </interleave>
+ </element>
+ </define>
+ <define name="ObjectMinCardinality">
+ <element name="ObjectMinCardinality">
+ <interleave>
+ <ref name="cardinality.attrib"/>
+ <zeroOrMore>
+ <ref name="Class.model"/>
+ </zeroOrMore>
+ </interleave>
+ </element>
+ </define>
+ <define name="ObjectExactCardinality">
+ <element name="ObjectExactCardinality">
+ <interleave>
+ <ref name="cardinality.attrib"/>
+ <zeroOrMore>
+ <ref name="Class.model"/>
+ </zeroOrMore>
+ </interleave>
+ </element>
+ </define>
+ <define name="ObjectHasValue">
+ <element name="ObjectHasValue">
+ <ref name="ObjectProperty"/>
+ <ref name="Ind.class"/>
+ </element>
+ </define>
+ <define name="ObjectHasSelf">
+ <element name="ObjectHasSelf">
+ <ref name="ObjectProperty"/>
+ </element>
+ </define>
+ <define name="ObjectUnionOf">
+ <element name="ObjectUnionOf">
+ <zeroOrMore>
+ <ref name="Class.model"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="Class.model">
+ <choice>
+ <ref name="Class"/>
+ <ref name="ObjectIntersectionOf"/>
+ <ref name="ObjectComplementOf"/>
+ <ref name="ObjectSomeValuesFrom"/>
+ <ref name="ObjectAllValuesFrom"/>
+ <ref name="ObjectOneOf"/>
+ <ref name="Ind.class"/>
+ <ref name="ObjectInverseOf"/>
+ <ref name="ObjectProperty"/>
+ <ref name="ObjectMaxCardinality"/>
+ <ref name="ObjectMinCardinality"/>
+ <ref name="ObjectExactCardinality"/>
+ <ref name="ObjectHasValue"/>
+ <ref name="ObjectHasSelf"/>
+ <ref name="ObjectUnionOf"/>
+ </choice>
+ </define>
+ <define name="DisjointClasses">
+ <element name="DisjointClasses">
+ <optional>
+ <ref name="Annotation"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="Class.model"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="DifferentIndividuals">
+ <element name="DifferentIndividuals">
+ <zeroOrMore>
+ <ref name="Ind.class"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="SameIndividual">
+ <element name="SameIndividual">
+ <zeroOrMore>
+ <ref name="Ind.class"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="Ind.class">
+ <ref name="NamedIndividual"/>
+ </define>
+</grammar>