diff options
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.rng | 1321 |
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> |