summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/stex/schema/rng/owl2-xml.rng
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/stex/schema/rng/owl2-xml.rng')
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/owl2-xml.rng1321
1 files changed, 0 insertions, 1321 deletions
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/owl2-xml.rng b/Master/texmf-dist/source/latex/stex/schema/rng/owl2-xml.rng
deleted file mode 100644
index fc1cb64cd14..00000000000
--- a/Master/texmf-dist/source/latex/stex/schema/rng/owl2-xml.rng
+++ /dev/null
@@ -1,1321 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- From: http://www.w3.org/TR/rdf-sparql-query/#grammar
- The entities implement productions [95] (PN_CHARS_BASE), [96] (PN_CHARS_U), [98] (PN_CHARS), [99] (PN_PREFIX),
- [100] (PN_LOCAL), [71] (PNAME_NS), [72] (PNAME_LN) and [68] (PrefixedName)
-
- PN_PREFIX is roughly equivalent to NCName.
--->
-<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">
- <!-- The ontology -->
- <define name="Prefix.type">
- <attribute name="name">
- <data type="string">
- <param name="pattern">([A-Z]|[a-z]|[À-Ö]|[Ø-ö]|[ø-˿]|[Ͱ-ͽ]|[Ϳ-῿]|[‌-‍]|[⁰-↏]|[Ⰰ-⿯]|[、-퟿]|[豈-﷏]|[ﷰ-�]|[𐀀-󯿿])(([A-Z]|[a-z]|[À-Ö]|[Ø-ö]|[ø-˿]|[Ͱ-ͽ]|[Ϳ-῿]|[‌-‍]|[⁰-↏]|[Ⰰ-⿯]|[、-퟿]|[豈-﷏]|[ﷰ-�]|[𐀀-󯿿]|_|\-|[0-9]|·|[̀-ͯ]|[‿-⁀]|\.)*([A-Z]|[a-z]|[À-Ö]|[Ø-ö]|[ø-˿]|[Ͱ-ͽ]|[Ϳ-῿]|[‌-‍]|[⁰-↏]|[Ⰰ-⿯]|[、-퟿]|[豈-﷏]|[ﷰ-�]|[𐀀-󯿿]|_|\-|[0-9]|·|[̀-ͯ]|[‿-⁀] ))?|</param>
- </data>
- </attribute>
- <attribute name="IRI">
- <data type="anyURI"/>
- </attribute>
- </define>
- <start combine="choice">
- <ref name="Prefix"/>
- </start>
- <define name="Prefix">
- <element name="Prefix">
- <ref name="Prefix.type"/>
- </element>
- </define>
- <define name="Import.type">
- <attribute name="specialAttrs"/>
- </define>
- <start combine="choice">
- <ref name="Import"/>
- </start>
- <define name="Import">
- <element name="Import">
- <ref name="Import.type"/>
- </element>
- </define>
- <define name="Ontology.type">
- <zeroOrMore>
- <ref name="Prefix"/>
- </zeroOrMore>
- <zeroOrMore>
- <ref name="Import"/>
- </zeroOrMore>
- <ref name="ontologyAnnotations"/>
- <zeroOrMore>
- <ref name="Axiom"/>
- </zeroOrMore>
- <optional>
- <attribute name="ontologyIRI">
- <data type="anyURI"/>
- </attribute>
- </optional>
- <optional>
- <attribute name="versionIRI">
- <data type="anyURI"/>
- </attribute>
- </optional>
- <attribute name="specialAttrs"/>
- </define>
- <start combine="choice">
- <ref name="Ontology"/>
- </start>
- <define name="Ontology">
- <element name="Ontology">
- <ref name="Ontology.type"/>
- </element>
- </define>
- <!-- Entities, anonymous individuals, and literals -->
- <!--
- Note that the "Entity" group does not have a corresponding abstract type.
- This is due to the fact that XML Schema does not support multiple inheritence.
- "owl:Class" is both an entity and a class expression. The authors of this schema
- determined it was more useful to be able to retrieve "owl:Class" in such queries
- as schema(*, owl:ClassExpression).
- -->
- <define name="Entity">
- <choice>
- <ref name="Class"/>
- <ref name="Datatype"/>
- <ref name="ObjectProperty"/>
- <ref name="DataProperty"/>
- <ref name="AnnotationProperty"/>
- <ref name="NamedIndividual"/>
- </choice>
- </define>
- <!-- This is the type for the attribute. The complex type for the element is capitalized. -->
- <define name="abbreviatedIRI">
- <data type="string">
- <param name="pattern">(((([A-Z]|[a-z]|[À-Ö]|[Ø-ö]|[ø-˿]|[Ͱ-ͽ]|[Ϳ-῿]|[‌-‍]|[⁰-↏]|[Ⰰ-⿯]|[、-퟿]|[豈-﷏]|[ﷰ-�]|[𐀀-󯿿])(([A-Z]|[a-z]|[À-Ö]|[Ø-ö]|[ø-˿]|[Ͱ-ͽ]|[Ϳ-῿]|[‌-‍]|[⁰-↏]|[Ⰰ-⿯]|[、-퟿]|[豈-﷏]|[ﷰ-�]|[𐀀-󯿿]|_|\-|[0-9]|·|[̀-ͯ]|[‿-⁀]|\.)*([A-Z]|[a-z]|[À-Ö]|[Ø-ö]|[ø-˿]|[Ͱ-ͽ]|[Ϳ-῿]|[‌-‍]|[⁰-↏]|[Ⰰ-⿯]|[、-퟿]|[豈-﷏]|[ﷰ-�]|[𐀀-󯿿]|_|\-|[0-9]|·|[̀-ͯ]|[‿-⁀] ))?)?:)(([A-Z]|[a-z]|[À-Ö]|[Ø-ö]|[ø-˿]|[Ͱ-ͽ]|[Ϳ-῿]|[‌-‍]|[⁰-↏]|[Ⰰ-⿯]|[、-퟿]|[豈-﷏]|[ﷰ-�]|[𐀀-󯿿]|_|[0-9])(([A-Z]|[a-z]|[À-Ö]|[Ø-ö]|[ø-˿]|[Ͱ-ͽ]|[Ϳ-῿]|[‌-‍]|[⁰-↏]|[Ⰰ-⿯]|[、-퟿]|[豈-﷏]|[ﷰ-�]|[𐀀-󯿿]|_|\-|[0-9]|·|[̀-ͯ]|[‿-⁀]|\.)*([A-Z]|[a-z]|[À-Ö]|[Ø-ö]|[ø-˿]|[Ͱ-ͽ]|[Ϳ-῿]|[‌-‍]|[⁰-↏]|[Ⰰ-⿯]|[、-퟿]|[豈-﷏]|[ﷰ-�]|[𐀀-󯿿]|_|\-|[0-9]|·|[̀-ͯ]|[‿-⁀]))?))|((([A-Z]|[a-z]|[À-Ö]|[Ø-ö]|[ø-˿]|[Ͱ-ͽ]|[Ϳ-῿]|[‌-‍]|[⁰-↏]|[Ⰰ-⿯]|[、-퟿]|[豈-﷏]|[ﷰ-�]|[𐀀-󯿿])(([A-Z]|[a-z]|[À-Ö]|[Ø-ö]|[ø-˿]|[Ͱ-ͽ]|[Ϳ-῿]|[‌-‍]|[⁰-↏]|[Ⰰ-⿯]|[、-퟿]|[豈-﷏]|[ﷰ-�]|[𐀀-󯿿]|_|\-|[0-9]|·|[̀-ͯ]|[‿-⁀]|\.)*([A-Z]|[a-z]|[À-Ö]|[Ø-ö]|[ø-˿]|[Ͱ-ͽ]|[Ϳ-῿]|[‌-‍]|[⁰-↏]|[Ⰰ-⿯]|[、-퟿]|[豈-﷏]|[ﷰ-�]|[𐀀-󯿿]|_|\-|[0-9]|·|[̀-ͯ]|[‿-⁀] ))?)?:)</param>
- </data>
- </define>
- <define name="Class.type">
- <ref name="ClassExpression"/>
- <optional>
- <attribute name="IRI">
- <data type="anyURI"/>
- </attribute>
- </optional>
- <optional>
- <attribute name="abbreviatedIRI">
- <ref name="abbreviatedIRI"/>
- </attribute>
- </optional>
- </define>
- <start combine="choice">
- <ref name="Class"/>
- </start>
- <define name="Class">
- <element name="Class">
- <ref name="Class.type"/>
- </element>
- </define>
- <define name="Datatype.type">
- <ref name="DataRange"/>
- <optional>
- <attribute name="IRI">
- <data type="anyURI"/>
- </attribute>
- </optional>
- <optional>
- <attribute name="abbreviatedIRI">
- <ref name="abbreviatedIRI"/>
- </attribute>
- </optional>
- </define>
- <start combine="choice">
- <ref name="Datatype"/>
- </start>
- <define name="Datatype">
- <element name="Datatype">
- <ref name="Datatype.type"/>
- </element>
- </define>
- <define name="ObjectProperty.type">
- <ref name="ObjectPropertyExpression"/>
- <optional>
- <attribute name="IRI">
- <data type="anyURI"/>
- </attribute>
- </optional>
- <optional>
- <attribute name="abbreviatedIRI">
- <ref name="abbreviatedIRI"/>
- </attribute>
- </optional>
- </define>
- <start combine="choice">
- <ref name="ObjectProperty"/>
- </start>
- <define name="ObjectProperty">
- <element name="ObjectProperty">
- <ref name="ObjectProperty.type"/>
- </element>
- </define>
- <define name="DataProperty.type">
- <ref name="DataPropertyExpression"/>
- <optional>
- <attribute name="IRI">
- <data type="anyURI"/>
- </attribute>
- </optional>
- <optional>
- <attribute name="abbreviatedIRI">
- <ref name="abbreviatedIRI"/>
- </attribute>
- </optional>
- </define>
- <start combine="choice">
- <ref name="DataProperty"/>
- </start>
- <define name="DataProperty">
- <element name="DataProperty">
- <ref name="DataProperty.type"/>
- </element>
- </define>
- <define name="AnnotationProperty.type">
- <optional>
- <attribute name="IRI">
- <data type="anyURI"/>
- </attribute>
- </optional>
- <optional>
- <attribute name="abbreviatedIRI">
- <ref name="abbreviatedIRI"/>
- </attribute>
- </optional>
- <attribute name="specialAttrs"/>
- </define>
- <start combine="choice">
- <ref name="AnnotationProperty"/>
- </start>
- <define name="AnnotationProperty">
- <element name="AnnotationProperty">
- <ref name="AnnotationProperty.type"/>
- </element>
- </define>
- <define name="Individual">
- <attribute name="specialAttrs"/>
- <choice>
- <ref name="NamedIndividual"/>
- <ref name="AnonymousIndividual"/>
- </choice>
- </define>
- <define name="NamedIndividual.type">
- <ref name="Individual"/>
- <optional>
- <attribute name="IRI">
- <data type="anyURI"/>
- </attribute>
- </optional>
- <optional>
- <attribute name="abbreviatedIRI">
- <ref name="abbreviatedIRI"/>
- </attribute>
- </optional>
- </define>
- <start combine="choice">
- <ref name="NamedIndividual"/>
- </start>
- <define name="NamedIndividual">
- <element name="NamedIndividual">
- <ref name="NamedIndividual.type"/>
- </element>
- </define>
- <define name="AnonymousIndividual.type">
- <ref name="Individual"/>
- <attribute name="nodeID">
- <data type="NCName"/>
- </attribute>
- </define>
- <start combine="choice">
- <ref name="AnonymousIndividual"/>
- </start>
- <define name="AnonymousIndividual">
- <element name="AnonymousIndividual">
- <ref name="AnonymousIndividual.type"/>
- </element>
- </define>
- <define name="Literal.type">
- <attribute name="datatypeIRI">
- <data type="anyURI"/>
- </attribute>
- <attribute name="specialAttrs"/>
- </define>
- <start combine="choice">
- <ref name="Literal"/>
- </start>
- <define name="Literal">
- <element name="Literal">
- <ref name="Literal.type"/>
- </element>
- </define>
- <!-- Declarations -->
- <define name="Declaration.type">
- <ref name="Axiom"/>
- <ref name="Entity"/>
- </define>
- <start combine="choice">
- <ref name="Declaration"/>
- </start>
- <define name="Declaration">
- <element name="Declaration">
- <ref name="Declaration.type"/>
- </element>
- </define>
- <!-- Object property expressions -->
- <define name="ObjectPropertyExpression">
- <attribute name="specialAttrs"/>
- <choice>
- <ref name="ObjectProperty"/>
- <ref name="ObjectInverseOf"/>
- </choice>
- </define>
- <define name="ObjectInverseOf.type">
- <ref name="ObjectPropertyExpression"/>
- <ref name="ObjectProperty"/>
- </define>
- <start combine="choice">
- <ref name="ObjectInverseOf"/>
- </start>
- <define name="ObjectInverseOf">
- <element name="ObjectInverseOf">
- <ref name="ObjectInverseOf.type"/>
- </element>
- </define>
- <!-- Data property expressions -->
- <define name="DataPropertyExpression">
- <attribute name="specialAttrs"/>
- <ref name="DataProperty"/>
- </define>
- <!-- Data ranges -->
- <define name="DataRange">
- <attribute name="specialAttrs"/>
- <choice>
- <ref name="Datatype"/>
- <ref name="DataIntersectionOf"/>
- <ref name="DataUnionOf"/>
- <ref name="DataComplementOf"/>
- <ref name="DataOneOf"/>
- <ref name="DatatypeRestriction"/>
- </choice>
- </define>
- <define name="DataIntersectionOf.type">
- <ref name="DataRange"/>
- <oneOrMore>
- <ref name="DataRange"/>
- </oneOrMore>
- </define>
- <start combine="choice">
- <ref name="DataIntersectionOf"/>
- </start>
- <define name="DataIntersectionOf">
- <element name="DataIntersectionOf">
- <ref name="DataIntersectionOf.type"/>
- </element>
- </define>
- <define name="DataUnionOf.type">
- <ref name="DataRange"/>
- <oneOrMore>
- <ref name="DataRange"/>
- </oneOrMore>
- </define>
- <start combine="choice">
- <ref name="DataUnionOf"/>
- </start>
- <define name="DataUnionOf">
- <element name="DataUnionOf">
- <ref name="DataUnionOf.type"/>
- </element>
- </define>
- <define name="DataComplementOf.type">
- <ref name="DataRange"/>
- <ref name="DataRange"/>
- </define>
- <start combine="choice">
- <ref name="DataComplementOf"/>
- </start>
- <define name="DataComplementOf">
- <element name="DataComplementOf">
- <ref name="DataComplementOf.type"/>
- </element>
- </define>
- <define name="DataOneOf.type">
- <ref name="DataRange"/>
- <oneOrMore>
- <ref name="Literal"/>
- </oneOrMore>
- </define>
- <start combine="choice">
- <ref name="DataOneOf"/>
- </start>
- <define name="DataOneOf">
- <element name="DataOneOf">
- <ref name="DataOneOf.type"/>
- </element>
- </define>
- <define name="DatatypeRestriction.type">
- <ref name="DataRange"/>
- <ref name="Datatype"/>
- <oneOrMore>
- <element name="FacetRestriction">
- <ref name="FacetRestriction"/>
- </element>
- </oneOrMore>
- </define>
- <start combine="choice">
- <ref name="DatatypeRestriction"/>
- </start>
- <define name="DatatypeRestriction">
- <element name="DatatypeRestriction">
- <ref name="DatatypeRestriction.type"/>
- </element>
- </define>
- <define name="FacetRestriction">
- <ref name="Literal"/>
- <attribute name="facet">
- <data type="anyURI"/>
- </attribute>
- <attribute name="specialAttrs"/>
- </define>
- <!-- Class expressions -->
- <define name="ClassExpression">
- <attribute name="specialAttrs"/>
- <choice>
- <ref name="Class"/>
- <ref name="ObjectIntersectionOf"/>
- <ref name="ObjectUnionOf"/>
- <ref name="ObjectComplementOf"/>
- <ref name="ObjectOneOf"/>
- <ref name="ObjectSomeValuesFrom"/>
- <ref name="ObjectAllValuesFrom"/>
- <ref name="ObjectHasValue"/>
- <ref name="ObjectHasSelf"/>
- <ref name="ObjectMinCardinality"/>
- <ref name="ObjectMaxCardinality"/>
- <ref name="ObjectExactCardinality"/>
- <ref name="DataSomeValuesFrom"/>
- <ref name="DataAllValuesFrom"/>
- <ref name="DataHasValue"/>
- <ref name="DataMinCardinality"/>
- <ref name="DataMaxCardinality"/>
- <ref name="DataExactCardinality"/>
- </choice>
- </define>
- <define name="ObjectIntersectionOf.type">
- <ref name="ClassExpression"/>
- <oneOrMore>
- <ref name="ClassExpression"/>
- </oneOrMore>
- </define>
- <start combine="choice">
- <ref name="ObjectIntersectionOf"/>
- </start>
- <define name="ObjectIntersectionOf">
- <element name="ObjectIntersectionOf">
- <ref name="ObjectIntersectionOf.type"/>
- </element>
- </define>
- <define name="ObjectUnionOf.type">
- <ref name="ClassExpression"/>
- <oneOrMore>
- <ref name="ClassExpression"/>
- </oneOrMore>
- </define>
- <start combine="choice">
- <ref name="ObjectUnionOf"/>
- </start>
- <define name="ObjectUnionOf">
- <element name="ObjectUnionOf">
- <ref name="ObjectUnionOf.type"/>
- </element>
- </define>
- <define name="ObjectComplementOf.type">
- <ref name="ClassExpression"/>
- <ref name="ClassExpression"/>
- </define>
- <start combine="choice">
- <ref name="ObjectComplementOf"/>
- </start>
- <define name="ObjectComplementOf">
- <element name="ObjectComplementOf">
- <ref name="ObjectComplementOf.type"/>
- </element>
- </define>
- <define name="ObjectOneOf.type">
- <ref name="ClassExpression"/>
- <oneOrMore>
- <ref name="Individual"/>
- </oneOrMore>
- </define>
- <start combine="choice">
- <ref name="ObjectOneOf"/>
- </start>
- <define name="ObjectOneOf">
- <element name="ObjectOneOf">
- <ref name="ObjectOneOf.type"/>
- </element>
- </define>
- <define name="ObjectSomeValuesFrom.type">
- <ref name="ClassExpression"/>
- <ref name="ObjectPropertyExpression"/>
- <ref name="ClassExpression"/>
- </define>
- <start combine="choice">
- <ref name="ObjectSomeValuesFrom"/>
- </start>
- <define name="ObjectSomeValuesFrom">
- <element name="ObjectSomeValuesFrom">
- <ref name="ObjectSomeValuesFrom.type"/>
- </element>
- </define>
- <define name="ObjectAllValuesFrom.type">
- <ref name="ClassExpression"/>
- <ref name="ObjectPropertyExpression"/>
- <ref name="ClassExpression"/>
- </define>
- <start combine="choice">
- <ref name="ObjectAllValuesFrom"/>
- </start>
- <define name="ObjectAllValuesFrom">
- <element name="ObjectAllValuesFrom">
- <ref name="ObjectAllValuesFrom.type"/>
- </element>
- </define>
- <define name="ObjectHasValue.type">
- <ref name="ClassExpression"/>
- <ref name="ObjectPropertyExpression"/>
- <ref name="Individual"/>
- </define>
- <start combine="choice">
- <ref name="ObjectHasValue"/>
- </start>
- <define name="ObjectHasValue">
- <element name="ObjectHasValue">
- <ref name="ObjectHasValue.type"/>
- </element>
- </define>
- <define name="ObjectHasSelf.type">
- <ref name="ClassExpression"/>
- <ref name="ObjectPropertyExpression"/>
- </define>
- <start combine="choice">
- <ref name="ObjectHasSelf"/>
- </start>
- <define name="ObjectHasSelf">
- <element name="ObjectHasSelf">
- <ref name="ObjectHasSelf.type"/>
- </element>
- </define>
- <define name="ObjectMinCardinality.type">
- <ref name="ClassExpression"/>
- <ref name="ObjectPropertyExpression"/>
- <optional>
- <ref name="ClassExpression"/>
- </optional>
- <attribute name="cardinality">
- <data type="nonNegativeInteger"/>
- </attribute>
- </define>
- <start combine="choice">
- <ref name="ObjectMinCardinality"/>
- </start>
- <define name="ObjectMinCardinality">
- <element name="ObjectMinCardinality">
- <ref name="ObjectMinCardinality.type"/>
- </element>
- </define>
- <define name="ObjectMaxCardinality.type">
- <ref name="ClassExpression"/>
- <ref name="ObjectPropertyExpression"/>
- <optional>
- <ref name="ClassExpression"/>
- </optional>
- <attribute name="cardinality">
- <data type="nonNegativeInteger"/>
- </attribute>
- </define>
- <start combine="choice">
- <ref name="ObjectMaxCardinality"/>
- </start>
- <define name="ObjectMaxCardinality">
- <element name="ObjectMaxCardinality">
- <ref name="ObjectMaxCardinality.type"/>
- </element>
- </define>
- <define name="ObjectExactCardinality.type">
- <ref name="ClassExpression"/>
- <ref name="ObjectPropertyExpression"/>
- <optional>
- <ref name="ClassExpression"/>
- </optional>
- <attribute name="cardinality">
- <data type="nonNegativeInteger"/>
- </attribute>
- </define>
- <start combine="choice">
- <ref name="ObjectExactCardinality"/>
- </start>
- <define name="ObjectExactCardinality">
- <element name="ObjectExactCardinality">
- <ref name="ObjectExactCardinality.type"/>
- </element>
- </define>
- <define name="DataSomeValuesFrom.type">
- <ref name="ClassExpression"/>
- <oneOrMore>
- <ref name="DataPropertyExpression"/>
- </oneOrMore>
- <ref name="DataRange"/>
- </define>
- <start combine="choice">
- <ref name="DataSomeValuesFrom"/>
- </start>
- <define name="DataSomeValuesFrom">
- <element name="DataSomeValuesFrom">
- <ref name="DataSomeValuesFrom.type"/>
- </element>
- </define>
- <define name="DataAllValuesFrom.type">
- <ref name="ClassExpression"/>
- <oneOrMore>
- <ref name="DataPropertyExpression"/>
- </oneOrMore>
- <ref name="DataRange"/>
- </define>
- <start combine="choice">
- <ref name="DataAllValuesFrom"/>
- </start>
- <define name="DataAllValuesFrom">
- <element name="DataAllValuesFrom">
- <ref name="DataAllValuesFrom.type"/>
- </element>
- </define>
- <define name="DataHasValue.type">
- <ref name="ClassExpression"/>
- <ref name="DataPropertyExpression"/>
- <ref name="Literal"/>
- </define>
- <start combine="choice">
- <ref name="DataHasValue"/>
- </start>
- <define name="DataHasValue">
- <element name="DataHasValue">
- <ref name="DataHasValue.type"/>
- </element>
- </define>
- <define name="DataMinCardinality.type">
- <ref name="ClassExpression"/>
- <ref name="DataPropertyExpression"/>
- <optional>
- <ref name="DataRange"/>
- </optional>
- <attribute name="cardinality">
- <data type="nonNegativeInteger"/>
- </attribute>
- </define>
- <start combine="choice">
- <ref name="DataMinCardinality"/>
- </start>
- <define name="DataMinCardinality">
- <element name="DataMinCardinality">
- <ref name="DataMinCardinality.type"/>
- </element>
- </define>
- <define name="DataMaxCardinality.type">
- <ref name="ClassExpression"/>
- <ref name="DataPropertyExpression"/>
- <optional>
- <ref name="DataRange"/>
- </optional>
- <attribute name="cardinality">
- <data type="nonNegativeInteger"/>
- </attribute>
- </define>
- <start combine="choice">
- <ref name="DataMaxCardinality"/>
- </start>
- <define name="DataMaxCardinality">
- <element name="DataMaxCardinality">
- <ref name="DataMaxCardinality.type"/>
- </element>
- </define>
- <define name="DataExactCardinality.type">
- <ref name="ClassExpression"/>
- <ref name="DataPropertyExpression"/>
- <optional>
- <ref name="DataRange"/>
- </optional>
- <attribute name="cardinality">
- <data type="nonNegativeInteger"/>
- </attribute>
- </define>
- <start combine="choice">
- <ref name="DataExactCardinality"/>
- </start>
- <define name="DataExactCardinality">
- <element name="DataExactCardinality">
- <ref name="DataExactCardinality.type"/>
- </element>
- </define>
- <!-- Axioms -->
- <define name="Axiom">
- <ref name="axiomAnnotations"/>
- <attribute name="specialAttrs"/>
- <choice>
- <ref name="Declaration"/>
- <ref name="ClassAxiom"/>
- <ref name="ObjectPropertyAxiom"/>
- <ref name="DataPropertyAxiom"/>
- <ref name="DatatypeDefinition"/>
- <ref name="HasKey"/>
- <ref name="Assertion"/>
- <ref name="AnnotationAxiom"/>
- </choice>
- </define>
- <!-- Class expression axioms -->
- <define name="ClassAxiom">
- <choice>
- <ref name="Axiom"/>
- <ref name="SubClassOf"/>
- <ref name="EquivalentClasses"/>
- <ref name="DisjointClasses"/>
- <ref name="DisjointUnion"/>
- </choice>
- </define>
- <define name="SubClassOf.type">
- <ref name="ClassAxiom"/>
- <ref name="ClassExpression"/>
- <!-- This is the subexpression -->
- <ref name="ClassExpression"/>
- </define>
- <!-- This is the superexpression -->
- <start combine="choice">
- <ref name="SubClassOf"/>
- </start>
- <define name="SubClassOf">
- <element name="SubClassOf">
- <ref name="SubClassOf.type"/>
- </element>
- </define>
- <define name="EquivalentClasses.type">
- <ref name="ClassAxiom"/>
- <oneOrMore>
- <ref name="ClassExpression"/>
- </oneOrMore>
- </define>
- <start combine="choice">
- <ref name="EquivalentClasses"/>
- </start>
- <define name="EquivalentClasses">
- <element name="EquivalentClasses">
- <ref name="EquivalentClasses.type"/>
- </element>
- </define>
- <define name="DisjointClasses.type">
- <ref name="ClassAxiom"/>
- <oneOrMore>
- <ref name="ClassExpression"/>
- </oneOrMore>
- </define>
- <start combine="choice">
- <ref name="DisjointClasses"/>
- </start>
- <define name="DisjointClasses">
- <element name="DisjointClasses">
- <ref name="DisjointClasses.type"/>
- </element>
- </define>
- <define name="DisjointUnion.type">
- <ref name="ClassAxiom"/>
- <ref name="Class"/>
- <oneOrMore>
- <ref name="ClassExpression"/>
- </oneOrMore>
- </define>
- <start combine="choice">
- <ref name="DisjointUnion"/>
- </start>
- <define name="DisjointUnion">
- <element name="DisjointUnion">
- <ref name="DisjointUnion.type"/>
- </element>
- </define>
- <!-- Object property axioms -->
- <define name="ObjectPropertyAxiom">
- <choice>
- <ref name="Axiom"/>
- <ref name="SubObjectPropertyOf"/>
- <ref name="EquivalentObjectProperties"/>
- <ref name="DisjointObjectProperties"/>
- <ref name="InverseObjectProperties"/>
- <ref name="ObjectPropertyDomain"/>
- <ref name="ObjectPropertyRange"/>
- <ref name="FunctionalObjectProperty"/>
- <ref name="InverseFunctionalObjectProperty"/>
- <ref name="ReflexiveObjectProperty"/>
- <ref name="IrreflexiveObjectProperty"/>
- <ref name="SymmetricObjectProperty"/>
- <ref name="AsymmetricObjectProperty"/>
- <ref name="TransitiveObjectProperty"/>
- </choice>
- </define>
- <define name="SubObjectPropertyOf.type">
- <ref name="ObjectPropertyAxiom"/>
- <choice>
- <!-- This is the subproperty expression or the property chain -->
- <ref name="ObjectPropertyExpression"/>
- <element name="ObjectPropertyChain">
- <ref name="ObjectPropertyChain.type"/>
- </element>
- </choice>
- <ref name="ObjectPropertyExpression"/>
- </define>
- <!-- This is the superproperty expression -->
- <start combine="choice">
- <ref name="SubObjectPropertyOf"/>
- </start>
- <define name="SubObjectPropertyOf">
- <element name="SubObjectPropertyOf">
- <ref name="SubObjectPropertyOf.type"/>
- </element>
- </define>
- <define name="ObjectPropertyChain.type">
- <oneOrMore>
- <ref name="ObjectPropertyExpression"/>
- </oneOrMore>
- <attribute name="specialAttrs"/>
- </define>
- <define name="EquivalentObjectProperties.type">
- <ref name="ObjectPropertyAxiom"/>
- <oneOrMore>
- <ref name="ObjectPropertyExpression"/>
- </oneOrMore>
- </define>
- <start combine="choice">
- <ref name="EquivalentObjectProperties"/>
- </start>
- <define name="EquivalentObjectProperties">
- <element name="EquivalentObjectProperties">
- <ref name="EquivalentObjectProperties.type"/>
- </element>
- </define>
- <define name="DisjointObjectProperties.type">
- <ref name="ObjectPropertyAxiom"/>
- <oneOrMore>
- <ref name="ObjectPropertyExpression"/>
- </oneOrMore>
- </define>
- <start combine="choice">
- <ref name="DisjointObjectProperties"/>
- </start>
- <define name="DisjointObjectProperties">
- <element name="DisjointObjectProperties">
- <ref name="DisjointObjectProperties.type"/>
- </element>
- </define>
- <define name="ObjectPropertyDomain.type">
- <ref name="ObjectPropertyAxiom"/>
- <ref name="ObjectPropertyExpression"/>
- <ref name="ClassExpression"/>
- </define>
- <start combine="choice">
- <ref name="ObjectPropertyDomain"/>
- </start>
- <define name="ObjectPropertyDomain">
- <element name="ObjectPropertyDomain">
- <ref name="ObjectPropertyDomain.type"/>
- </element>
- </define>
- <define name="ObjectPropertyRange.type">
- <ref name="ObjectPropertyAxiom"/>
- <ref name="ObjectPropertyExpression"/>
- <ref name="ClassExpression"/>
- </define>
- <start combine="choice">
- <ref name="ObjectPropertyRange"/>
- </start>
- <define name="ObjectPropertyRange">
- <element name="ObjectPropertyRange">
- <ref name="ObjectPropertyRange.type"/>
- </element>
- </define>
- <define name="InverseObjectProperties.type">
- <ref name="ObjectPropertyAxiom"/>
- <ref name="ObjectPropertyExpression"/>
- <ref name="ObjectPropertyExpression"/>
- </define>
- <start combine="choice">
- <ref name="InverseObjectProperties"/>
- </start>
- <define name="InverseObjectProperties">
- <element name="InverseObjectProperties">
- <ref name="InverseObjectProperties.type"/>
- </element>
- </define>
- <define name="FunctionalObjectProperty.type">
- <ref name="ObjectPropertyAxiom"/>
- <ref name="ObjectPropertyExpression"/>
- </define>
- <start combine="choice">
- <ref name="FunctionalObjectProperty"/>
- </start>
- <define name="FunctionalObjectProperty">
- <element name="FunctionalObjectProperty">
- <ref name="FunctionalObjectProperty.type"/>
- </element>
- </define>
- <define name="InverseFunctionalObjectProperty.type">
- <ref name="ObjectPropertyAxiom"/>
- <ref name="ObjectPropertyExpression"/>
- </define>
- <start combine="choice">
- <ref name="InverseFunctionalObjectProperty"/>
- </start>
- <define name="InverseFunctionalObjectProperty">
- <element name="InverseFunctionalObjectProperty">
- <ref name="InverseFunctionalObjectProperty.type"/>
- </element>
- </define>
- <define name="ReflexiveObjectProperty.type">
- <ref name="ObjectPropertyAxiom"/>
- <ref name="ObjectPropertyExpression"/>
- </define>
- <start combine="choice">
- <ref name="ReflexiveObjectProperty"/>
- </start>
- <define name="ReflexiveObjectProperty">
- <element name="ReflexiveObjectProperty">
- <ref name="ReflexiveObjectProperty.type"/>
- </element>
- </define>
- <define name="IrreflexiveObjectProperty.type">
- <ref name="ObjectPropertyAxiom"/>
- <ref name="ObjectPropertyExpression"/>
- </define>
- <start combine="choice">
- <ref name="IrreflexiveObjectProperty"/>
- </start>
- <define name="IrreflexiveObjectProperty">
- <element name="IrreflexiveObjectProperty">
- <ref name="IrreflexiveObjectProperty.type"/>
- </element>
- </define>
- <define name="SymmetricObjectProperty.type">
- <ref name="ObjectPropertyAxiom"/>
- <ref name="ObjectPropertyExpression"/>
- </define>
- <start combine="choice">
- <ref name="SymmetricObjectProperty"/>
- </start>
- <define name="SymmetricObjectProperty">
- <element name="SymmetricObjectProperty">
- <ref name="SymmetricObjectProperty.type"/>
- </element>
- </define>
- <define name="AsymmetricObjectProperty.type">
- <ref name="ObjectPropertyAxiom"/>
- <ref name="ObjectPropertyExpression"/>
- </define>
- <start combine="choice">
- <ref name="AsymmetricObjectProperty"/>
- </start>
- <define name="AsymmetricObjectProperty">
- <element name="AsymmetricObjectProperty">
- <ref name="AsymmetricObjectProperty.type"/>
- </element>
- </define>
- <define name="TransitiveObjectProperty.type">
- <ref name="ObjectPropertyAxiom"/>
- <ref name="ObjectPropertyExpression"/>
- </define>
- <start combine="choice">
- <ref name="TransitiveObjectProperty"/>
- </start>
- <define name="TransitiveObjectProperty">
- <element name="TransitiveObjectProperty">
- <ref name="TransitiveObjectProperty.type"/>
- </element>
- </define>
- <!-- Data property axioms -->
- <define name="DataPropertyAxiom">
- <choice>
- <ref name="Axiom"/>
- <ref name="SubDataPropertyOf"/>
- <ref name="EquivalentDataProperties"/>
- <ref name="DisjointDataProperties"/>
- <ref name="DataPropertyDomain"/>
- <ref name="DataPropertyRange"/>
- <ref name="FunctionalDataProperty"/>
- </choice>
- </define>
- <define name="SubDataPropertyOf.type">
- <ref name="DataPropertyAxiom"/>
- <ref name="DataPropertyExpression"/>
- <!-- This is the subproperty expression -->
- <ref name="DataPropertyExpression"/>
- </define>
- <!-- This is the superproperty expression -->
- <start combine="choice">
- <ref name="SubDataPropertyOf"/>
- </start>
- <define name="SubDataPropertyOf">
- <element name="SubDataPropertyOf">
- <ref name="SubDataPropertyOf.type"/>
- </element>
- </define>
- <define name="EquivalentDataProperties.type">
- <ref name="DataPropertyAxiom"/>
- <oneOrMore>
- <ref name="DataPropertyExpression"/>
- </oneOrMore>
- </define>
- <start combine="choice">
- <ref name="EquivalentDataProperties"/>
- </start>
- <define name="EquivalentDataProperties">
- <element name="EquivalentDataProperties">
- <ref name="EquivalentDataProperties.type"/>
- </element>
- </define>
- <define name="DisjointDataProperties.type">
- <ref name="DataPropertyAxiom"/>
- <oneOrMore>
- <ref name="DataPropertyExpression"/>
- </oneOrMore>
- </define>
- <start combine="choice">
- <ref name="DisjointDataProperties"/>
- </start>
- <define name="DisjointDataProperties">
- <element name="DisjointDataProperties">
- <ref name="DisjointDataProperties.type"/>
- </element>
- </define>
- <define name="DataPropertyDomain.type">
- <ref name="DataPropertyAxiom"/>
- <ref name="DataPropertyExpression"/>
- <ref name="ClassExpression"/>
- </define>
- <start combine="choice">
- <ref name="DataPropertyDomain"/>
- </start>
- <define name="DataPropertyDomain">
- <element name="DataPropertyDomain">
- <ref name="DataPropertyDomain.type"/>
- </element>
- </define>
- <define name="DataPropertyRange.type">
- <ref name="DataPropertyAxiom"/>
- <ref name="DataPropertyExpression"/>
- <ref name="DataRange"/>
- </define>
- <start combine="choice">
- <ref name="DataPropertyRange"/>
- </start>
- <define name="DataPropertyRange">
- <element name="DataPropertyRange">
- <ref name="DataPropertyRange.type"/>
- </element>
- </define>
- <define name="FunctionalDataProperty.type">
- <ref name="DataPropertyAxiom"/>
- <ref name="DataPropertyExpression"/>
- </define>
- <start combine="choice">
- <ref name="FunctionalDataProperty"/>
- </start>
- <define name="FunctionalDataProperty">
- <element name="FunctionalDataProperty">
- <ref name="FunctionalDataProperty.type"/>
- </element>
- </define>
- <!-- Datatype definitions -->
- <define name="DatatypeDefinition.type">
- <ref name="Axiom"/>
- <ref name="Datatype"/>
- <ref name="DataRange"/>
- </define>
- <start combine="choice">
- <ref name="DatatypeDefinition"/>
- </start>
- <define name="DatatypeDefinition">
- <element name="DatatypeDefinition">
- <ref name="DatatypeDefinition.type"/>
- </element>
- </define>
- <!-- Key axioms -->
- <define name="HasKey.type">
- <ref name="Axiom"/>
- <ref name="ClassExpression"/>
- <zeroOrMore>
- <ref name="ObjectPropertyExpression"/>
- </zeroOrMore>
- <zeroOrMore>
- <ref name="DataPropertyExpression"/>
- </zeroOrMore>
- </define>
- <start combine="choice">
- <ref name="HasKey"/>
- </start>
- <define name="HasKey">
- <element name="HasKey">
- <ref name="HasKey.type"/>
- </element>
- </define>
- <!-- Assertions -->
- <define name="Assertion">
- <choice>
- <ref name="Axiom"/>
- <ref name="SameIndividual"/>
- <ref name="DifferentIndividuals"/>
- <ref name="ClassAssertion"/>
- <ref name="ObjectPropertyAssertion"/>
- <ref name="NegativeObjectPropertyAssertion"/>
- <ref name="DataPropertyAssertion"/>
- <ref name="NegativeDataPropertyAssertion"/>
- </choice>
- </define>
- <define name="SameIndividual.type">
- <ref name="Assertion"/>
- <oneOrMore>
- <ref name="Individual"/>
- </oneOrMore>
- </define>
- <start combine="choice">
- <ref name="SameIndividual"/>
- </start>
- <define name="SameIndividual">
- <element name="SameIndividual">
- <ref name="SameIndividual.type"/>
- </element>
- </define>
- <define name="DifferentIndividuals.type">
- <ref name="Assertion"/>
- <oneOrMore>
- <ref name="Individual"/>
- </oneOrMore>
- </define>
- <start combine="choice">
- <ref name="DifferentIndividuals"/>
- </start>
- <define name="DifferentIndividuals">
- <element name="DifferentIndividuals">
- <ref name="DifferentIndividuals.type"/>
- </element>
- </define>
- <define name="ClassAssertion.type">
- <ref name="Assertion"/>
- <ref name="ClassExpression"/>
- <ref name="Individual"/>
- </define>
- <start combine="choice">
- <ref name="ClassAssertion"/>
- </start>
- <define name="ClassAssertion">
- <element name="ClassAssertion">
- <ref name="ClassAssertion.type"/>
- </element>
- </define>
- <define name="ObjectPropertyAssertion.type">
- <ref name="Assertion"/>
- <ref name="ObjectPropertyExpression"/>
- <ref name="Individual"/>
- <!-- This is the source invididual -->
- <ref name="Individual"/>
- </define>
- <!-- This is the target individual -->
- <start combine="choice">
- <ref name="ObjectPropertyAssertion"/>
- </start>
- <define name="ObjectPropertyAssertion">
- <element name="ObjectPropertyAssertion">
- <ref name="ObjectPropertyAssertion.type"/>
- </element>
- </define>
- <define name="NegativeObjectPropertyAssertion.type">
- <ref name="Assertion"/>
- <ref name="ObjectPropertyExpression"/>
- <ref name="Individual"/>
- <!-- This is the source invididual -->
- <ref name="Individual"/>
- </define>
- <!-- This is the target individual -->
- <start combine="choice">
- <ref name="NegativeObjectPropertyAssertion"/>
- </start>
- <define name="NegativeObjectPropertyAssertion">
- <element name="NegativeObjectPropertyAssertion">
- <ref name="NegativeObjectPropertyAssertion.type"/>
- </element>
- </define>
- <define name="DataPropertyAssertion.type">
- <ref name="Assertion"/>
- <ref name="DataPropertyExpression"/>
- <ref name="Individual"/>
- <!-- This is the source invididual -->
- <ref name="Literal"/>
- </define>
- <!-- This is the target individual -->
- <start combine="choice">
- <ref name="DataPropertyAssertion"/>
- </start>
- <define name="DataPropertyAssertion">
- <element name="DataPropertyAssertion">
- <ref name="DataPropertyAssertion.type"/>
- </element>
- </define>
- <define name="NegativeDataPropertyAssertion.type">
- <ref name="Assertion"/>
- <ref name="DataPropertyExpression"/>
- <ref name="Individual"/>
- <!-- This is the source invididual -->
- <ref name="Literal"/>
- </define>
- <!-- This is the target individual -->
- <start combine="choice">
- <ref name="NegativeDataPropertyAssertion"/>
- </start>
- <define name="NegativeDataPropertyAssertion">
- <element name="NegativeDataPropertyAssertion">
- <ref name="NegativeDataPropertyAssertion.type"/>
- </element>
- </define>
- <!-- Annotations -->
- <define name="IRI.type">
- <attribute name="specialAttrs"/>
- </define>
- <start combine="choice">
- <ref name="IRI"/>
- </start>
- <define name="IRI">
- <element name="IRI">
- <ref name="IRI.type"/>
- </element>
- </define>
- <define name="AbbreviatedIRI.type">
- <attribute name="specialAttrs"/>
- </define>
- <start combine="choice">
- <ref name="AbbreviatedIRI"/>
- </start>
- <define name="AbbreviatedIRI">
- <element name="AbbreviatedIRI">
- <ref name="AbbreviatedIRI.type"/>
- </element>
- </define>
- <define name="AnnotationSubject">
- <choice>
- <ref name="IRI"/>
- <ref name="AbbreviatedIRI"/>
- <ref name="AnonymousIndividual"/>
- </choice>
- </define>
- <define name="AnnotationValue">
- <choice>
- <ref name="IRI"/>
- <ref name="AbbreviatedIRI"/>
- <ref name="AnonymousIndividual"/>
- <ref name="Literal"/>
- </choice>
- </define>
- <define name="Annotation.type">
- <ref name="annotationAnnotations"/>
- <ref name="AnnotationProperty"/>
- <ref name="AnnotationValue"/>
- <attribute name="specialAttrs"/>
- </define>
- <start combine="choice">
- <ref name="Annotation"/>
- </start>
- <define name="Annotation">
- <element name="Annotation">
- <ref name="Annotation.type"/>
- </element>
- </define>
- <define name="axiomAnnotations">
- <zeroOrMore>
- <ref name="Annotation"/>
- </zeroOrMore>
- </define>
- <define name="ontologyAnnotations">
- <zeroOrMore>
- <ref name="Annotation"/>
- </zeroOrMore>
- </define>
- <define name="annotationAnnotations">
- <zeroOrMore>
- <ref name="Annotation"/>
- </zeroOrMore>
- </define>
- <!-- Annotation axioms -->
- <define name="AnnotationAxiom">
- <choice>
- <ref name="Axiom"/>
- <ref name="AnnotationAssertion"/>
- <ref name="SubAnnotationPropertyOf"/>
- <ref name="AnnotationPropertyDomain"/>
- <ref name="AnnotationPropertyRange"/>
- </choice>
- </define>
- <define name="AnnotationAssertion.type">
- <ref name="AnnotationAxiom"/>
- <ref name="AnnotationProperty"/>
- <ref name="AnnotationSubject"/>
- <ref name="AnnotationValue"/>
- </define>
- <start combine="choice">
- <ref name="AnnotationAssertion"/>
- </start>
- <define name="AnnotationAssertion">
- <element name="AnnotationAssertion">
- <ref name="AnnotationAssertion.type"/>
- </element>
- </define>
- <define name="SubAnnotationPropertyOf.type">
- <ref name="AnnotationAxiom"/>
- <ref name="AnnotationProperty"/>
- <!-- This is the subproperty -->
- <ref name="AnnotationProperty"/>
- </define>
- <!-- This is the superproperty -->
- <start combine="choice">
- <ref name="SubAnnotationPropertyOf"/>
- </start>
- <define name="SubAnnotationPropertyOf">
- <element name="SubAnnotationPropertyOf">
- <ref name="SubAnnotationPropertyOf.type"/>
- </element>
- </define>
- <define name="AnnotationPropertyDomain.type">
- <ref name="AnnotationAxiom"/>
- <ref name="AnnotationProperty"/>
- <ref name="IRI"/>
- <ref name="AbbreviatedIRI"/>
- </define>
- <start combine="choice">
- <ref name="AnnotationPropertyDomain"/>
- </start>
- <define name="AnnotationPropertyDomain">
- <element name="AnnotationPropertyDomain">
- <ref name="AnnotationPropertyDomain.type"/>
- </element>
- </define>
- <define name="AnnotationPropertyRange.type">
- <ref name="AnnotationAxiom"/>
- <ref name="AnnotationProperty"/>
- <ref name="IRI"/>
- <ref name="AbbreviatedIRI"/>
- </define>
- <start combine="choice">
- <ref name="AnnotationPropertyRange"/>
- </start>
- <define name="AnnotationPropertyRange">
- <element name="AnnotationPropertyRange">
- <ref name="AnnotationPropertyRange.type"/>
- </element>
- </define>
-</grammar>