W3C

OWL 2 Web Ontology Language:
XML Serialization

W3C Working Draft 02 December 2008

This version:
http://www.w3.org/TR/2008/WD-owl2-xml-serialization-20081202/
Latest version:
http://www.w3.org/TR/owl2-xml-serialization/
Previous version:
http://www.w3.org/TR/2008/WD-owl2-xml-serialization-20081008/
Editors:
Boris Motik, Oxford University
Peter Patel-Schneider, Bell Labs Research, Alcatel-Lucent
Contributors:
Sean Bechhofer, University of Manchester
Bernardo Cuenca Grau, Oxford University
Achille Fokoue, IBM Corporation
Rinke Hoekstra, University of Amsterdam
Bijan Parsia, University of Manchester

This document is also available in these non-normative formats: PDF version.



Abstract

OWL 2 extends the W3C OWL Web Ontology Language with a small but useful set of features that have been requested by users, for which effective reasoning algorithms are now available, and that OWL tool developers are willing to support. The new features include extra syntactic sugar, additional property and qualified cardinality constructors, extended datatype support, simple metamodeling, and extended annotations.
This document specifies an XML syntax for OWL 2 that mirrors its structural specification. An XML schema defines this syntax and is available as a separate document, as well as being included here.

Status of this Document

May Be Superseded

This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at http://www.w3.org/TR/.

This document is being published as one of a set of 11 documents:

  1. Structural Specification and Functional-Style Syntax
  2. Direct Semantics
  3. RDF-Based Semantics
  4. Conformance and Test Cases
  5. Mapping to RDF Graphs
  6. XML Serialization (this document)
  7. Profiles
  8. Quick Reference Guide
  9. New Features and Rationale
  10. Manchester Syntax
  11. rdf:text: A Datatype for Internationalized Text

Last Call

The Working Group believes it has completed its design work for the technologies specified this document, so this is a "Last Call" draft. The design is not expected to change significantly, going forward, and now is the key time for external review, before the implementation phase.

Summary of Changes

This document has been updated to keep in sync with the Syntax document.

Please Comment By 23 January 2009

The OWL Working Group seeks public feedback on these Working Drafts. Please send your comments to public-owl-comments@w3.org (public archive). If possible, please offer specific changes to the text that would address your concern. You may also wish to check the Wiki Version of this document for internal-review comments and changes being drafted which may address your concerns.

No Endorsement

Publication as a Working Draft does not imply endorsement by the W3C Membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.

Patents

This document was produced by a group operating under the 5 February 2004 W3C Patent Policy. W3C maintains a public list of any patent disclosures made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains Essential Claim(s) must disclose the information in accordance with section 6 of the W3C Patent Policy.


Contents


1 Overview (Normative)

This document defines the XML syntax for OWL 2. This syntax mirrors the structural specification of OWL 2 [OWL 2 Specification] and is defined by means of an XML schema [XML Schema], which is available as part of this document. The XML schema has been obtained by a straightforward translation of the structural specification of the OWL 2 Specification [OWL 2 Specification] in the following way:

The elements in the XML Schema belong to the owl namespace, and the attributes have no namespace. The local parts of the names used in the XML Schema are the same as the names of their corresponding elements from the structural specification.

The XML schema thus captures the structure of OWL 2 entities, expressions, and axioms. Certain global conditions on OWL 2 ontologies, such as the ones described in Sections 5.8.1 and 11 of the OWL 2 Specification [OWL 2 Specification], cannot be captured in an XML schema. Tools parsing OWL 2 ontologies in this syntax need to additionally implement these global conditions.

The XML syntax of OWL 2 corresponds closely to the structural specification of OWL 2, so it is fully typed. It thus differs somewhat from the functional-style syntax of OWL 2 [OWL 2 Specification]. For example, whereas the functional-style syntax uses a nonterminal SomeValuesFrom for existential restrictions on both the object and data properties, the XML syntax provides two elements owl:ObjectSomeValuesFrom and owl:DataSomeValuesFrom.

Each axiom in the XML syntax of OWL 2 contains complete information about the type of all the entities in it. Therefore the OWL 2 XML Syntax can be parsed more easily than by using the canonical parsing process from Section 3.6 of OWL 2 Specification [OWL 2 Specification]. Nonetheless, each OWL 2 ontology written in the XML syntax of OWL 2 MUST satisfy the typing constraints from Section 5.8.1 of the OWL 2 Specification [OWL 2 Specification] — that is, declarations for ontology entities MUST be present in the import closure of the ontology as required even if the type of ontology elements can be inferred from the axioms.

During parsing of ontology documents written in the XML syntax of OWL 2, all values that are declared in the schema given below as being of type xsd:anyURI MUST be resolved against the respective base IRI as specified in the XML Base specification [XML Base]. This expansion is handled at the XML level during parsing, and the structural specification of OWL 2 makes no provisions for keeping track of the base IRIs of ontology entities and axioms. The base IRI of the owl:Ontology element is completely independent from the ontology and/or the version IRI of the ontology and its value MUST be determined exactly as specified in the XML Base specification. Furthermore, just like all other IRIs, the values of the ontologyIRI and/or versionIRI attributes of the owl:Ontology element MUST be resolved against the base IRI of the owl:Ontology element. In contrast, OWL 2 literals of the xsd:anyURI datatype MUST NOT be resolved against the base IRI: all literals of OWL 2 are treated as opaque values whose value is fully defined by their lexical representation.

The XML schema presented here covers the entire OWL 2 structural specification, and thus includes all the features available in OWL 2 profiles [OWL 2 Profiles]. There are no separate schemata for these profiles — that is, ontologies that can be expressed by the profiles MUST be written using the most general schema. Validating whether an ontology belongs to a particular profile is not intended to be performed using XML schema mechanisms, so the specification of such mechanisms is beyond the scope of this document.

An XML syntax ontology document is a sequence of octets accessible from some IRI by means of the standard protocols that can be parsed into an XML document, that conforms to the XML schema defined in this document, and that can be converted into an OWL 2 ontology as specified earlier.

The italicized keywords MUST, MUST NOT, SHOULD, SHOULD NOT, and MAY specify certain aspects of the normative behavior of OWL 2 tools, and are interpreted as specified in RFC 2119 [RFC 2119].

Editor's Note: OWL WG [issue 97] involves GRDDL transforms from the XML serialization. Its resolution may affect this document.

2 Example Ontology (Informative)

The following is an example of an OWL 2 ontology written in XML syntax. More examples can be found in the OWL 2 Primer [OWL 2 Primer].

<?xml version="1.0" encoding="UTF-8"?>
<owl:Ontology xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.w3.org/ns/owl2-xml http://www.w3.org/ns/owl2-xml/live-from-wiki.xsd"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://example.com/myOntology"
    ontologyIRI="http://example.com/myOntology">

    <owl:Import>http://example.com/someOtherOntology</owl:Import>

    <owl:Declaration>
       <owl:Class IRI="#animal"/>
    </owl:Declaration>
    <owl:Declaration>
       <owl:Class IRI="#tabloid"/>
    </owl:Declaration>
    <owl:Declaration>
       <owl:ObjectProperty IRI="#eats"/>
    </owl:Declaration>
    <owl:Declaration>
       <owl:ObjectProperty IRI="#reads"/>
    </owl:Declaration>

    <owl:SubClassOf>
       <owl:Class IRI="#animal"/>
       <owl:ObjectAllValuesFrom>
          <owl:ObjectProperty IRI="#reads"/>
          <owl:Class IRI="#tabloid"/>
       </owl:ObjectAllValuesFrom>
    </owl:SubClassOf>

</owl:Ontology>

3 The XML Schema (Normative)

<xsd:schema 
 xmlns:xsd="http://www.w3.org/2001/XMLSchema"
 xmlns:owl="http://www.w3.org/2002/07/owl#"
 targetNamespace="http://www.w3.org/2002/07/owl#"
 elementFormDefault="qualified" attributeFormDefault="unqualified">

<xsd:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/>

<!-- The ontology -->
  
<xsd:element name="Import">
  <xsd:complexType>
    <xsd:simpleContent>
      <xsd:extension base="xsd:anyURI">
        <xsd:attributeGroup ref="xml:specialAttrs"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
</xsd:element>

<xsd:element name="Ontology">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:element ref="owl:Import" minOccurs="0" maxOccurs="unbounded"/>
      <xsd:group ref="owl:ontologyAnnotations"/>
      <xsd:group ref="owl:Axiom" minOccurs="0" maxOccurs="unbounded"/>
    </xsd:sequence>
    <xsd:attribute name="ontologyIRI" type="xsd:anyURI" use="optional"/>
    <xsd:attribute name="versionIRI" type="xsd:anyURI" use="optional"/>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<!-- Entities, anonymous individuals, and literals -->

<xsd:group name="Entity">
  <xsd:choice>
    <xsd:element ref="owl:Class"/>
    <xsd:element ref="owl:Datatype"/>
    <xsd:element ref="owl:ObjectProperty"/>
    <xsd:element ref="owl:DataProperty"/>
    <xsd:element ref="owl:AnnotationProperty"/>
    <xsd:element ref="owl:NamedIndividual"/>
  </xsd:choice>
</xsd:group>

<xsd:element name="Class">
  <xsd:complexType>
    <xsd:attribute name="IRI" type="xsd:anyURI" use="required"/>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<xsd:element name="Datatype">
  <xsd:complexType>
    <xsd:attribute name="IRI" type="xsd:anyURI" use="required"/>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>
 
<xsd:element name="ObjectProperty">
  <xsd:complexType>
    <xsd:attribute name="IRI" type="xsd:anyURI" use="required"/>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<xsd:element name="DataProperty">
  <xsd:complexType>
    <xsd:attribute name="IRI" type="xsd:anyURI" use="required"/>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<xsd:element name="AnnotationProperty">
  <xsd:complexType>
    <xsd:attribute name="IRI" type="xsd:anyURI" use="required"/>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<xsd:group name="Individual">
  <xsd:choice>
    <xsd:element ref="owl:NamedIndividual"/>
    <xsd:element ref="owl:AnonymousIndividual"/>
  </xsd:choice>
</xsd:group>
  
<xsd:element name="NamedIndividual">
  <xsd:complexType>
    <xsd:attribute name="IRI" type="xsd:anyURI" use="required"/>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<xsd:element name="AnonymousIndividual">
  <xsd:complexType>
    <xsd:attribute name="nodeID" type="xsd:NCName" use="required"/>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<xsd:element name="Literal">
 <xsd:complexType>
   <xsd:simpleContent>
     <xsd:extension base="xsd:string">
       <xsd:attribute name="datatypeIRI" type="xsd:anyURI"/>
       <xsd:attributeGroup ref="xml:specialAttrs"/>
     </xsd:extension>
   </xsd:simpleContent>
 </xsd:complexType>
</xsd:element>

<!-- Declarations -->

<xsd:element name="Declaration">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:group ref="owl:axiomAnnotations"/>
      <xsd:group ref="owl:Entity"/>
    </xsd:sequence>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>
  
<!-- Object property expressions -->

<xsd:group name="ObjectPropertyExpression">
  <xsd:choice>
    <xsd:element ref="owl:ObjectProperty"/>
    <xsd:element ref="owl:InverseObjectProperty"/>
  </xsd:choice>
</xsd:group>

<xsd:element name="InverseObjectProperty">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:element ref="owl:ObjectProperty"/>
    </xsd:sequence>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<!-- Data property expressions -->

<xsd:group name="DataPropertyExpression">
  <xsd:sequence>
    <xsd:element ref="owl:DataProperty"/>
  </xsd:sequence>
</xsd:group>

<!-- Data ranges -->

<xsd:group name="DataRange">
  <xsd:choice>
    <xsd:element ref="owl:Datatype"/>
    <xsd:element ref="owl:DataIntersectionOf"/>
    <xsd:element ref="owl:DataUnionOf"/>
    <xsd:element ref="owl:DataComplementOf"/>
    <xsd:element ref="owl:DataOneOf"/>
    <xsd:element ref="owl:DatatypeRestriction"/>
  </xsd:choice>
</xsd:group>

<xsd:element name="DataIntersectionOf">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:group ref="owl:DataRange" minOccurs="2" maxOccurs="unbounded"/>
    </xsd:sequence>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<xsd:element name="DataUnionOf">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:group ref="owl:DataRange" minOccurs="2" maxOccurs="unbounded"/>
    </xsd:sequence>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<xsd:element name="DataComplementOf">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:group ref="owl:DataRange"/>
    </xsd:sequence>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<xsd:element name="DataOneOf">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:element ref="owl:Literal" minOccurs="1" maxOccurs="unbounded"/>
    </xsd:sequence>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<xsd:element name="DatatypeRestriction">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:element ref="owl:Datatype"/>
      <xsd:element name="FacetRestriction" minOccurs="1" maxOccurs="unbounded">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element ref="owl:Literal"/>
          </xsd:sequence>
          <xsd:attribute name="facet" type="xsd:anyURI" use="required"/>
        </xsd:complexType>
      </xsd:element>
    </xsd:sequence>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<!-- Class expressions -->

<xsd:group name="ClassExpression">
  <xsd:choice>
    <xsd:element ref="owl:Class"/>
    <xsd:element ref="owl:ObjectIntersectionOf"/>
    <xsd:element ref="owl:ObjectUnionOf"/>
    <xsd:element ref="owl:ObjectComplementOf"/>
    <xsd:element ref="owl:ObjectOneOf"/>
    <xsd:element ref="owl:ObjectSomeValuesFrom"/>
    <xsd:element ref="owl:ObjectAllValuesFrom"/>
    <xsd:element ref="owl:ObjectHasValue"/>
    <xsd:element ref="owl:ObjectHasSelf"/>
    <xsd:element ref="owl:ObjectMinCardinality"/>
    <xsd:element ref="owl:ObjectMaxCardinality"/>
    <xsd:element ref="owl:ObjectExactCardinality"/>
    <xsd:element ref="owl:DataSomeValuesFrom"/>
    <xsd:element ref="owl:DataAllValuesFrom"/>
    <xsd:element ref="owl:DataHasValue"/>
    <xsd:element ref="owl:DataMinCardinality"/>
    <xsd:element ref="owl:DataMaxCardinality"/>
    <xsd:element ref="owl:DataExactCardinality"/>
  </xsd:choice>
</xsd:group>

<xsd:element name="ObjectIntersectionOf">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:group ref="owl:ClassExpression" minOccurs="2" maxOccurs="unbounded"/>
    </xsd:sequence>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<xsd:element name="ObjectUnionOf">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:group ref="owl:ClassExpression" minOccurs="2" maxOccurs="unbounded"/>
    </xsd:sequence>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<xsd:element name="ObjectComplementOf">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:group ref="owl:ClassExpression"/>
    </xsd:sequence>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<xsd:element name="ObjectOneOf">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:group ref="owl:Individual" minOccurs="1" maxOccurs="unbounded"/>
    </xsd:sequence>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<xsd:element name="ObjectSomeValuesFrom">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:group ref="owl:ObjectPropertyExpression"/>
      <xsd:group ref="owl:ClassExpression"/>
    </xsd:sequence>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<xsd:element name="ObjectAllValuesFrom">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:group ref="owl:ObjectPropertyExpression"/>
      <xsd:group ref="owl:ClassExpression"/>
    </xsd:sequence>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<xsd:element name="ObjectHasValue">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:group ref="owl:ObjectPropertyExpression"/>
      <xsd:group ref="owl:Individual"/>
    </xsd:sequence>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<xsd:element name="ObjectHasSelf">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:group ref="owl:ObjectPropertyExpression"/>
    </xsd:sequence>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<xsd:element name="ObjectMinCardinality">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:group ref="owl:ObjectPropertyExpression"/>
      <xsd:group ref="owl:ClassExpression" minOccurs="0" maxOccurs="1"/>
    </xsd:sequence>
    <xsd:attribute name="cardinality" type="xsd:nonNegativeInteger" use="required"/>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<xsd:element name="ObjectMaxCardinality">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:group ref="owl:ObjectPropertyExpression"/>
      <xsd:group ref="owl:ClassExpression" minOccurs="0" maxOccurs="1"/>
    </xsd:sequence>
    <xsd:attribute name="cardinality" type="xsd:nonNegativeInteger" use="required"/>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<xsd:element name="ObjectExactCardinality">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:group ref="owl:ObjectPropertyExpression"/>
      <xsd:group ref="owl:ClassExpression" minOccurs="0" maxOccurs="1"/>
    </xsd:sequence>
    <xsd:attribute name="cardinality" type="xsd:nonNegativeInteger" use="required"/>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<xsd:element name="DataSomeValuesFrom">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:group ref="owl:DataPropertyExpression" minOccurs="1" maxOccurs="unbounded"/>
      <xsd:group ref="owl:DataRange"/>
    </xsd:sequence>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<xsd:element name="DataAllValuesFrom">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:group ref="owl:DataPropertyExpression" minOccurs="1" maxOccurs="unbounded"/>
      <xsd:group ref="owl:DataRange"/>
    </xsd:sequence>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<xsd:element name="DataHasValue">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:group ref="owl:DataPropertyExpression"/>
      <xsd:element ref="owl:Literal"/>
    </xsd:sequence>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<xsd:element name="DataMinCardinality">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:group ref="owl:DataPropertyExpression"/>
      <xsd:group ref="owl:DataRange" minOccurs="0" maxOccurs="1"/>
    </xsd:sequence>
    <xsd:attribute name="cardinality" type="xsd:nonNegativeInteger" use="required"/>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<xsd:element name="DataMaxCardinality">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:group ref="owl:DataPropertyExpression"/>
      <xsd:group ref="owl:DataRange" minOccurs="0" maxOccurs="1"/>
    </xsd:sequence>
    <xsd:attribute name="cardinality" type="xsd:nonNegativeInteger" use="required"/>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<xsd:element name="DataExactCardinality">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:group ref="owl:DataPropertyExpression"/>
      <xsd:group ref="owl:DataRange" minOccurs="0" maxOccurs="1"/>
    </xsd:sequence>
    <xsd:attribute name="cardinality" type="xsd:nonNegativeInteger" use="required"/>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<!-- Axioms -->

<xsd:group name="Axiom">
  <xsd:choice>
    <xsd:element ref="owl:Declaration"/>
    <xsd:group ref="owl:ClassAxiom"/>
    <xsd:group ref="owl:ObjectPropertyAxiom"/>
    <xsd:group ref="owl:DataPropertyAxiom"/>
    <xsd:element ref="owl:HasKey"/>
    <xsd:group ref="owl:Assertion"/>
    <xsd:group ref="owl:AnnotationAxiom"/>
  </xsd:choice>
</xsd:group>

<!-- Class expression axioms -->

<xsd:group name="ClassAxiom">
  <xsd:choice>
    <xsd:element ref="owl:SubClassOf"/>
    <xsd:element ref="owl:EquivalentClasses"/>
    <xsd:element ref="owl:DisjointClasses"/>
    <xsd:element ref="owl:DisjointUnion"/>
  </xsd:choice>
</xsd:group>

<xsd:element name="SubClassOf">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:group ref="owl:axiomAnnotations"/>
      <xsd:group ref="owl:ClassExpression"/> <!-- This is the subexpression -->
      <xsd:group ref="owl:ClassExpression"/> <!-- This is the superexpression -->
    </xsd:sequence>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<xsd:element name="EquivalentClasses">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:group ref="owl:axiomAnnotations"/>
      <xsd:group ref="owl:ClassExpression" minOccurs="2" maxOccurs="unbounded"/>
    </xsd:sequence>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<xsd:element name="DisjointClasses">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:group ref="owl:axiomAnnotations"/>
      <xsd:group ref="owl:ClassExpression" minOccurs="2" maxOccurs="unbounded"/>
    </xsd:sequence>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<xsd:element name="DisjointUnion">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:group ref="owl:axiomAnnotations"/>
      <xsd:element ref="owl:Class"/>
      <xsd:group ref="owl:ClassExpression" minOccurs="2" maxOccurs="unbounded"/>
    </xsd:sequence>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<!-- Object property axioms -->

<xsd:group name="ObjectPropertyAxiom">
  <xsd:choice>
    <xsd:element ref="owl:SubObjectPropertyOf"/>
    <xsd:element ref="owl:EquivalentObjectProperties"/>
    <xsd:element ref="owl:DisjointObjectProperties"/>
    <xsd:element ref="owl:InverseObjectProperties"/>
    <xsd:element ref="owl:ObjectPropertyDomain"/>
    <xsd:element ref="owl:ObjectPropertyRange"/>
    <xsd:element ref="owl:FunctionalObjectProperty"/>
    <xsd:element ref="owl:InverseFunctionalObjectProperty"/>
    <xsd:element ref="owl:ReflexiveObjectProperty"/>
    <xsd:element ref="owl:IrreflexiveObjectProperty"/>
    <xsd:element ref="owl:SymmetricObjectProperty"/>
    <xsd:element ref="owl:AsymmetricObjectProperty"/>
    <xsd:element ref="owl:TransitiveObjectProperty"/>
  </xsd:choice>
</xsd:group>

<xsd:element name="SubObjectPropertyOf">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:group ref="owl:axiomAnnotations"/>
      <xsd:choice> <!-- This is the subproperty expression or the property chain -->
        <xsd:group ref="owl:ObjectPropertyExpression"/>
        <xsd:element name="PropertyChain">
          <xsd:complexType>
            <xsd:sequence>
              <xsd:group ref="owl:ObjectPropertyExpression" minOccurs="2" maxOccurs="unbounded"/>
            </xsd:sequence>
            <xsd:attributeGroup ref="xml:specialAttrs"/>
          </xsd:complexType>
        </xsd:element>
      </xsd:choice>
      <xsd:group ref="owl:ObjectPropertyExpression"/> <!-- This is the superproperty expression -->  
    </xsd:sequence>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<xsd:element name="EquivalentObjectProperties">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:group ref="owl:axiomAnnotations"/>
      <xsd:group ref="owl:ObjectPropertyExpression" minOccurs="2" maxOccurs="unbounded"/>
    </xsd:sequence>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<xsd:element name="DisjointObjectProperties">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:group ref="owl:axiomAnnotations"/>
      <xsd:group ref="owl:ObjectPropertyExpression" minOccurs="2" maxOccurs="unbounded"/>
    </xsd:sequence>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<xsd:element name="ObjectPropertyDomain">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:group ref="owl:axiomAnnotations"/>
      <xsd:group ref="owl:ObjectPropertyExpression"/>
      <xsd:group ref="owl:ClassExpression"/>
    </xsd:sequence>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<xsd:element name="ObjectPropertyRange">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:group ref="owl:axiomAnnotations"/>
      <xsd:group ref="owl:ObjectPropertyExpression"/>
      <xsd:group ref="owl:ClassExpression"/>
    </xsd:sequence>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<xsd:element name="InverseObjectProperties">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:group ref="owl:axiomAnnotations"/>
      <xsd:group ref="owl:ObjectPropertyExpression" minOccurs="2" maxOccurs="2"/>
    </xsd:sequence>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<xsd:element name="FunctionalObjectProperty">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:group ref="owl:axiomAnnotations"/>
      <xsd:group ref="owl:ObjectPropertyExpression"/>
    </xsd:sequence>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<xsd:element name="InverseFunctionalObjectProperty">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:group ref="owl:axiomAnnotations"/>
      <xsd:group ref="owl:ObjectPropertyExpression"/>
    </xsd:sequence>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<xsd:element name="ReflexiveObjectProperty">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:group ref="owl:axiomAnnotations"/>
      <xsd:group ref="owl:ObjectPropertyExpression"/>
    </xsd:sequence>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<xsd:element name="IrreflexiveObjectProperty">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:group ref="owl:axiomAnnotations"/>
      <xsd:group ref="owl:ObjectPropertyExpression"/>
    </xsd:sequence>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<xsd:element name="SymmetricObjectProperty">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:group ref="owl:axiomAnnotations"/>
      <xsd:group ref="owl:ObjectPropertyExpression"/>
    </xsd:sequence>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<xsd:element name="AsymmetricObjectProperty">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:group ref="owl:axiomAnnotations"/>
      <xsd:group ref="owl:ObjectPropertyExpression"/>
    </xsd:sequence>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>
 
<xsd:element name="TransitiveObjectProperty">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:group ref="owl:axiomAnnotations"/>
      <xsd:group ref="owl:ObjectPropertyExpression"/>
    </xsd:sequence>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<!-- Data property axioms -->

<xsd:group name="DataPropertyAxiom">
  <xsd:choice>
    <xsd:element ref="owl:SubDataPropertyOf"/>
    <xsd:element ref="owl:EquivalentDataProperties"/>
    <xsd:element ref="owl:DisjointDataProperties"/>
    <xsd:element ref="owl:DataPropertyDomain"/>
    <xsd:element ref="owl:DataPropertyRange"/>
    <xsd:element ref="owl:FunctionalDataProperty"/>
  </xsd:choice>
</xsd:group>

<xsd:element name="SubDataPropertyOf">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:group ref="owl:axiomAnnotations"/>
      <xsd:group ref="owl:DataPropertyExpression"/> <!-- This is the subproperty expression -->
      <xsd:group ref="owl:DataPropertyExpression"/> <!-- This is the superproperty expression -->
    </xsd:sequence>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<xsd:element name="EquivalentDataProperties">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:group ref="owl:axiomAnnotations"/>
      <xsd:group ref="owl:DataPropertyExpression" minOccurs="2" maxOccurs="unbounded"/>
    </xsd:sequence>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<xsd:element name="DisjointDataProperties">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:group ref="owl:axiomAnnotations"/>
      <xsd:group ref="owl:DataPropertyExpression" minOccurs="2" maxOccurs="unbounded"/>
    </xsd:sequence>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<xsd:element name="DataPropertyDomain">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:group ref="owl:axiomAnnotations"/>
      <xsd:group ref="owl:DataPropertyExpression"/>
      <xsd:group ref="owl:ClassExpression"/>
    </xsd:sequence>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<xsd:element name="DataPropertyRange">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:group ref="owl:axiomAnnotations"/>
      <xsd:group ref="owl:DataPropertyExpression"/>
      <xsd:group ref="owl:DataRange"/>
    </xsd:sequence>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<xsd:element name="FunctionalDataProperty">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:group ref="owl:axiomAnnotations"/>
      <xsd:group ref="owl:DataPropertyExpression"/>
    </xsd:sequence>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<!-- Key axioms -->

<xsd:element name="HasKey">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:group ref="owl:axiomAnnotations"/>
      <xsd:group ref="owl:ClassExpression"/>
      <xsd:choice minOccurs="1" maxOccurs="unbounded">
        <xsd:group ref="owl:ObjectPropertyExpression"/>
        <xsd:group ref="owl:DataPropertyExpression"/>
      </xsd:choice>
    </xsd:sequence>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<!-- Assertions -->

<xsd:group name="Assertion">
  <xsd:choice>
    <xsd:element ref="owl:SameIndividual"/>
    <xsd:element ref="owl:DifferentIndividuals"/>
    <xsd:element ref="owl:ClassAssertion"/>
    <xsd:element ref="owl:ObjectPropertyAssertion"/>
    <xsd:element ref="owl:NegativeObjectPropertyAssertion"/>
    <xsd:element ref="owl:DataPropertyAssertion"/>
    <xsd:element ref="owl:NegativeDataPropertyAssertion"/>
  </xsd:choice>
</xsd:group> 

<xsd:element name="SameIndividual">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:group ref="owl:axiomAnnotations"/>
      <xsd:group ref="owl:Individual" minOccurs="2" maxOccurs="unbounded"/>
    </xsd:sequence>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<xsd:element name="DifferentIndividuals">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:group ref="owl:axiomAnnotations"/>
      <xsd:group ref="owl:Individual" minOccurs="2" maxOccurs="unbounded"/>
    </xsd:sequence>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<xsd:element name="ClassAssertion">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:group ref="owl:axiomAnnotations"/>
      <xsd:group ref="owl:ClassExpression"/>
      <xsd:group ref="owl:Individual"/>
    </xsd:sequence>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<xsd:element name="ObjectPropertyAssertion">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:group ref="owl:axiomAnnotations"/>
      <xsd:group ref="owl:ObjectPropertyExpression"/>
      <xsd:group ref="owl:Individual"/> <!-- This is the source invididual  -->
      <xsd:group ref="owl:Individual"/> <!-- This is the target individual -->
    </xsd:sequence>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<xsd:element name="NegativeObjectPropertyAssertion">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:group ref="owl:axiomAnnotations"/>
      <xsd:group ref="owl:ObjectPropertyExpression"/>
      <xsd:group ref="owl:Individual"/> <!-- This is the source invididual  -->
      <xsd:group ref="owl:Individual"/> <!-- This is the target individual -->
    </xsd:sequence>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<xsd:element name="DataPropertyAssertion">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:group ref="owl:axiomAnnotations"/>
      <xsd:group ref="owl:DataPropertyExpression"/>
      <xsd:group ref="owl:Individual"/> <!-- This is the source invididual  -->
      <xsd:element ref="owl:Literal"/> <!-- This is the target value -->
    </xsd:sequence>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<xsd:element name="NegativeDataPropertyAssertion">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:group ref="owl:axiomAnnotations"/>
      <xsd:group ref="owl:DataPropertyExpression"/>
      <xsd:group ref="owl:Individual"/> <!-- This is the source invididual  -->
      <xsd:element ref="owl:Literal"/> <!-- This is the target value -->
    </xsd:sequence>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<!-- Annotations  -->

<xsd:element name="IRI">
  <xsd:complexType>
    <xsd:simpleContent>
      <xsd:extension base="xsd:anyURI">
        <xsd:attributeGroup ref="xml:specialAttrs"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
</xsd:element>

<xsd:group name="AnnotationSubject">
  <xsd:choice>
    <xsd:element ref="owl:IRI"/>
    <xsd:element ref="owl:AnonymousIndividual"/>
  </xsd:choice>
</xsd:group>

<xsd:group name="AnnotationValue">
  <xsd:choice>
    <xsd:element ref="owl:IRI"/>
    <xsd:element ref="owl:AnonymousIndividual"/>
    <xsd:element ref="owl:Literal"/>
  </xsd:choice>
</xsd:group>

<xsd:element name="Annotation">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:group ref="owl:annotationAnnotations"/>
      <xsd:element ref="owl:AnnotationProperty"/>
      <xsd:group ref="owl:AnnotationValue"/>
    </xsd:sequence>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<xsd:group name="axiomAnnotations">
  <xsd:sequence>
    <xsd:element ref="owl:Annotation" minOccurs="0" maxOccurs="unbounded"/>
  </xsd:sequence>
</xsd:group>

<xsd:group name="ontologyAnnotations">
  <xsd:sequence>
    <xsd:element ref="owl:Annotation" minOccurs="0" maxOccurs="unbounded"/>
  </xsd:sequence>
</xsd:group>

<xsd:group name="annotationAnnotations">
  <xsd:sequence>
    <xsd:element ref="owl:Annotation" minOccurs="0" maxOccurs="unbounded"/>
  </xsd:sequence>
</xsd:group>

<!-- Annotation axioms -->

<xsd:group name="AnnotationAxiom">
  <xsd:choice>
    <xsd:element ref="owl:AnnotationAssertion"/>
    <xsd:element ref="owl:SubAnnotationPropertyOf"/>
    <xsd:element ref="owl:AnnotationPropertyDomain"/>
    <xsd:element ref="owl:AnnotationPropertyRange"/>
  </xsd:choice>
</xsd:group>

<xsd:element name="AnnotationAssertion">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:group ref="owl:axiomAnnotations"/>
      <xsd:element ref="owl:AnnotationProperty"/>
      <xsd:group ref="owl:AnnotationSubject"/>
      <xsd:group ref="owl:AnnotationValue"/>
    </xsd:sequence>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<xsd:element name="SubAnnotationPropertyOf">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:group ref="owl:axiomAnnotations"/>
      <xsd:element ref="owl:AnnotationProperty"/> <!-- This is the subproperty -->
      <xsd:element ref="owl:AnnotationProperty"/> <!-- This is the superproperty -->
    </xsd:sequence>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<xsd:element name="AnnotationPropertyDomain">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:group ref="owl:axiomAnnotations"/>
      <xsd:element ref="owl:AnnotationProperty"/>
      <xsd:element ref="owl:IRI"/>
    </xsd:sequence>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

<xsd:element name="AnnotationPropertyRange">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:group ref="owl:axiomAnnotations"/>
      <xsd:element ref="owl:AnnotationProperty"/>
      <xsd:element ref="owl:IRI"/>
    </xsd:sequence>
    <xsd:attributeGroup ref="xml:specialAttrs"/>
  </xsd:complexType>
</xsd:element>

</xsd:schema>

4 Appendix: Internet Media Type, File Extension, and Macintosh File Type

Contact
Sandro Hawke
See also
How to Register a Media Type for a W3C Specification Internet Media Type registration, consistency of use TAG Finding 3 June 2002 (Revised 4 September 2002)

The Internet Media Type / MIME Type for the OWL XML Serialization is application/owl+xml.

It is recommended that OWL XML Serialization files have the extension .owx (all lowercase) on all platforms.

It is recommended that OWL XML Serialization files stored on Macintosh HFS file systems be given a file type of TEXT.

The information that follows will be submitted to the IESG for review, approval, and registration with IANA.

Type name
application
Subtype name
owl+xml
Required parameters
None
Optional parameters
charset This parameter may be required when transfering non-ascii data across some protocols.
Encoding considerations
The syntax of the OWL XML Serialization is expressed over code points in Unicode [UNICODE].
Security considerations
The OWL XML Serialization uses IRIs as term identifiers. Applications interpreting data expressed in the OWL XML Serialization should address the security issues of Internationalized Resource Identifiers (IRIs) [RFC3987] Section 8, as well as Uniform Resource Identifiers (URI): Generic Syntax [RFC3986] Section 7. Multiple IRIs may have the same appearance. Characters in different scripts may look similar (a Cyrillic "o" may appear similar to a Latin "o"). A character followed by combining characters may have the same visual representation as another character (LATIN SMALL LETTER E followed by COMBINING ACUTE ACCENT has the same visual representation as LATIN SMALL LETTER E WITH ACUTE). Any person or application that is writing or interpreting data in the OWL XML Serialization must take care to use the IRI that matches the intended semantics, and avoid IRIs that may look similar. Further information about matching of similar characters can be found in Unicode Security Considerations [UNISEC] and Internationalized Resource Identifiers (IRIs) [RFC3987] Section 8.
Interoperability considerations
There are no known interoperability issues.
Published specification
This specification.
Applications which use this media type
None at current time.
Additional information
None.
Magic number(s)
OWL XML documents are XML documents and thus may have initial strings similar to any XML document.
File extension(s)
".owx"
Base URI
As in XML.
Macintosh file type code(s)
"TEXT"
Person & email address to contact for further information
Sandro Hawke <sandro@w3.org>
Intended usage
COMMON
Restrictions on usage
None
Author/Change controller
The OWL XML Serialization is the product of the W3C OWL Working Group; W3C reserves change control over this specification.

5 Acknowledgments

The starting point for the development of OWL 2 was the OWL1.1 member submission, itself a result of user and developer feedback, and in particular of information gathered during the OWL Experiences and Directions (OWLED) Workshop series. The working group also considered postponed issues from the WebOnt Working Group.

This document is the product of the OWL Working Group (see below) whose members deserve recognition for their time and commitment. The editors extend special thanks to Kendall Clark (Clark & Parsia), Achille Fokoue (IBM Corporation) and Rinke Hoekstra (University of Amsterdam) for their thorough reviews.

The regular attendees at meetings of the OWL Working Group at the time of publication of this document were: Jie Bao (RPI), Diego Calvanese (Free University of Bozen-Bolzano), Bernardo Cuenca Grau (Oxford University), Martin Dzbor (Open University), Achille Fokoue (IBM Corporation), Christine Golbreich (Université de Versailles St-Quentin), Sandro Hawke (W3C/MIT), Ivan Herman (W3C/ERCIM), Rinke Hoekstra (University of Amsterdam), Ian Horrocks (Oxford University), Elisa Kendall (Sandpiper Software), Markus Krötzsch (FZI), Carsten Lutz (Universität Bremen), Boris Motik (Oxford University), Jeff Pan (University of Aberdeen), Bijan Parsia (University of Manchester), Peter F. Patel-Schneider (Bell Labs Research, Alcatel-Lucent), Alan Ruttenberg (Science Commons), Uli Sattler (University of Manchester), Michael Schneider (FZI), Mike Smith (Clark & Parsia), Evan Wallace (NIST), and Zhe Wu (Oracle Corporation). We would also like to thank past members of the working group: Jeremy Carroll, Jim Hendler and Vipul Kashyap.

6 References

[OWL 2 Primer]
OWL 2 Web Ontology Language: Primer. Bijan Parsia and Peter F. Patel-Schneider, eds., 2008
[OWL 2 Specification]
OWL 2 Web Ontology Language:Structural Specification and Functional-Style Syntax Boris Motik, Peter F. Patel-Schneider, Bijan Parsia, eds. W3C Working Draft, 02 December 2008, http://www.w3.org/TR/2008/WD-owl2-syntax-20081202/. Latest version available at http://www.w3.org/TR/owl2-syntax/.
[OWL 2 Profiles]
OWL 2 Web Ontology Language:Structural Specification and Functional-Style Syntax Boris Motik, Peter F. Patel-Schneider, Bijan Parsia, eds. W3C Working Draft, 02 December 2008, http://www.w3.org/TR/2008/WD-owl2-syntax-20081202/. Latest version available at http://www.w3.org/TR/owl2-syntax/.
[XML Base]
XML Base. Jonathan Marsh, ed. W3C Recommendation 27 June 2001.
[XML Schema]
XML Schema Part 1: Structures Second Edition. Henry S. Thompson, David Beech, Murray Maloney, and Noah Mendelsohn, eds. W3C Recommendation 28 October 2004.
[RFC 2119]
RFC 2119: Key words for use in RFCs to Indicate Requirement Levels. Network Working Group, S. Bradner. Internet Best Current Practice, March 1997.
[RFC3986]
RFC 3986 Uniform Resource Identifier (URI): Generic Syntax, T. Berners-Lee, R. Fielding and L. Masinter, January 2005, http://www.ietf.org/rfc/rfc3986.txt
[RFC3987]
RFC 3987 - Internationalized Resource Identifiers (IRIs). M. Duerst and M. Suignard. IETF, January 2005, http://www.ietf.org/rfc/rfc3987.txt.
OWL 2 Web Ontology Language:rdf:text: A Datatype for Internationalized Text Jie Bao, Axel Polleres, Boris Motik. W3C Working Draft, 02 December 2008, http://www.w3.org/TR/2008/WD-rdf-text-20081202/. Latest version available at http://www.w3.org/TR/rdf-text/.
[UNICODE]
The Unicode Standard Version 3.0, Addison Wesley, Reading MA, 2000, ISBN: 0-201-61633-5, http://www.unicode.org/unicode/standard/standard.html
[UNISEC]