XML Presentation Syntax of OWL

Draft 9 January 2003

Edited by Masahiro Hori <horim@jp.ibm.com>

This document is non-normative.

Note-1: XML Schemas in this document are defined on the basis of the XML Schema for OWL created by Peter F. Patel-Schneider.
Note-2: An XSLT stylesheet for the transformation from XML presentation syntax to RDF/XML syntax (Section 4) has been created by Jerome Euzenat.


Abstract

This document provides XML Schemas for the XML presentation sytax of OWL 1.0 sublanguages: OWL Lite, OWL DL, and OWL Full.

Table of Contents


1. Introduction

This document specifies XML presentation syntax for OWL, which is defined as dialect similar to OWL Abstract Syntax [OWL Abstract Syntax]. The OWL 1.0 language provides three increasingly expressive sublanguages: OWL Lite, OWL DL, and OWL Full. This document provides XML Schemas for XML presentation syntax corresponding to each of the three sublanguages. A zip archive of all the Schemas for XML presentation syntax is available.

The XML Schemas for OWL 1.0 are available at the following URIs:

OWL 1.0 Lite
http://www.w3.org/2003/owl1-lite.xsd
OWL 1.0 DL
http://www.w3.org/2003/owl1-dl.xsd
OWL 1.0 Full
http://www.w3.org/2003/owl1-full.xsd
No consensus yet on the public URIs above.

The root element of the OWL documents for the XML presentation syntax must be the Ontology element.

1.1 Notational Conventions

This document uses a number of namespace prefixes as listed below. Note that the choice of any namespace prefix is arbitrary, and not semantically significant.

Prefix Namespace Notes
owls "http://www.w3.org/2003/OWL-XMLSchema" The namespace of the XML presentation syntax of OWL 1.0 defined by this document
owl "http://www.w3.org/2002/07/owl" The namespace of OWL 1.0 in RDF/XML syntax
xsd "http://www.w3.org/2001/XMLSchema" The namespace of the XML Schema [XMLSchema-1]
xsi "http://www.w3.org/2001/XMLSchema-instance" The namespace of the XML Schema instance [XMLSchema-1]

No consensus yet on the namespace URI "http://www.w3.org/2003/OWL-XMLSchema"

1.2 How to Use an XML Schema

XML Schemas do not have to be specified in an OWL document instance itself, but it may be specified in an instance by adding schemaLocation attribute (in the XML Schema instance namespace) to the root element. For example, if an author uses the XML Schema for OWL Lite, the start tag of the Ontology element may designate the location of the XML Schema as shown below:

<owls:Ontology 
  xmlns:owls="http://www.w3.org/2003/OWL-XMLSchema"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.w3.org/2003/OWL-XMLSchema
                      http://example.org/owl1-lite.xsd" >

A value of the xsi:schemaLocation attribute is a pair (or pairs) of URI references consisting of a namespace name and a location of an XML Schema. Note that a pair of URI references is only a hint for XML Schema processors, which may use alternative XML Schemas indicated by other names. For the further details of schema document access, see "4.3.2 How schema definitions are located on the Web" of the XML Schema Part 1 [XMLSchema-1]

2. XML Schema Modules

This document provides a set of XML Schema modules for XML presentation syntax of OWL. The design goal of this modularization is to set up a core module common to all the OWL sublanguages and define additional modules to be customized for different sublanguages. Note that the modularization here is done for the adaptation to the three sublanguages, and is not designed for the arbitrary customization of OWL.

The top-level Schema document, which collects required modules together, is called a Schema driver. A driver document only includes other modules, and does not contain any markup declarations in itself. Modularization through drivers and modules is being done for the reformulation of the XHTML specification in XML Schema [XHTML m12n].

Three Schema drivers are defined for the sublanguages: OWL Lite (owl1-lite.xsd), OWL DL (owl1-dl.xsd), and OWL Full (owl1-full.xsd). Modules included into the Schema drivers are summarized in the table below. Each row in the table corresponds to a type of Schema modules to be used for a driver depending on the configuration. The three columns labled with OWL Lite, OWL DL, and OWL Full indicate which modules to be included into each sublanguage.

OWL LiteOWL DLOWL Full
2.1 Common Core lite lite lite
2.2 Class Element Group (inequality, equality) lite dl dl
2.3 Description Group (Complex classes) lite dl dl
2.4 Cardinality Range Type lite dl dl
2.5 Restriction Group (Property filler restriction) lite dl dl
2.6 Domain and Range Group lite dl dl
2.7 Inverse Functional Attribute of Data Property lite lite full
2.8 Inverse Functional Attribute of Object Property lite dl dl

2.1 Common Core

This module specifies a core module (owl1-lite-core.xsd) common to all the sublanguages, and is included into every Schema driver. This core module requires additional modules explained in the following subsections.

Example of OWL header elements
<owls:Ontology owls:name="pfps-sample"
     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns:owls="http://www.w3.org/2003/OWL-XMLSchema">

  <owls:VersionInfo>pfps-sample_dl 2003/01/09</owls:VersionInfo>
  <owls:PriorVersion owls:ontology="http://example.org/old-sample.xml" /> 
  <owls:Annotation>
    <owls:Documentation>A sample ontology</owls:Documentation>
  </owls:Annotation>

  <owls:Imports owls:ontology="example.xml" />
  <owls:Imports owls:ontology="example-2.xml" />

2.2 Class Element Group

The Class Element Group modules (owl1-lite-classElementGroup.xsd and owl1-dl-classElementGroup.xsd) control the inclusion of the following class elements.

Several examples of OWL document fragments are given below.

Example of EquivalentClasses in OWL Lite.
<owls:EquivalentClasses>
  <owls:Class owls:name="a" />
  <owls:Class owls:name="b" />
  <owls:Class owls:name="c" /> 
</owls:EquivalentClasses>
In OWL Lite, EquivalentClasses can only take a list of class IDs.
Example of EquivalentClasses in OWL DL.
<owls:EquivalentClasses>
  <owls:Class owls:name="a" />
  <owls:IntersectionOf>
    <owls:Class owls:name="b" />
    <owls:Class owls:name="c" />
  </owls:IntersectionOf>
  <owls:ComplementOf>
    <owls:Class owls:name="d" /> 
  </owls:ComplementOf>
</owls:EquivalentClasses> 
In OWL DL (and Full), EquivalentClasses can take a list of descriptions.
Example of a super class declaration in OWL Lite
<owls:Class owls:name="Professor" owls:complete="false"> 
  <owls:Class owls:name="Person" />
</owls:Class>
In OWL Lite, a super class can only be specified by a class ID.
Example of SubClassOf in OWL DL
<owls:SubClassOf>
  <owls:sub>
    <owls:IntersectionOf>
      <owls:Class owls:name="Professor" />
      <owls:Class owls:name="Person" />
    </owls:IntersectionOf>
  </owls:sub>
  <owls:super>
    <owls:ComplementOf>
      <owls:Class owls:name="Rock" /> 
    </owls:ComplementOf>
  </owls:super>
</owls:SubClassOf>
In OWL DL (and OWL Full), SubClassOf can take two descriptions.
Example of EnumeratedClass in OWL DL/Full
<owls:EnumeratedClass owls:name="FooBarJohn"> 
  <owls:Individual owls:name="PersonFoo" />     
  <owls:Individual owls:name="PersonBar" />     
  <owls:Individual owls:name="John">
    <owls:ObjectPropertyValue owls:property="child">
      <owls:Individual owls:name="Susan" />
      <owls:Individual owls:name="Josie" />
    </owls:ObjectPropertyValue> 
  </owls:Individual> 
</owls:EnumeratedClass>                      

The OWL Lite Schema driver (owl1-lite.xsd) includes an XML Schema module (owl1-lite-classElementGroup.xsd) that makes EnumeratedClass available in OWL Lite. In addition, SubClassOf, EquivalentClasses and DisjointClasses are not included in this module because they are not available in OWL Lite.

Definition of classElements group and declraration of EquivalentClasses element for OWL Lite in owl1-lite-classElementGroup.xsd
<xsd:group name="classElements">
  <xsd:choice>
    <xsd:element ref="owls:EquivalentClasses" /> 
  </xsd:choice>
</xsd:group>

<xsd:element name="EquivalentClasses">
  <xsd:complexType> 
    <xsd:sequence minOccurs="1" maxOccurs="unbounded">
      <xsd:element name="Class" type="owls:ClassIDType" /> 
    </xsd:sequence>
  </xsd:complexType>
</xsd:element> 

As given in the above excerption, 'EquivalentClasses' in OWL Lite is only applicable to Class IDs. On the other hand, in owl1-dl-classElementGroup.xsd that is included by the Schema drivers for OWL DL (owl1-dl.xsd) and OWL Full (owl-full.xsd), 'EquivalentClasses' is extended as equality among descriptions. Moreover, SubClassOf, EnumeratedClasses, and DisjointClasses are made available for OWL DL and Full as shown in the excerption of the XML Schema module below.

Definition of classElements group and declraration of EquivalentClasses element for OWL DL and OWL Full in owl1-dl-classElementGroup.xsd
<xsd:group name="classElements">   
  <xsd:choice>
    <xsd:element ref="owls:EquivalentClasses" />

    <!-- The following three elements are added for OWL DL and Full --> 
    <xsd:element ref="owls:SubClassOf" />
    <xsd:element ref="owls:EnumeratedClass" />
    <xsd:element ref="owls:DisjointClasses" />
  </xsd:choice>
</xsd:group>

<xsd:element name="EquivalentClasses">
  <xsd:complexType> 
    <xsd:sequence minOccurs="1" maxOccurs="unbounded">
      <xsd:group ref="owls:description" />
    </xsd:sequence>
  </xsd:complexType>
</xsd:element>

2.3 Description Group

The Description Group modules (owl1-lite-descriptionGroup.xsd and owl1-dl-descriptionGroup.xsd) control the inclusion of the elements declared as members of a description.

Example of Datatype/Object restriction for OWL DL.
<owls:Class owls:name="Student" owls:complete="false"> 
  <owls:Class owls:name="Person" />
  <owls:Class owls:name="Thing" /> 
  <owls:ComplementOf>
    <owls:Class owls:name="Rock" /> 
  </owls:ComplementOf>

  <owls:ObjectRestriction owls:property="child" owls:maxCardinality="1">
    <owls:allValuesFrom owls:class="Person" />
  </owls:ObjectRestriction>
  <owls:ObjectRestriction owls:property="advisor" owls:minCardinality="1">
    <owls:allValuesFrom owls:class="Person" />
    <owls:someValueFrom owls:class="Professor" />
  </owls:ObjectRestriction>                  
  <owls:DatatypeRestriction owls:property="studentID" owls:cardinality="1">
    <owls:allValuesFrom owls:datatype="xsd:integer" />
  </owls:DatatypeRestriction> 
</owls:Class>

The OWL Lite Schema driver (owl1-lite.xsd) includes an XML Schema module (owl1-lite-descriptionGroup.xsd) that makes Class, DatatypeResiction, and ObjectRestriction available in OWL Lite. However, UnionOf, IntersectionOf, ComplementOf, and OneOf are not included in this module because they are not available in OWL Lite.

Definition of description group for OWL Lite in owl1-lite-descriptionGroup.xsd
<xsd:group name="description"> 
  <xsd:choice>
    <xsd:element name="Class" type="owls:ClassIDType"
                 minOccurs="1" maxOccurs="1" />
    <xsd:element ref="owls:DatatypeRestriction" 
                 minOccurs="1" maxOccurs="1" />
    <xsd:element ref="owls:ObjectRestriction" 
                 minOccurs="1" maxOccurs="1" /> 

    <!-- Boolean combination and class enumeration are not included --> 
  </xsd:choice>
</xsd:group>

As given in the above excerption, a description in OWL Lite only includes either a named class, datatype restriction, or object restriction. On the other hand, in owl1-dl-descriptionGroup.xsd that is included by the Schema drivers for OWL DL (owl1-dl.xsd) and OWL Full (owl-full.xsd), UnionOf, IntersectionOf, ComplementOf, and OneOf are decleared for OWL DL and Full as shown in the excerption of the XML Schema module below.

Redefinition of the description group in owl1-dl-descriptionGroup.xsd for OWL DL and OWL Full
<xsd:redefine schemaLocation="owl1-lite-descriptionGroup.xsd"> 
  <xsd:group name="description">   
    <xsd:choice>
      <xsd:group ref="owls:description" /> 

      <!-- Elements for boolean combination are added --> 
      <xsd:element name="UnionOf" type="owls:DescriptionsType"
                   minOccurs="1" maxOccurs="1" />
      <xsd:element name="IntersectionOf" type="owls:DescriptionsType"
                   minOccurs="1" maxOccurs="1" />
      <xsd:element name="ComplementOf" type="owls:DescriptionType" 
                   minOccurs="1" maxOccurs="1" />

      <!-- An element for class enumeration is added --> 
      <xsd:element name="OneOf" minOccurs="1" maxOccurs="1"> 
        <xsd:complexType> 
          <xsd:group ref="owls:individuals" />
        </xsd:complexType>
      </xsd:element> 
    </xsd:choice>
  </xsd:group>
</xsd:redefine>

2.4 Cardinality Range Type

The Cardinality Range Type modules (owl1-lite-cardinalityRangeType.xsd and owl1-dl-cardinalityRangeType.xsd) allows to change the cardinality restriction features. OWL Lite only permits cardinality values of 0 or 1, while arbitrary non-negative integers are allowed for OWL DL and OWL Full.

In the XML presentation syntax, cardinality restrictions are represented as attributes (minCardinality, maxCardinality, and cardinality) of DatatypeRestriction and ObjectRestriction elements. The constraints on cardinality attributes are represented by using a simple type definition CardinalityRangeType, which is referred to in the element definitions of DatatypeRestriction and ObjectRestriction (see the excerption below).

Declarations of DatatypeRestriction and ObjectRestriction elements in owl1-lite-core.xsd
<xsd:element name="DatatypeRestriction">
  <xsd:complexType> 
    <xsd:sequence minOccurs="0" maxOccurs="unbounded">
      <xsd:group ref="owls:dataRestriction" /> 
    </xsd:sequence>
    <xsd:attribute name="property" type="owls:DataPropertyName" 
                   use="required" />
    <xsd:attribute name="minCardinality" type="owls:CardinalityRangeType" />
    <xsd:attribute name="maxCardinality" type="owls:CardinalityRangeType" />
    <xsd:attribute name="cardinality"    type="owls:CardinalityRangeType" /> 
  </xsd:complexType>
</xsd:element>

<xsd:element name="ObjectRestriction">
  <xsd:complexType> 
    <xsd:sequence minOccurs="0" maxOccurs="unbounded">
      <xsd:group ref="owls:objectRestriction" /> 
    </xsd:sequence>
    <xsd:attribute name="property" type="owls:IndividualPropertyName" 
                   use="required" />
    <xsd:attribute name="minCardinality" type="owls:CardinalityRangeType" />
    <xsd:attribute name="maxCardinality" type="owls:CardinalityRangeType" />
    <xsd:attribute name="cardinality"    type="owls:CardinalityRangeType" /> 
  </xsd:complexType>
</xsd:element>

The OWL Lite Schema driver (owl1-lite.xsd) includes an XML Schema module (owl1-lite-cardinalityRangeType.xsd) with a cardinality range type that only permits cardinality values of 0 or 1.

A simple type definition of CardinalityRangeType for OWL Lite in owl1-lite-cardinalityRangeType.xsd
<xsd:simpleType name="CardinalityRangeType"> 
  <xsd:restriction base="xsd:nonNegativeInteger"> 
    <xsd:minInclusive value="0" />
    <xsd:maxInclusive value="1" />
  </xsd:restriction>
</xsd:simpleType>

The definition of the cardinality range type is extended for OWL DL and OWL Full in owl1-dl-cardinalityRangeType.xsd, so that cardinality values can take arbitrary non-negative integers (see the excerption below). The schema module with the extended range type is included by the Schema drivers for OWL DL (owl1-dl.xsd) and OWL Full (owl-full.xsd).

Definition of a simple type CardinalityRangeType for OWL DL and OWL Full in owl1-dl-cardinalityRangeType.xsd
<xsd:simpleType name="CardinalityRangeType">
  <xsd:restriction base="xsd:nonNegativeInteger" /> 
</xsd:simpleType>

2.5 Restriction Group

The Restriction Group modules (owl1-lite-restrictionGroup.xsd and owl1-dl-restrictionGroup.xsd) control the inclusion of the elements for property filler restriction listed below.

The OWL Lite Schema driver (owl1-lite.xsd) includes an XML Schema module (owl1-lite-restrictionGroup.xsd) that makes allValuesFrom and someValueFrom elements available for both datatype and object restrictions in OWL Lite. Moreover, value (hasValue) restriction is not included because it is not available in OWL Lite. In particular, the allValuesFrom and someValueFrom are restricted only for datatype ID for datatype restriction and class ID for object restriction as given in the excerption below.

Declarations of allValueFrom and someValuesFrom elements for OWL Lite in owl1-lite-restrictionGroup.xsd
<xsd:group name="dataRestriction">
  <xsd:choice>
    <xsd:element name="allValuesFrom" type="owls:datatypeAttrType" /> 
    <xsd:element name="someValueFrom" type="owls:datatypeAttrType" />
    <!-- 'value' (hasValue) restriction is not included --> 
  </xsd:choice>
</xsd:group>
  
<xsd:group name="objectRestriction"> 
  <xsd:choice>
    <xsd:element name="allValuesFrom" type="owls:classAttrType" /> 
    <xsd:element name="someValueFrom" type="owls:classAttrType" /> 
    <!-- 'value' (hasValue) restriction is not included --> 
  </xsd:choice>
</xsd:group>

On the other hand, in owl1-dl-restrictionGroup.xsd that is included by the Schema drivers for OWL DL (owl1-dl.xsd) and OWL Full (owl-full.xsd), allValuesFrom and someValueFrom restrictions can be applicable to DataRangeType for datatype restriction and DescriptionsType for object restriction. In addition, 'value' (hasValue) elements are added to both datatype and object restriction as shown below.

Declarations of allValueFrom, someValuesFrom, and value elements for OWL DL and OWL Full in owl1-dl-restrictionGroup.xsd
<xsd:group name="dataRestriction">   
  <xsd:choice>
    <xsd:element name="allValuesFrom" type="owls:DataRangeType" />
    <xsd:element name="someValueFrom" type="owls:DataRangeType" />
    <!-- 'value' (hasValue) restriction is added --> 
    <xsd:element name="value" type="xsd:anySimpleType" />
  </xsd:choice>
</xsd:group>

<xsd:group name="objectRestriction"> 
  <xsd:choice>
    <xsd:element name="allValuesFrom" type="owls:DescriptionsType" />
    <xsd:element name="someValueFrom" type="owls:DescriptionsType" />
    <!-- 'value' (hasValue) restriction is added --> 
    <xsd:element name="value" type="owls:IndividualIDType" />
  </xsd:choice>
</xsd:group>

2.6 Domain and Range Group

Domain and Range group modules (owl1-lite-domainRangeGroup.xsd and owl1-dl-domainRangeGroup.xsd) allows to change element types of domain and range. In OWL Lite, datatype properties only allow class ID for domain and datatype ID for range. In addition, object properties only allow class IDs for their domain and range. These restrictions are realized as in the excerption below.

Declarations of domain and range elements for OWL Lite in owl1-lite-domainRangeGroup.xsd
<xsd:group name="dataPropDomainRange"> 
  <xsd:choice>
    <xsd:element name="domain" type="owls:ClassesType" /> 
    <xsd:element name="range"  type="owls:datatypeAttrType" />
  </xsd:choice>
</xsd:group>
  
<xsd:group name="objectPropDomainRange"> 
  <xsd:choice>
    <xsd:element name="domain" type="owls:ClassesType" /> 
    <xsd:element name="range"  type="owls:ClassesType" /> 
  </xsd:choice>
</xsd:group>

Element types of domain and range are broadened for OWL DL and OWL Full. Datatype properties allow descriptions for domain and data range for range. In the object properties, descriptions can be taken for both doman and range. These extensions in the declarations of domain and range elements are depicted below.

Declarations of domain and range elements for OWL DL and OWL Full in owl1-dl-domainRangeGroup.xsd
<xsd:group name="dataPropDomainRange"> 
  <xsd:choice>
    <xsd:element name="domain" type="owls:DescriptionsType" />
    <xsd:element name="range"  type="owls:DataRangeType" /> 
  </xsd:choice>
</xsd:group>
  
<xsd:group name="objectPropDomainRange"> 
  <xsd:choice>
    <xsd:element name="domain" type="owls:DescriptionsType" />
    <xsd:element name="range"  type="owls:DescriptionsType" /> 
  </xsd:choice>
</xsd:group>

2.7 Inverse Functional Attribute of Data Property

Datatype Property may be declared as inverse functional in OWL Full, while it must not be in OWL DL and OWL Lite. Note that Object Property may be declared as inverse functional not only in OWL Full but also in OWL DL (see also the section 2.8 Inverse Functional Attribute of Object Property).

The Schema drivers for OWL Lite (owl1-lite.xsd) and OWL DL (owl1-dl.xsd) include a module (owl1-lite-dataPropInverseFuncAttr.xsd) for the inverse functional attribute of Datatype Property to be fixed as 'false'.

Declaration of inverseFunctional attribute in datatype property for OWL Lite and OWL DL (owl1-lite-dataPropInverseFuncAttra.xsd)
<xsd:attributeGroup name="dataPropInverseFuncAttr"> 
  <xsd:attribute name="inverseFunctional" type="xsd:boolean" fixed="false" /> 
</xsd:attributeGroup>

On the other hand, the inverse functional attribute of Datatype Property is set to 'false' by default (and may be changed to 'true' as needed) in the module for OWL Full (owl1-full-dataPropInverseFuncAttr.xsd) that is included by the OWL Full Schema driver (owl1-full.xsd).

Declaration of inverseFunctional attribute in datatype property for OWL Full (owl1-full-dataPropInverseFuncAttra.xsd)
<xsd:attributeGroup name="dataPropInverseFuncAttr"> 
  <xsd:attribute name="inverseFunctional" type="xsd:boolean" default="false" />
</xsd:attributeGroup>

2.8 Inverse Functional Attribute of Object Property

Object Property may be declared as inverse functional in OWL DL and OWL Full, while it must not be in OWL Lite. Note that Datatype Property must not be inverse functional in OWL DL and OWL Lite (see also the section 2.7 Inverse Functional Attribute of Data Property).

The Schema drivers for OWL Lite (owl1-lite.xsd) includes the module (excerpted below) for the inverse functional attribute of Object Property to be fixed as 'false'.

Declaration of inverseFunctional attribute of object property for OWL Lite (owl1-lite-objPropInverseFuncAttr.xsd)
<xsd:attributeGroup name="objectPropInverseFuncAttr"> 
  <xsd:attribute name="inverseFunctional" type="xsd:boolean" fixed="false" />
</xsd:attributeGroup>

On the other hand, the inverse functional attribute of Object Property is set to 'false' by default (and may be changed to 'true' as needed) in the module (excerpted below) for OWL DL that is included by the Schema drivers for OWL DL (owl1-dl.xsd) and OWL Full (owl1-full.xsd).

Declaration of inverseFunctional attribute of object property for OWL DL and OWL Full (owl1-dl-objPropInverseFuncAttr.xsd)
<xsd:attributeGroup name="objectPropInverseFuncAttr"> 
  <xsd:attribute name="inverseFunctional" type="xsd:boolean" default="false" />
</xsd:attributeGroup>

3. XML Schemas

Table of module inclusion is given below for each XML Schema driver.

3.1.1
OWL Lite
owl1-lite.xsd
3.1.2
OWL DL
owl1-dl.xsd
3.1.3
OWL Full
owl1-full.xsd
3.2.1 owl1-lite-core.xsd x x x
3.2.2 owl1-lite-classElementGroup.xsd x    
owl1-dl-classElementGroup.xsd   x x
3.2.3 owl1-lite-descriptionGroup.xsd x x x
owl1-dl-descriptionGroup.xsd   x x
3.2.4 owl1-lite-cardinalityRangeType.xsd x    
owl1-dl-cardinalityRangeType.xsd   x x
3.2.5 owl1-lite-restrictionGruop.xsd x    
owl1-dl-restrictionGruop.xsd   x x
3.2.5 owl1-lite-domainRangeGruop.xsd x    
owl1-dl-domainRangeGruop.xsd   x x
3.2.7 owl1-lite-dataPropInverseFuncAttr.xsd x x  
owl1-full-dataPropInverseFuncAttr.xsd     x
3.2.8 owl1-lite-objPropInverseFuncAttr.xsd x    
owl1-dl-objectPropInverseFuncAttr.xsd   x x

3.1 Schema Drivers

3.1.1 OWL Lite Schema Driver

owl1-lite.xsd
<!--
XML Schema Driver for the XML Presentation Syntax of OWL 1.0 Lite 
Copyright: 2002-2003 W3C (MIT, INRIA, Keio), All Rights Reserved.
See http://www.w3.org/Consortium/Legal/.

Public URI: http://www.w3.org/2003/owl1-lite.xsd 
Authors: Masahiro Hori (IBM Research)
         Peter F. Patel-Schneider (Bell Labs Research)
Revision: 2003/01/09 
-->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:owls="http://www.w3.org/2003/OWL-XMLSchema"
    targetNamespace="http://www.w3.org/2003/OWL-XMLSchema"
    elementFormDefault="qualified"
    attributeFormDefault="qualified">

  <xsd:annotation>
    <xsd:documentation>
      XML Schema driver for OWL 1.0 Lite. 
      The root element of OWL documents for the XML 
      presentation syntax must be the Ontology element. 
    </xsd:documentation>
  </xsd:annotation>

  <xsd:include schemaLocation="module/owl1-lite-core.xsd" /> 
  <xsd:include schemaLocation="module/owl1-lite-classElementGroup.xsd" /> 
  <xsd:include schemaLocation="module/owl1-lite-descriptionGroup.xsd" /> 
  <xsd:include schemaLocation="module/owl1-lite-cardinalityRangeType.xsd" /> 
  <xsd:include schemaLocation="module/owl1-lite-restrictionGroup.xsd" /> 
  <xsd:include schemaLocation="module/owl1-lite-domainRangeGroup.xsd" /> 
  <xsd:include schemaLocation="module/owl1-lite-dataPropInverseFuncAttr.xsd" /> 
  <xsd:include schemaLocation="module/owl1-lite-objectPropInverseFuncAttr.xsd" /> 
</xsd:schema>

3.1.2 OWL DL Schema Driver

owl1-dl.xsd
<!--
XML Schema Driver for the XML Presentation Syntax of OWL 1.0 DL 
Copyright: 2002-2003 W3C (MIT, INRIA, Keio), All Rights Reserved.
See http://www.w3.org/Consortium/Legal/.

Public URI: http://www.w3.org/2003/owl1-dl.xsd 
Authors: Masahiro Hori (IBM Research)
         Peter F. Patel-Schneider (Bell Labs Research)
Revision: 2003/01/09 
-->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:owls="http://www.w3.org/2003/OWL-XMLSchema"
    targetNamespace="http://www.w3.org/2003/OWL-XMLSchema"
    elementFormDefault="qualified"
    attributeFormDefault="qualified">

  <xsd:annotation>
    <xsd:documentation>
      XML Schema driver for OWL 1.0 DL
      The root element of OWL documents for the XML 
      presentation syntax must be the Ontology element. 
    </xsd:documentation>
  </xsd:annotation>

  <xsd:include schemaLocation="module/owl1-lite-core.xsd" /> 
  <xsd:include schemaLocation="module/owl1-dl-classElementGroup.xsd" /> 
  <xsd:include schemaLocation="module/owl1-dl-descriptionGroup.xsd" /> 
  <xsd:include schemaLocation="module/owl1-dl-cardinalityRangeType.xsd" /> 
  <xsd:include schemaLocation="module/owl1-dl-restrictionGroup.xsd" /> 
  <xsd:include schemaLocation="module/owl1-dl-domainRangeGroup.xsd" /> 
  <xsd:include schemaLocation="module/owl1-lite-dataPropInverseFuncAttr.xsd" /> 
  <xsd:include schemaLocation="module/owl1-dl-objectPropInverseFuncAttr.xsd" /> 
</xsd:schema>

3.1.3 OWL Full Schema Driver

owl1-full.xsd
<!--
XML Schema Driver for the XML Presentation Syntax of OWL 1.0 Full 
Copyright: 2002-2003 W3C (MIT, INRIA, Keio), All Rights Reserved.
See http://www.w3.org/Consortium/Legal/.

Public URI: http://www.w3.org/2003/owl1-full.xsd 
Authors: Masahiro Hori (IBM Research)
         Peter F. Patel-Schneider (Bell Labs Research)
Revision: 2003/01/09 
-->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:owls="http://www.w3.org/2003/OWL-XMLSchema" 
    targetNamespace="http://www.w3.org/2003/OWL-XMLSchema"
    elementFormDefault="qualified"
    attributeFormDefault="qualified">

  <xsd:annotation>
    <xsd:documentation>
      XML Schema driver for OWL 1.0 Full
      The root element of OWL documents for the XML 
      presentation syntax must be the Ontology element. 
    </xsd:documentation>
  </xsd:annotation>

  <xsd:include schemaLocation="module/owl1-lite-core.xsd" /> 
  <xsd:include schemaLocation="module/owl1-dl-classElementGroup.xsd" /> 
  <xsd:include schemaLocation="module/owl1-dl-descriptionGroup.xsd" /> 
  <xsd:include schemaLocation="module/owl1-dl-cardinalityRangeType.xsd" /> 
  <xsd:include schemaLocation="module/owl1-dl-restrictionGroup.xsd" /> 
  <xsd:include schemaLocation="module/owl1-dl-domainRangeGroup.xsd" /> 
  <xsd:include schemaLocation="module/owl1-full-dataPropInverseFuncAttr.xsd" /> 
  <xsd:include schemaLocation="module/owl1-dl-objectPropInverseFuncAttr.xsd" /> 
</xsd:schema>

3.2 Schema Modules

3.2.1 Common Core Module

module/owl1-lite-core.xsd
<!--
XML Schema Module for the XML Presentation Syntax of OWL 1.0
Copyright: 2002-2003 W3C (MIT, INRIA, Keio), All Rights Reserved.
See http://www.w3.org/Consortium/Legal/.

Authors: Peter F. Patel-Schneider (Bell Labs Research)
         Masahiro Hori (IBM Research)
Revision: 2003/01/09 
-->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:owls="http://www.w3.org/2003/OWL-XMLSchema"
    targetNamespace="http://www.w3.org/2003/OWL-XMLSchema"
    elementFormDefault="qualified"
    attributeFormDefault="qualified"> 

<xsd:annotation>
  <xsd:documentation>
    This module specifies a core part of the XML Schemas  
    common to all the OWL sublanguages, and is included into 
    every Schema driver. 
  </xsd:documentation>
</xsd:annotation>

<xsd:element name="Ontology"> 
  <xsd:annotation>
    <xsd:documentation>
      This element is used as the root element of 
      OWL documents in the XML presentation syntax. 
    </xsd:documentation>
    <xsd:documentation>
      'owls:classElements' group is included from either 
         + owl1-lite-classElementGroup.xsd [Lite] or 
         + owl1-dl-classElementGroup.xsd [DL/Full] 
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexType> 
    <xsd:sequence>
      <!-- Version elements --> 
      <xsd:element name="VersionInfo" minOccurs="0" maxOccurs="1"> 
        <xsd:complexType mixed="true" /> 
      </xsd:element>
      <xsd:element name="PriorVersion" type="owls:ontologyAttrType" 
                   minOccurs="0" maxOccurs="1" />

      <xsd:sequence minOccurs="0" maxOccurs="unbounded">
        <xsd:choice>
          <!-- Header elements --> 
          <xsd:element name="BackwardCompatibleWith" 
                       type="owls:ontologyAttrType" /> 
          <xsd:element name="IncompatibleWith" 
                       type="owls:ontologyAttrType" /> 
          <xsd:element name="Imports" type="owls:ontologyAttrType" /> 
          <xsd:element ref="owls:Annotation" />

          <!-- Class elements --> 
          <xsd:element ref="owls:Class" />
          <xsd:group   ref="owls:classElements" />
          <xsd:element ref="owls:DeprecatedClass" />
  
          <!-- Property elements --> 
          <xsd:element ref="owls:DatatypeProperty" />
          <xsd:element ref="owls:ObjectProperty" />
          <xsd:element ref="owls:EquivalentProperties" /> 
          <xsd:element ref="owls:SubPropertyOf" />
          <xsd:element ref="owls:DeprecatedProperty" />
   
          <!-- Instances --> 
          <xsd:element ref="owls:Individual" />
          <xsd:element ref="owls:SameIndividual" />
          <xsd:element ref="owls:DifferentIndividuals" />
        </xsd:choice>
      </xsd:sequence>
    </xsd:sequence>
    <xsd:attribute name="name" type="owls:OntologyName" />
  </xsd:complexType>

  <xsd:unique name="classNameUniqueness"> 
    <xsd:annotation>
      <xsd:documentation>
        This constraint ensures that every class name is unique 
        in a single OWL document. 
      </xsd:documentation>
    </xsd:annotation>
    <xsd:selector xpath="owls:Class" /> 
    <xsd:field xpath="@owls:name" /> 
  </xsd:unique>
</xsd:element> 


<xsd:element name="Annotation">
  <xsd:annotation>
    <xsd:documentation>
      Annotations allow arbitrary uninterpreted 
      information to be added to ontologies. 
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexType> 
    <xsd:sequence minOccurs="0" maxOccurs="unbounded">
      <xsd:choice>
        <xsd:element ref="owls:Info" />
        <xsd:element ref="owls:Documentation" /> 
      </xsd:choice>
    </xsd:sequence> 
  </xsd:complexType>
</xsd:element>

<xsd:element name="Info">
  <xsd:complexType>
    <xsd:attribute name="subject" type="xsd:anyURI" use="required" />
    <xsd:attribute name="object" type="xsd:anyURI" use="required" /> 
  </xsd:complexType>
</xsd:element>

<xsd:element name="Documentation">
  <xsd:complexType mixed="true"> 
    <xsd:sequence minOccurs="0" maxOccurs="unbounded">
      <xsd:any processContents="lax" />
    </xsd:sequence>
    <xsd:attribute name="subject" type="xsd:anyURI" />
  </xsd:complexType>
</xsd:element>

<xsd:complexType name="annotated">
  <xsd:annotation>
    <xsd:documentation>
      This complex type is extended by all the elements 
      that may have annotation.  Annotated type is used by: 
        + Ontology/Individual [Lite/DL/Full]
        + Ontology/Class [Lite/DL/Full]
        + Ontology/DatatypeProperty [Lite/DL/Full]
        + Ontology/ObjectProperty [Lite/DL/Full]
        + classElements/EnumerationType(EnumeratedClass) [DL/Full] 
      Note that 'Ontology' is not extended from 'annotated' 
      complexType, but embeds 'Annotation' element.  
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence minOccurs="0" maxOccurs="unbounded">
    <xsd:element ref="owls:Annotation" /> 
  </xsd:sequence>
</xsd:complexType>


<xsd:element name="Class">
  <xsd:annotation>
    <xsd:documentation>
      'Class' contains a non-empty sequence of descriptions.  
      Attributes provide a class name and the modality. 
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexType>
    <xsd:complexContent>
      <xsd:extension base="owls:annotated"> 
        <xsd:sequence minOccurs="0" maxOccurs="unbounded">
          <xsd:group ref="owls:description" />
        </xsd:sequence>
        <xsd:attribute name="name" type="owls:ClassName" use="required" />
        <xsd:attribute name="complete" type="xsd:boolean" use="required" /> 
      </xsd:extension> 
    </xsd:complexContent>
  </xsd:complexType>
</xsd:element>


<xsd:annotation>
  <xsd:documentation>
    Property elements (DatatypeProperty, ObjectProperty) contain 
    supers, domains, and ranges, along with characteristics of 
    the property. 
  </xsd:documentation>
</xsd:annotation>

<xsd:element name="DatatypeProperty"> 
  <xsd:annotation>
    <xsd:documentation>
      'owls:dataPropDomainRange' group is included from either 
         + owl1-lite-dataDomainRangeGroup.xsd [Lite] or 
         + owl1-dl-dataDomainRangeGroup.xsd [DL/Full]  
    </xsd:documentation>
    <xsd:documentation>
      'owls:dataPropInverseFuncAttr' attribute group is 
      included from either 
         + owl1-lite-dataPropInverseFuncAttr.xsd [Lite/DL] or 
         + owl1-full-dataPropInverseFuncAttr.xsd [Full] 
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexType>
    <xsd:complexContent>
      <xsd:extension base="owls:annotated"> 
        <xsd:sequence minOccurs="0" maxOccurs="unbounded">
          <xsd:choice>
            <xsd:element name="super"  type="owls:DataPropertyIDType" />
            <xsd:group ref="owls:dataPropDomainRange" /> 
          </xsd:choice>
        </xsd:sequence>
        <xsd:attribute name="name" type="owls:DataPropertyName" use="required" />
        <xsd:attribute name="functional" type="xsd:boolean" default="false" /> 
        <xsd:attributeGroup ref="owls:dataPropInverseFuncAttr" /> 
      </xsd:extension> 
    </xsd:complexContent>
  </xsd:complexType>
</xsd:element> 


<xsd:element name="ObjectProperty">
  <xsd:annotation>
    <xsd:documentation>
      'owls:objectPropDomainRange' group is included from either 
         + owl1-lite-dataDomainRangeGroup.xsd [Lite] or 
         + owl1-dl-dataDomainRangeGroup.xsd [DL/Full] 
    </xsd:documentation>
    <xsd:documentation>
       'owls:objectPropInverseFuncAttr' attribute group is 
       included from either 
          + owl1-lite-objectPropInverseFuncAttr.xsd [Lite] or 
          + owl1-dl-objectPropInverseFuncAttr.xsd [DL/Full] 
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexType>
    <xsd:complexContent>
      <xsd:extension base="owls:annotated"> 
        <xsd:sequence minOccurs="0" maxOccurs="unbounded">
          <xsd:choice>
            <xsd:element name="super" type="owls:IndividualPropertyIDType" />
            <xsd:group ref="owls:objectPropDomainRange" /> 
          </xsd:choice>
        </xsd:sequence>
        <xsd:attribute name="name" type="owls:IndividualPropertyName" 
                       use="required" />
        <xsd:attribute name="inverseOf"  type="owls:IndividualPropertyName" />
        <xsd:attribute name="transitive" type="xsd:boolean" default="false" />
        <xsd:attribute name="symmetric"  type="xsd:boolean" default="false" />
        <xsd:attribute name="functional" type="xsd:boolean" default="false" />
        <xsd:attributeGroup ref="owls:objectPropInverseFuncAttr" /> 
      </xsd:extension> 
    </xsd:complexContent>
  </xsd:complexType>
</xsd:element>


<xsd:complexType name="DataRangeType">
  <xsd:annotation>
    <xsd:documentation>
      Datatypes and sets of values can show up in data property ranges.  
    </xsd:documentation>
    <xsd:documentation>
      Used by: 
        + dataRestriction/allValuesFrom [DL/Full] 
        + dataRestriction/someValueFrom [DL/Full] 
        + dataPropDomainRange/range [DL/Full] 
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element name="OneOf" minOccurs="0" maxOccurs="1">
      <xsd:complexType>
        <xsd:group ref="owls:datavalues" />
      </xsd:complexType>
    </xsd:element>
  </xsd:sequence>
  <xsd:attribute name="datatype" type="owls:DatatypeName" />
</xsd:complexType>


<xsd:element name="EquivalentProperties">
<xsd:complexType>
  <xsd:annotation>
    <xsd:documentation>
      EquivalentProperties takes several propertyIDs with 
      the same property type (i.e., either DatatypeProperty 
      or ObjectProperty). 
    </xsd:documentation>
    <xsd:documentation>
      Used by: 
        + Ontology/EquivalentProperties [Lite/DL/Full] 
    </xsd:documentation>
  </xsd:annotation>
  <xsd:choice>
    <xsd:element name="DatatypeProperty" type="owls:PropertyIDType" 
                 minOccurs="1" maxOccurs="unbounded" />
    <xsd:element name="ObjectProperty" type="owls:PropertyIDType" 
                 minOccurs="1" maxOccurs="unbounded" />
  </xsd:choice>
</xsd:complexType>
</xsd:element>


<xsd:element name="SubPropertyOf">
  <xsd:annotation>
    <xsd:documentation>
      A subproperty statement is just two propertyIDs, sub and 
      super, with the following restrictions (not expressed here)
      if sub is a data property then super must be a data property
      if sub is a simple property then super must be an individual 
      property. There are other restrictions having to do with 
      transitivity and cardinalites. 
    </xsd:documentation>
    <xsd:documentation>
      Used by: 
        + Ontology/SubPropertyOf [Lite/DL/Full] 
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexType>
    <xsd:choice minOccurs="1" maxOccurs="1">
      <xsd:element name="DatatypeProperty" type="owls:PropertyIDType" />
      <xsd:element name="ObjectProperty" type="owls:PropertyIDType" />
    </xsd:choice>
    <xsd:attribute name="sub" type="owls:PropertyName" use="required" />
  </xsd:complexType>
</xsd:element>


<xsd:annotation>
  <xsd:documentation>
    'owls:description' group is included from either 
       + owl1-lite-descriptionGroup.xsd [Lite] or 
       + owl1-dl-descriptionGroup.xsd [DL/Full] 
  </xsd:documentation>
</xsd:annotation>


<xsd:complexType name="DescriptionType"> 
  <xsd:annotation>
    <xsd:documentation>
      Used by: 
        + SubClassOf/sub [DL/Full]
        + SubClassOf/super [DL/Full]
        + description/ComplementOf [DL/Full] 
    </xsd:documentation>
  </xsd:annotation>
  <xsd:group ref="owls:description" />
</xsd:complexType>

<xsd:complexType name="DescriptionsType"> 
  <xsd:annotation>
    <xsd:documentation>
      Used by: 
        + DatatypeProperty/domain [DL/Full]
        + ObjectProperty/domain [DL/Full]
        + ObjectProperty/range [DL/Full]
        + description/UnionOf [DL/Full]
        + description/IntersectionOf [DL/Full]
        + objectRestrictionType/allValuesFrom [DL/Full]
        + objectRestrictionType/someValueFrom [DL/Full]
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence minOccurs="0" maxOccurs="unbounded">
    <xsd:group ref="owls:description" />
  </xsd:sequence>
  <xsd:attribute name="class" type="owls:ClassName" />
</xsd:complexType>


<xsd:annotation>
  <xsd:documentation>
    All types of restrictions (DatatypeRestriction and 
    ObjectRestriction) have the property name as an attribute, 
    an optional cardinality, zero or more ranges, zero or more 
    required restrictions, and zero or more value restrictions. 
    There is a side condition that restrictions on transitive 
    properties and their sub-properties cannot have cardinality 
    constraints. 
  </xsd:documentation>
</xsd:annotation>

<xsd:element name="DatatypeRestriction">
  <xsd:annotation>
    <xsd:documentation>
      Used by 'description' [Lite/DL/Full] 
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexType> 
    <xsd:sequence minOccurs="0" maxOccurs="unbounded">
      <xsd:group ref="owls:dataRestriction" /> 
    </xsd:sequence>
    <xsd:attribute name="property" type="owls:DataPropertyName" 
                   use="required" />
    <xsd:attribute name="minCardinality" type="owls:CardinalityRangeType" />
    <xsd:attribute name="maxCardinality" type="owls:CardinalityRangeType" />
    <xsd:attribute name="cardinality"    type="owls:CardinalityRangeType" /> 
  </xsd:complexType>
</xsd:element>

<xsd:element name="ObjectRestriction">
  <xsd:annotation>
    <xsd:documentation>
      Used by 'description' [Lite/DL/Full] 
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexType> 
    <xsd:sequence minOccurs="0" maxOccurs="unbounded">
      <xsd:group ref="owls:objectRestriction" /> 
    </xsd:sequence>
    <xsd:attribute name="property" type="owls:IndividualPropertyName" 
                   use="required" />
    <xsd:attribute name="minCardinality" type="owls:CardinalityRangeType" />
    <xsd:attribute name="maxCardinality" type="owls:CardinalityRangeType" />
    <xsd:attribute name="cardinality"    type="owls:CardinalityRangeType" /> 
  </xsd:complexType>
</xsd:element>


<xsd:annotation>
  <xsd:documentation>
    'owls:dataRestriction' and 'owls:objectRestriction' group are 
    included from either
       + owl1-lite-restrictionGroup.xsd [Lite] or 
       + owl1-dl-restrictionGroup.xsd [DL/Full] 
  </xsd:documentation>
  <xsd:documentation>
    'owls:CardinalityRangeType' simple type is included from either 
       + owl1-lite-cardinalityRangeType.xsd [Lite] or 
       + owl1-dl-cardinalityRangeType.xsd [DL/Full] 
  </xsd:documentation>
</xsd:annotation>


<xsd:annotation>
  <xsd:documentation>
    Facts about individuals have several types and property
    information, including nested facts.  
  </xsd:documentation>
</xsd:annotation>

<xsd:element name="Individual">
  <xsd:annotation>
    <xsd:documentation>
      Used by 'Ontology' [Lite/DL/Full] 
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexType>
    <xsd:complexContent>
      <xsd:extension base="owls:annotated"> 
        <xsd:sequence minOccurs="0" maxOccurs="unbounded">
          <xsd:choice>
            <xsd:element name="type" type="owls:ClassIDType" />
            <xsd:element ref="owls:ObjectPropertyValue" /> 
            <xsd:element ref="owls:DataPropertyValue" />
          </xsd:choice>
        </xsd:sequence>
        <xsd:attribute name="name" type="owls:IndividualName" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
</xsd:element>

<xsd:element name="ObjectPropertyValue">
  <xsd:complexType> 
    <xsd:group ref="owls:individuals" />
    <xsd:attribute name="property" type="owls:IndividualPropertyName"
                   use="required" />
  </xsd:complexType>
</xsd:element>

<xsd:element name="DataPropertyValue">
  <xsd:complexType> 
    <xsd:group ref="owls:datavalues" />
    <xsd:attribute name="property" type="owls:DataPropertyName"
                   use="required" />
  </xsd:complexType>
</xsd:element>


<xsd:group name="individuals">
  <xsd:annotation>
    <xsd:documentation>
      Used by: 
        + Individual/IndividualPropertyValue [Lite/DL/Full] 
        + classElements/EnumerationType [DL/Full] 
        + description/OneOf [DL/Full] 
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element ref="owls:Individual" 
                 minOccurs="0" maxOccurs="unbounded" />
  </xsd:sequence>
</xsd:group>

<xsd:group name="datavalues">
  <xsd:annotation>
    <xsd:documentation>
      Used by: 
        + Individual/DataPropertyValue [Lite/DL/Full] 
    </xsd:documentation>
  </xsd:annotation>
  <xsd:sequence>
    <xsd:element name="DataValue" type="xsd:anySimpleType" 
                 minOccurs="0" maxOccurs="unbounded" />
  </xsd:sequence>
</xsd:group>


<xsd:element name="SameIndividual">
  <xsd:annotation>
    <xsd:documentation>
      Used by 'Ontology' [Lite/DL/Full] 
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexType>
    <xsd:sequence minOccurs="1" maxOccurs="unbounded">
      <xsd:element ref="owls:Individual" />
    </xsd:sequence>
  </xsd:complexType>
</xsd:element> 

<xsd:element name="DifferentIndividuals"> 
  <xsd:annotation>
    <xsd:documentation>
      Used by 'Ontology' [Lite/DL/Full] 
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexType> 
    <xsd:sequence minOccurs="1" maxOccurs="unbounded">
      <xsd:element ref="owls:Individual" />
    </xsd:sequence>
  </xsd:complexType>
</xsd:element> 

<xsd:element name="DeprecatedClass">
  <xsd:complexType> 
    <xsd:sequence minOccurs="0" maxOccurs="unbounded">
      <xsd:element ref="owls:Annotation" />
    </xsd:sequence> 
  </xsd:complexType>
</xsd:element>

<xsd:element name="DeprecatedProperty">
  <xsd:complexType> 
    <xsd:sequence minOccurs="0" maxOccurs="unbounded">
      <xsd:element ref="owls:Annotation" />
    </xsd:sequence> 
  </xsd:complexType>
</xsd:element>


<xsd:annotation>
  <xsd:documentation>
    Finally, some utility types for the various kinds of names. 
  </xsd:documentation>
</xsd:annotation>

<xsd:complexType name="ontologyAttrType">
  <xsd:annotation>
    <xsd:documentation>
      Used by:  
        Ontology/PriorVersion [Lite/DL/Full] 
        Ontology/BackwardCompatibleWith [Lite/DL/Full] 
        Ontology/IncompatibleWith [Lite/DL/Full] 
        Ontology/Imports [Lite/DL/Full] 
    </xsd:documentation>
  </xsd:annotation>
  <xsd:attribute name="ontology" type="owls:OntologyName" use="required" /> 
</xsd:complexType>

<xsd:complexType name="classAttrType"> 
  <xsd:annotation>
    <xsd:documentation>
      Used by:  
        dataRestriction/allValuesFrom [only Lite] 
        dataRestriction/someValueFrom [only Lite] 
    </xsd:documentation>
  </xsd:annotation>
  <xsd:attribute name="class" type="owls:ClassName" />
</xsd:complexType> 

<xsd:complexType name="datatypeAttrType"> 
  <xsd:annotation>
    <xsd:documentation>
      Used by:  
        objectRestriction/allValuesFrom [only Lite] 
        objectRestriction/someValueFrom [only Lite] 
        dataPropDomainRange/range [only Lite] 
    </xsd:documentation>
  </xsd:annotation>
  <xsd:attribute name="datatype" type="owls:DatatypeName" />
</xsd:complexType>


<xsd:complexType name="ClassIDType">
  <xsd:attribute name="name" type="owls:ClassName" use="required" />
</xsd:complexType>

<xsd:complexType name="DatatypeIDType">
  <xsd:attribute name="name" type="owls:DatatypeName" use="required" />
</xsd:complexType>

<xsd:complexType name="PropertyIDType">
  <xsd:attribute name="name" type="owls:PropertyName" use="required"/>
</xsd:complexType>

<xsd:complexType name="DataPropertyIDType">
  <xsd:attribute name="name" type="owls:DataPropertyName" use="required"/>
</xsd:complexType>

<xsd:complexType name="IndividualPropertyIDType">
  <xsd:attribute name="name" type="owls:IndividualPropertyName" use="required"/>
</xsd:complexType>

<xsd:complexType name="IndividualIDType">
  <xsd:attribute name="name" type="owls:IndividualName" use="required"/>
</xsd:complexType>

<xsd:simpleType name="OntologyName">
  <xsd:restriction base="xsd:anyURI" />
</xsd:simpleType>

<xsd:simpleType name="ClassName">
  <xsd:restriction base="xsd:anyURI" />
</xsd:simpleType>

<xsd:simpleType name="DatatypeName">
  <xsd:restriction base="xsd:anyURI" />
</xsd:simpleType>

<xsd:simpleType name="PropertyName">
  <xsd:restriction base="xsd:anyURI" />
</xsd:simpleType>

<xsd:simpleType name="DataPropertyName">
  <xsd:restriction base="xsd:anyURI" />
</xsd:simpleType>

<xsd:simpleType name="IndividualPropertyName">
  <xsd:restriction base="xsd:anyURI" />
</xsd:simpleType>

<xsd:simpleType name="IndividualName">
  <xsd:restriction base="xsd:anyURI" />
</xsd:simpleType>

</xsd:schema>

3.2.2 Class Element Group Module

module/owl1-lite-classElementGroup.xsd
<!--
XML Schema Module for the XML Presentation Syntax of OWL 1.0
Copyright: 2002-2003 W3C (MIT, INRIA, Keio), All Rights Reserved.
See http://www.w3.org/Consortium/Legal/.

Authors: Masahiro Hori (IBM Research)
         Peter F. Patel-Schneider (Bell Labs Research)
Revision: 2003/01/09 
-->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:owls="http://www.w3.org/2003/OWL-XMLSchema"
    targetNamespace="http://www.w3.org/2003/OWL-XMLSchema"
    elementFormDefault="qualified"
    attributeFormDefault="qualified">

  <xsd:annotation>
    <xsd:documentation>
      Class element group for OWL Lite.  
      EquivalentClasses in OWL Lite is only applicable to Class IDs. 
      SubClassOf, EnumeratedClasses, and DisjointClasses are not included.  
      This model group is replaced with "owl1-dl-classElementGroup.xsd" 
      in OWL DL and Full. 
    </xsd:documentation>
  </xsd:annotation>

  <xsd:group name="classElements">
    <xsd:choice>
      <xsd:element ref="owls:EquivalentClasses" /> 
    </xsd:choice>
  </xsd:group>

  <xsd:element name="EquivalentClasses">
    <xsd:annotation>
      <xsd:documentation>
        'EquivalentClasses' in OWL Lite contains only class IDs. 
        Note that arbitrary descriptions are allowed in 
        OWL DL and OWL Full. 
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType> 
      <xsd:sequence minOccurs="1" maxOccurs="unbounded">
        <xsd:element name="Class" type="owls:ClassIDType" /> 
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element> 

</xsd:schema>
module/owl1-dl-classElementGroup.xsd
<!--
XML Schema Module for the XML Presentation Syntax of OWL 1.0 
Copyright: 2002-2003 W3C (MIT, INRIA, Keio), All Rights Reserved.
See http://www.w3.org/Consortium/Legal/.

Authors: Masahiro Hori (IBM Research)
         Peter F. Patel-Schneider (Bell Labs Research)
Revision: 2003/01/09 
-->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:owls="http://www.w3.org/2003/OWL-XMLSchema"
    targetNamespace="http://www.w3.org/2003/OWL-XMLSchema"
    elementFormDefault="qualified"
    attributeFormDefault="qualified">

  <xsd:annotation>
    <xsd:documentation>
      Class element group for OWL DL and OWL Full. 
      EquivalentClasses is extended as equality among descriptions. 
      SubClassOf, EnumeratedClasses, and DisjointClasses are added. 
      This model group replaces "owl1-lite-classElementGroup.xsd" 
      provided for OWL Lite. 
    </xsd:documentation>
  </xsd:annotation>

  <xsd:group name="classElements">   
    <xsd:choice>
      <xsd:element ref="owls:EquivalentClasses" />

      <!-- The following three elements are added for OWL DL and Full --> 
      <xsd:element ref="owls:SubClassOf" />
      <xsd:element ref="owls:EnumeratedClass" />
      <xsd:element ref="owls:DisjointClasses" />
    </xsd:choice>
  </xsd:group>

  <xsd:element name="EquivalentClasses">
    <xsd:annotation>
      <xsd:documentation>
        'EquivalentClasses' contains a non-empty list of descriptions. 
        Note that only class IDs are allowed in OWL Lite. 
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType> 
      <xsd:sequence minOccurs="1" maxOccurs="unbounded">
        <xsd:group ref="owls:description" />
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

  <xsd:element name="SubClassOf">
    <xsd:annotation>
      <xsd:documentation>
        SubClassOf element takes two descriptions as sub and super 
        classes.  SubClassOf is available only for OWL DL and Full. 
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence minOccurs="1" maxOccurs="1">
        <xsd:element name="sub"> 
          <xsd:complexType>
            <xsd:group ref="owls:description" />
          </xsd:complexType>
        </xsd:element>
        <xsd:element name="super"> 
          <xsd:complexType>
            <xsd:group ref="owls:description" />
          </xsd:complexType>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

  <xsd:element name="EnumeratedClass">
    <xsd:annotation>
      <xsd:documentation>
        'EnumeratedClass' contains a list of individuals, 
         and is available only for OWL DL and OWL Full. 
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:complexContent>
        <xsd:extension base="owls:annotated"> 
          <xsd:group ref="owls:individuals" />
          <xsd:attribute name="name" type="owls:ClassName" use="required" />
        </xsd:extension> 
      </xsd:complexContent>
    </xsd:complexType>
  </xsd:element>

  <xsd:element name="DisjointClasses">
    <xsd:annotation>
      <xsd:documentation>
        'DisjointClasses' contains a non-empty list of descriptions, 
        and is available only for OWL DL and Full. 
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType> 
      <xsd:sequence minOccurs="1" maxOccurs="unbounded">
        <xsd:group ref="owls:description" />
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

</xsd:schema>

3.2.3 Description Group Module

module/owl1-lite-descriptionGroup.xsd
<!--
XML Schema Module for the XML Presentation Syntax of OWL 1.0 
Copyright: 2002-2003 W3C (MIT, INRIA, Keio), All Rights Reserved.
See http://www.w3.org/Consortium/Legal/.

Authors: Masahiro Hori (IBM Research)
         Peter F. Patel-Schneider (Bell Labs Research)
Revision: 2003/01/09 
-->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:owls="http://www.w3.org/2003/OWL-XMLSchema"
    targetNamespace="http://www.w3.org/2003/OWL-XMLSchema"
    elementFormDefault="qualified"
    attributeFormDefault="qualified">

  <xsd:annotation>
    <xsd:documentation>
      Description group for OWL Lite.  
      Elements for boolean combination of class expressions 
      (UnionOf, IntersectionOf, ComplementOf), and an element 
      for Class enumeration (OneOf) are not included. 
      This model group is extended by "owl1-dl-descriptionGroup.xsd". 
    </xsd:documentation>
  </xsd:annotation>

  <xsd:group name="description"> 
    <xsd:annotation>
      <xsd:documentation>
        A description in OWL Lite only includes either a named 
        class, datatype restriction, or object restriction. 
      </xsd:documentation>
    </xsd:annotation>
    <xsd:choice>
      <xsd:element name="Class" type="owls:ClassIDType"
                   minOccurs="1" maxOccurs="1" />
      <xsd:element ref="owls:DatatypeRestriction" 
                   minOccurs="1" maxOccurs="1" />
      <xsd:element ref="owls:ObjectRestriction" 
                   minOccurs="1" maxOccurs="1" /> 

      <!-- Boolean combination and class enumeration are not included --> 
    </xsd:choice>
  </xsd:group>

</xsd:schema>
module/owl1-dl-descriptionGroup.xsd
<!--
XML Schema Module for the XML Presentation Syntax of OWL 1.0
Copyright: 2002-2003 W3C (MIT, INRIA, Keio), All Rights Reserved.
See http://www.w3.org/Consortium/Legal/.

Authors: Masahiro Hori (IBM Research)
         Peter F. Patel-Schneider (Bell Labs Research)
Revision: 2003/01/09 
-->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:owls="http://www.w3.org/2003/OWL-XMLSchema"
    targetNamespace="http://www.w3.org/2003/OWL-XMLSchema"
    elementFormDefault="qualified"
    attributeFormDefault="qualified">

  <xsd:annotation>
    <xsd:documentation>
      Description group for OWL DL and OWL Full. 
      Elements for boolean combination of class expressions 
      (UnionOf, IntersectionOf, ComplementOf), and an element 
      for Class enumeration (OneOf) are included. 
      This model group extends "owl1-lite-descriptionGroup.xsd". 
    </xsd:documentation>
  </xsd:annotation>

  <xsd:redefine schemaLocation="owl1-lite-descriptionGroup.xsd"> 
    <xsd:group name="description">   
      <xsd:annotation>
        <xsd:documentation>
          A description in OWL DL and Full includes either oneOf or 
          a boolean combination of descriptions, in addition to  
          a named class, datatype restriction and object restriction 
          declared for OWL Lite. 
        </xsd:documentation>
      </xsd:annotation>
      <xsd:choice>
        <xsd:group ref="owls:description" /> 

        <!-- Elements for boolean combination are added --> 
        <xsd:element name="UnionOf" type="owls:DescriptionsType"
                     minOccurs="1" maxOccurs="1" />
        <xsd:element name="IntersectionOf" type="owls:DescriptionsType"
                     minOccurs="1" maxOccurs="1" />
        <xsd:element name="ComplementOf" type="owls:DescriptionType" 
                     minOccurs="1" maxOccurs="1" />

        <!-- An element for class enumeration is added --> 
        <xsd:element name="OneOf" minOccurs="1" maxOccurs="1"> 
          <xsd:complexType> 
            <xsd:group ref="owls:individuals" />
          </xsd:complexType>
        </xsd:element> 
      </xsd:choice>
    </xsd:group>
  </xsd:redefine> 

</xsd:schema>

3.2.4 Cardinality Range Type Module

module/owl1-lite-cardinalityRangeType.xsd
<!--
XML Schema Module for the XML Presentation Syntax of OWL 1.0
Copyright: 2002-2003 W3C (MIT, INRIA, Keio), All Rights Reserved.
See http://www.w3.org/Consortium/Legal/.

Authors: Masahiro Hori (IBM Research)
         Peter F. Patel-Schneider (Bell Labs Research)
Revision: 2003/01/09 
-->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:owls="http://www.w3.org/2003/OWL-XMLSchema"
    targetNamespace="http://www.w3.org/2003/OWL-XMLSchema"
    elementFormDefault="qualified"
    attributeFormDefault="qualified">

  <xsd:annotation>
    <xsd:documentation>
      Cardinality Range Type for OWL Lite.  
      Cardinality value is restricted to either 0 or 1. 
    </xsd:documentation>
  </xsd:annotation>

  <xsd:simpleType name="CardinalityRangeType"> 
    <xsd:restriction base="xsd:nonNegativeInteger"> 
      <xsd:minInclusive value="0" /> 
      <xsd:maxInclusive value="1" />
    </xsd:restriction>
  </xsd:simpleType>

</xsd:schema>
module/owl1-dl-cardinalityRangeType.xsd
<!--
XML Schema Module for the XML Presentation Syntax of OWL 1.0
Copyright: 2002-2003 W3C (MIT, INRIA, Keio), All Rights Reserved.
See http://www.w3.org/Consortium/Legal/.

Authors: Masahiro Hori (IBM Research)
         Peter F. Patel-Schneider (Bell Labs Research)
Revision: 2003/01/09 
-->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:owls="http://www.w3.org/2003/OWL-XMLSchema"
    targetNamespace="http://www.w3.org/2003/OWL-XMLSchema"
    elementFormDefault="qualified"
    attributeFormDefault="qualified"> 

  <xsd:annotation>
    <xsd:documentation>
      Cardinality Range Type for OWL DL and OWL Full. 
      Cardinality value can be an arbitrary non-negative integer. 
    </xsd:documentation>
  </xsd:annotation>

  <xsd:simpleType name="CardinalityRangeType">
    <xsd:restriction base="xsd:nonNegativeInteger" /> 
  </xsd:simpleType>

</xsd:schema>

3.2.5 Restriction Group Module

module/owl1-lite-restrictionGroup.xsd
<!--
XML Schema Module for the XML Presentation Syntax of OWL 1.0
Copyright: 2002-2003 W3C (MIT, INRIA, Keio), All Rights Reserved.
See http://www.w3.org/Consortium/Legal/.

Authors: Masahiro Hori (IBM Research)
         Peter F. Patel-Schneider (Bell Labs Research)
Revision: 2003/01/09 
--> 
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:owls="http://www.w3.org/2003/OWL-XMLSchema"
    targetNamespace="http://www.w3.org/2003/OWL-XMLSchema"
    elementFormDefault="qualified"
    attributeFormDefault="qualified">

  <xsd:annotation>
    <xsd:documentation>
      Restriction group only for OWL Lite. This model group 
      is replaced with "owl1-dl-restrictionGroup.xsd" provided 
      for OWL DL and OWL Full. 
    </xsd:documentation>
    <xsd:documentation>
      Element types of 'allValuesFrom' and 'someValueFrom' are 
      restricted to datatype ID for datatype restriction and 
      class ID for object restriction. Moreover, 'value' 
      (hasValue) restriction is not included. 
    </xsd:documentation>
  </xsd:annotation>

  <xsd:group name="dataRestriction">
    <xsd:choice>
      <xsd:element name="allValuesFrom" type="owls:datatypeAttrType" /> 
      <xsd:element name="someValueFrom" type="owls:datatypeAttrType" />
      <!-- 'value' (hasValue) restriction is not included --> 
    </xsd:choice>
  </xsd:group>
  
  <xsd:group name="objectRestriction"> 
    <xsd:choice>
      <xsd:element name="allValuesFrom" type="owls:classAttrType" /> 
      <xsd:element name="someValueFrom" type="owls:classAttrType" /> 
      <!-- 'value' (hasValue) restriction is not included --> 
    </xsd:choice>
  </xsd:group>

</xsd:schema>
module/owl1-dl-restrictionGroup.xsd
<!--
XML Schema Module for the XML Presentation Syntax of OWL 1.0
Copyright: 2002-2003 W3C (MIT, INRIA, Keio), All Rights Reserved.
See http://www.w3.org/Consortium/Legal/.

Authors: Masahiro Hori (IBM Research)
         Peter F. Patel-Schneider (Bell Labs Research)
Revision: 2003/01/09 
-->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:owls="http://www.w3.org/2003/OWL-XMLSchema"
    targetNamespace="http://www.w3.org/2003/OWL-XMLSchema"
    elementFormDefault="qualified"
    attributeFormDefault="qualified">

  <xsd:annotation>
    <xsd:documentation>
      Restriction group for OWL DL and OWL Full. 
      This model group replaces "owl1-lite-restrictionGroup.xsd" 
      provided for OWL Lite. 
    </xsd:documentation>
    <xsd:documentation>
      Element types of 'allValuesFrom' and 'someValueFrom' are 
      extended to DataRangeType for datatype restriction and 
      DescriptionsType for object restriction.  In addition, 
      'value' (hasValue) elements are added to both datatype 
      and object restriction. 
    </xsd:documentation>
  </xsd:annotation>

  <xsd:group name="dataRestriction">   
    <xsd:choice>
      <xsd:element name="allValuesFrom" type="owls:DataRangeType" />
      <xsd:element name="someValueFrom" type="owls:DataRangeType" />
      <!-- 'value' (hasValue) restriction is added --> 
      <xsd:element name="value" type="xsd:anySimpleType" />
    </xsd:choice>
  </xsd:group>

  <xsd:group name="objectRestriction"> 
    <xsd:choice>
      <xsd:element name="allValuesFrom" type="owls:DescriptionsType" />
      <xsd:element name="someValueFrom" type="owls:DescriptionsType" />
      <!-- 'value' (hasValue) restriction is added --> 
      <xsd:element name="value" type="owls:IndividualIDType" />
    </xsd:choice>
  </xsd:group>

</xsd:schema>

3.2.6 Domain and Range Group Module

module/owl1-lite-domainRangeGroup.xsd
<!--
XML Schema Module for the XML Presentation Syntax of OWL 1.0
Copyright: 2002-2003 W3C (MIT, INRIA, Keio), All Rights Reserved.
See http://www.w3.org/Consortium/Legal/.

Authors: Masahiro Hori (IBM Research)
         Peter F. Patel-Schneider (Bell Labs Research)
Revision: 2003/01/09 
-->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:owls="http://www.w3.org/2003/OWL-XMLSchema"
    targetNamespace="http://www.w3.org/2003/OWL-XMLSchema"
    elementFormDefault="qualified"
    attributeFormDefault="qualified">

  <xsd:annotation>
    <xsd:documentation>
      Domain and Range group for OWL Lite. This model 
      group is replaced with "owl1-dl-domainRangeGroup.xsd" 
      provided for OWL DL and OWL Full. 
    </xsd:documentation>
  </xsd:annotation>

  <xsd:group name="dataPropDomainRange"> 
    <xsd:annotation>
      <xsd:documentation>
        Element types of 'domain' and 'range' are restricted 
        respectively to class ID and datatype ID for datatype   
        property in OWL Lite. 
      </xsd:documentation>
    </xsd:annotation>
    <xsd:choice>
      <xsd:element name="domain" type="owls:ClassesType" /> 
      <xsd:element name="range"  type="owls:datatypeAttrType" />
    </xsd:choice>
  </xsd:group>
  
  <xsd:group name="objectPropDomainRange"> 
    <xsd:annotation>
      <xsd:documentation>
        Element types of 'domain' and 'range' are restricted 
        to class ID for object property in OWL Lite.  
      </xsd:documentation>
    </xsd:annotation>
    <xsd:choice>
      <xsd:element name="domain" type="owls:ClassesType" /> 
      <xsd:element name="range"  type="owls:ClassesType" /> 
    </xsd:choice>
  </xsd:group>

  <xsd:complexType name="ClassesType"> 
    <xsd:sequence minOccurs="0" maxOccurs="unbounded"> 
      <xsd:element name="Class" type="owls:ClassIDType" />
    </xsd:sequence>
    <xsd:attribute name="class" type="owls:ClassName" />
  </xsd:complexType>

</xsd:schema>
module/owl1-dl-domainRangeGroup.xsd
<!--
XML Schema Module for the XML Presentation Syntax of OWL 1.0
Copyright: 2002-2003 W3C (MIT, INRIA, Keio), All Rights Reserved.
See http://www.w3.org/Consortium/Legal/.

Authors: Masahiro Hori (IBM Research)
         Peter F. Patel-Schneider (Bell Labs Research)
Revision: 2003/01/09 
-->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:owls="http://www.w3.org/2003/OWL-XMLSchema"
    targetNamespace="http://www.w3.org/2003/OWL-XMLSchema"
    elementFormDefault="qualified"
    attributeFormDefault="qualified">

  <xsd:annotation>
    <xsd:documentation>
      Domain and Range group for OWL DL and OWL Full. This 
      model group replaces "owl1-lite-domainRangeGroup.xsd" 
      provided for OWL Lite. 
    </xsd:documentation>
  </xsd:annotation>

  <xsd:group name="dataPropDomainRange"> 
    <xsd:annotation>
      <xsd:documentation>
        Element types of 'domain' and 'range' are extended 
        respectively to DescriptionsType and DataRangeType 
        for datatype property. 
      </xsd:documentation>
    </xsd:annotation>
    <xsd:choice>
      <xsd:element name="domain" type="owls:DescriptionsType" />
      <xsd:element name="range"  type="owls:DataRangeType" /> 
    </xsd:choice>
  </xsd:group>
  
  <xsd:group name="objectPropDomainRange"> 
    <xsd:annotation>
      <xsd:documentation>
        Element types of 'domain' and 'range' are 
        extended to DescriptionsType for object property. 
      </xsd:documentation>
    </xsd:annotation>
    <xsd:choice>
      <xsd:element name="domain" type="owls:DescriptionsType" />
      <xsd:element name="range"  type="owls:DescriptionsType" /> 
    </xsd:choice>
  </xsd:group>

</xsd:schema>

3.2.7 Data Property's Inverse Functional Attribute Module

module/owl1-lite-dataPropInverseFuncAttr.xsd
<!--
XML Schema Module for the XML Presentation Syntax of OWL 1.0
Copyright: 2002-2003 W3C (MIT, INRIA, Keio), All Rights Reserved.
See http://www.w3.org/Consortium/Legal/.

Authors: Masahiro Hori (IBM Research)
         Peter F. Patel-Schneider (Bell Labs Research)
Revision: 2003/01/09 
-->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:owls="http://www.w3.org/2003/OWL-XMLSchema"
    targetNamespace="http://www.w3.org/2003/OWL-XMLSchema"
    elementFormDefault="qualified"
    attributeFormDefault="qualified">

  <xsd:annotation>
    <xsd:documentation>
      'inverseFunctional' attribute of DataPropertyAxiomType 
      is fixed as 'false' for OWL Lite and OWL DL. 
      The attribute value is set to 'false' by default for OWL Full 
      in "owl1-full-dataPropInverseFuncAttr.xsd". 
    </xsd:documentation>
  </xsd:annotation>

  <xsd:attributeGroup name="dataPropInverseFuncAttr"> 
    <xsd:attribute name="inverseFunctional" type="xsd:boolean" fixed="false" /> 
  </xsd:attributeGroup>

</xsd:schema>
module/owl1-full-dataPropInverseFuncAttr.xsd
<!--
XML Schema Module for the XML Presentation Syntax of OWL 1.0
Copyright: 2002-2003 W3C (MIT, INRIA, Keio), All Rights Reserved.
See http://www.w3.org/Consortium/Legal/.

Authors: Masahiro Hori (IBM Research)
         Peter F. Patel-Schneider (Bell Labs Research)
Revision: 2003/01/09 
-->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:owls="http://www.w3.org/2003/OWL-XMLSchema"
    targetNamespace="http://www.w3.org/2003/OWL-XMLSchema"
    elementFormDefault="qualified"
    attributeFormDefault="qualified">

  <xsd:annotation>
    <xsd:documentation>
      'inverseFunctional' attribute of DataPropertyAxiomType is set 
      to 'false' by default  (and may be changed to 'true' as needed) 
      for OWL Full. 
      The attribute value is fixed as 'false' for OWL Lite and LD 
      in "owl1-lite-dataPropInverseFuncAttr.xsd". 
    </xsd:documentation>
  </xsd:annotation>

  <xsd:attributeGroup name="dataPropInverseFuncAttr"> 
    <xsd:attribute name="inverseFunctional" type="xsd:boolean" default="false" />
  </xsd:attributeGroup>

</xsd:schema>

3.2.8 Object Property's Inverse Functional Attribute Module

module/owl1-lite-objPropInverseFuncAttr.xsd
<!--
XML Schema Module for the XML Presentation Syntax of OWL 1.0
Copyright: 2002-2003 W3C (MIT, INRIA, Keio), All Rights Reserved.
See http://www.w3.org/Consortium/Legal/.

Authors: Masahiro Hori (IBM Research)
         Peter F. Patel-Schneider (Bell Labs Research)
Revision: 2003/01/09 
-->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:owls="http://www.w3.org/2003/OWL-XMLSchema"
    targetNamespace="http://www.w3.org/2003/OWL-XMLSchema"
    elementFormDefault="qualified"
    attributeFormDefault="qualified">

  <xsd:annotation>
    <xsd:documentation>
      'inverseFunctional' attribute of ObjectPropertyAxiomType 
      is fixed as 'false' for OWL Lite. 
      The attribute value is set to 'false' by default for OWL DL 
      in "owl1-dl-objPropInverseFuncAttr.xsd". 
    </xsd:documentation>
  </xsd:annotation>

  <xsd:attributeGroup name="objectPropInverseFuncAttr"> 
    <xsd:attribute name="inverseFunctional" type="xsd:boolean" fixed="false" />
  </xsd:attributeGroup>

</xsd:schema>
module/owl1-dl-objectPropInverseFuncAttr.xsd
<!--
XML Schema Module for the XML Presentation Syntax of OWL 1.0
Copyright: 2002-2003 W3C (MIT, INRIA, Keio), All Rights Reserved.
See http://www.w3.org/Consortium/Legal/.

Authors: Masahiro Hori (IBM Research)
         Peter F. Patel-Schneider (Bell Labs Research)
Revision: 2003/01/09 
-->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:owls="http://www.w3.org/2003/OWL-XMLSchema"
    targetNamespace="http://www.w3.org/2003/OWL-XMLSchema"
    elementFormDefault="qualified"
    attributeFormDefault="qualified">

  <xsd:annotation>
    <xsd:documentation>
      'inverseFunctional' attribute of DataPropertyAxiomType 
      is set to 'false' by default for OWL DL and OWL Full. 
      The attribute is fixed as 'false' for OWL Lite in 
      "owl1-lite-objectPropInverseFuncAttr.xsd". 
    </xsd:documentation>
  </xsd:annotation>

  <xsd:attributeGroup name="objectPropInverseFuncAttr"> 
    <xsd:attribute name="inverseFunctional" type="xsd:boolean" default="false" />
  </xsd:attributeGroup>

</xsd:schema>

4. Transformation to OWL in RDF/XML

An XSLT stylesheet (owlxml2rdf.xsl) is available for the transformation of an OWL document from the XML presentation syntax to RDF/XML syntax. This stylesheet was created by Jerome Euzenat.

The 6-Jan-2003 version of stylesheet is available from http://lists.w3.org/Archives/Public/www-webont-wg/2003Jan/0125.html

References

[OWL Abstract Syntax]
Web Ontology Language (OWL) Abstract Syntax and Semantics. W3C Working Draft, Editor's draft: http://www-db.research.bell-labs.com/user/pfps/owl/semantics/
[XHTML m12n]
Modularization of XHTML in XML Schema. W3C Working Draft, http://www.w3.org/TR/xhtml-m12n-schema (2002).
[XMLSchema-1]
XML Schema Part 1: Structures. W3C Recommendation, http://www.w3.org/TR/xmlschema-1/ (2001).

Change Log

2003/01/09
DeprecatedClass and DeprecatedProperty elements were added.
VersionInfo, PriorVersion, BackwardCompatibleWith and IncompatibleWith elements were added.
2003/01/08
The element names 'DataRestriction' and 'IndividualRestriction' were changed respectively to 'DatatypeRestriction' and 'ObjectRestriction'. See also http://lists.w3.org/Archives/Public/www-webont-wg/2003Jan/0140.html.
2003/01/07
Copyright notice was included into all the XML Schema source.
Namespace URI was changed to "http://www.w3.org/2003/OWL-XMLSchema"
XML Schema URIs were changes to "http://www.w3.org/2003/owl1-lite.xsd" etc.
2003/01/06
Constraints on property type are incorporated into 'SubPropertyOf' and 'EquivalentProperties'. See also http://lists.w3.org/Archives/Public/www-webont-wg/2003Jan/0112.html and http://lists.w3.org/Archives/Public/www-webont-wg/2003Jan/0134.html.
2003/01/05
'EquivalentClasses' for OWL Lite was revised with restricted type of non-empty class IDs.
2003/01/04
'domain' and 'range' (DatatypeProperty and ObjectProperty) for OWL Lite were reivsed with restricted types: ClassIDType and DatatypeIDType.
2003/01/03
'allValuesFrom' and 'someValueFrom' for OWL Lite are revised with restricted types: ClassIDType and DatatypeIDType.
2003/01/01
'AnnotationType' was extended to have 'Info' and 'Documentation' children. The Annotation element was made available for all the elements specified in the OWL Abstract Syntax. See also: http://lists.w3.org/Archives/Public/www-webont-wg/2003Jan/0090.html.
2002/12/30
Created on the basis of Peter's XML presentation syntax Schema (the version as of Dec. 19, 2002). See also: http://lists.w3.org/Archives/Public/www-webont-wg/2002Dec/0249.html and http://lists.w3.org/Archives/Public/www-webont-wg/2002Dec/0295.html.