Masahiro Hori <horim@jp.ibm.com>
This document is non-normative.
Note: XML Schemas in this documents are defined on the basis of the XML Schema for OWL created by Peter F. Patel-Schneider. Peter's XML Schema in itself is not changed from the version as of 19 December 2002, but has been reconfigured for the adaptation to the three sublanguages of OWL.
This document provides XML Schemas for the XML presentation sytax of OWL 1.0 sublanguages: OWL Lite, OWL DL, and OWL Full.
This document specifies the XML presentation syntax for OWL. 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 also available.
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 |
---|---|---|
owl | "http://www.w3.org/2002/OWL-XMLSchema" | The namespace of the XML presentation syntax of OWL defined by this document |
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] |
XML Schemas do not have to be specified in an OWL 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:
<owl:Ontology
xmlns:owl="http://www.w3.org/2002/OWL-XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3.org/2002/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]
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 primarily 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 type of modules to be included into the sublanguages.
OWL Lite | OWL DL | OWL 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 Inverse Functional Attribute of Data Property | lite | lite | full |
2.7 Inverse Functional Attribute of Object Property | lite | dl | dl |
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.
The Class Element Group modules (owl1-lite-classElementGroup.xsd and owl1-dl-classElementGroup.xsd) control the inclusion of the elements relevant to owl:Class and declared as immediate children of the root element Ontology.
The OWL Lite Schema driver (owl1-lite.xsd) includes an XML Schema module (owl1-lite-classElementGroup.xsd) that makes Class, SubClassOf, and EnumeratedClass available in OWL Lite. However, EquivalentClasses and DisjointClasses are not included in this module because they are not available in OWL Lite.
<xsd:group name="classElements"> <xsd:choice> <xsd:element name="Class" type="owl:ClassAxiomType" /> <xsd:element name="SubClassOf" type="owl:SubClassOfType" /> <xsd:element name="EnumeratedClass" type="owl:EnumerationType" /> <!-- Inequality and equality elements are not included --> </xsd:choice> </xsd:group>
EquivalentClasses and DisjointClasses are decleared for OWL DL in owl1-dl-classElementGroup.xsd that is included by the Schema drivers for OWL DL (owl1-dl.xsd) and OWL Full (owl-full.xsd).
<xsd:redefine schemaLocation="owl1-lite-classElementGroup.xsd"> <xsd:group name="classElements"> <xsd:choice> <xsd:group ref="owl:classElements" /> <!-- Inequality and equality elements are added --> <xsd:element name="DisjointClasses" type="owl:DescriptionsTypeNE" /> <xsd:element name="EquivalentClasses" type="owl:DescriptionsTypeNE" /> </xsd:choice> </xsd:group> </xsd:redefine>
The Description Group modules (owl1-lite-descriptionGroup.xsd and owl1-dl-descriptionGroup.xsd) control the inclusion of the elements that are declared as members of the description group.
The OWL Lite Schema driver (owl1-lite.xsd) includes an XML Schema module (owl1-lite-descriptionGroup.xsd) that makes Class, DataResiction, and IndividualRestriction available in OWL Lite. However, UnionOf, IntersectionOf, ComplementOf, and OneOf are not included in this module because they are not available in OWL Lite.
<xsd:group name="description"> <xsd:choice> <xsd:element name="Class" type="owl:ClassIDType" minOccurs="1" maxOccurs="1" /> <xsd:element name="DataRestriction" type="owl:DataRestrictionType" minOccurs="1" maxOccurs="1" /> <xsd:element name="IndividualRestriction" type="owl:IndividualRestrictionType" minOccurs="1" maxOccurs="1" /> <!-- Boolean combination and class enumeration are not included --> </xsd:choice> </xsd:group>
UnionOf, IntersectionOf, ComplementOf, and OneOf are decleared for OWL DL in owl1-dl-descriptionGroup.xsd that is included by the Schema drivers for OWL DL (owl1-dl.xsd) and OWL Full (owl-full.xsd).
<xsd:redefine schemaLocation="owl1-lite-descriptionGroup.xsd"> <xsd:group name="description"> <xsd:choice> <xsd:group ref="owl:description" /> <!-- Elements for boolean combination are added --> <xsd:element name="UnionOf" type="owl:DescriptionsType" minOccurs="1" maxOccurs="1" /> <xsd:element name="IntersectionOf" type="owl:DescriptionsType" minOccurs="1" maxOccurs="1" /> <xsd:element name="ComplementOf" type="owl:DescriptionType" minOccurs="1" maxOccurs="1" /> <!-- An element for class enumeration is added --> <xsd:element name="OneOf" type="owl:IndividualsType" minOccurs="1" maxOccurs="1" /> </xsd:choice> </xsd:group> </xsd:redefine>
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 DataRestriction and IndividualRestriction elements. As shown below, a simple type definition CardinalityRangeType is used for expressing the constraints on cardinality attributes of DataRestriction and IndividualRestriction elements (see the excerption of the complex type definitions below).
<xsd:complexType name="DataRestrictionType"> <xsd:sequence minOccurs="0" maxOccurs="unbounded"> <xsd:group ref="owl:dataRestriction" /> </xsd:sequence> <xsd:attribute name="property" type="owl:DataPropertyName" use="required" /> <xsd:attribute name="minCardinality" type="owl:CardinalityRangeType" /> <xsd:attribute name="maxCardinality" type="owl:CardinalityRangeType" /> <xsd:attribute name="cardinality" type="owl:CardinalityRangeType" /> </xsd:complexType> <xsd:complexType name="IndividualRestrictionType"> <xsd:sequence minOccurs="0" maxOccurs="unbounded"> <xsd:group ref="owl:individualRestriction" /> </xsd:sequence> <xsd:attribute name="property" type="owl:IndividualPropertyName" use="required" /> <xsd:attribute name="minCardinality" type="owl:CardinalityRangeType" /> <xsd:attribute name="maxCardinality" type="owl:CardinalityRangeType" /> <xsd:attribute name="cardinality" type="owl:CardinalityRangeType" /> </xsd:complexType>
The OWL Lite Schema driver (owl1-lite.xsd) includes an XML Schema module (owl1-lite-cardinalityRangeType.xsd) with the cardinality range type that only permits cardinality values of 0 or 1.
<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 in owl1-dl-cardinalityRangeType.xsd, so that cardinality values can be arbitrary non-negative integers. 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).
<xsd:simpleType name="CardinalityRangeType">
<xsd:restriction base="xsd:nonNegativeInteger" />
</xsd:simpleType>
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 data and individual restrictions in OWL Lite. However, value elements are not included in this module because they are not available in OWL Lite.
<xsd:group name="dataRestriction"> <xsd:choice> <xsd:element name="allValuesFrom" type="owl:DataRangeType" /> <xsd:element name="someValueFrom" type="owl:DataRangeType" /> <!-- An element for property filler restriction (value) is not included --> </xsd:choice> </xsd:group> <xsd:group name="individualRestriction"> <xsd:choice> <xsd:element name="allValuesFrom" type="owl:DescriptionsType" /> <xsd:element name="someValueFrom" type="owl:DescriptionsType" /> <!-- An element for property filler restriction (value) is not included --> </xsd:choice> </xsd:group>
Additional value restriction elements (value) for data and individual restrictions are declared for OWL DL in owl1-dl-restrictionGroup.xsd that is included by the Schema drivers for OWL DL (owl1-dl.xsd) and OWL Full (owl-full.xsd).
<xsd:redefine schemaLocation="owl1-lite-restrictionGroup.xsd"> <xsd:group name="dataRestriction"> <xsd:choice> <xsd:group ref="owl:dataRestriction" /> <!-- A element for property filler restriction (value) is added --> <xsd:element name="value" type="xsd:anySimpleType" /> </xsd:choice> </xsd:group> <xsd:group name="individualRestriction"> <xsd:choice> <xsd:group ref="owl:individualRestriction" /> <!-- A element for property filler restriction (value) is added --> <xsd:element name="value" type="owl:IndividualIDType" /> </xsd:choice> </xsd:group> </xsd:redefine>
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.7 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'.
<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).
<xsd:attributeGroup name="dataPropInverseFuncAttr">
<xsd:attribute name="inverseFunctional" type="xsd:boolean" default="false" />
</xsd:attributeGroup>
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.6 Inverse Functional Attribute of Data Property).
The Schema drivers for OWL Lite (owl1-lite.xsd) includes a module (owl1-lite-dataPropInverseFuncAttr.xsd) for the inverse functional attribute of Object Property to be fixed as 'false'.
<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 (owl1-full-dataPropInverseFuncAttr.xsd) for OWL DL that is included by the Schema drivers for OWL DL (owl1-dl.xsd) and OWL Full (owl1-full.xsd).
<xsd:attributeGroup name="objectPropInverseFuncAttr">
<xsd:attribute name="inverseFunctional" type="xsd:boolean" default="false" />
</xsd:attributeGroup>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:owl="http://www.w3.org/2002/OWL-XMLSchema" targetNamespace="http://www.w3.org/2002/OWL-XMLSchema" elementFormDefault="qualified" attributeFormDefault="qualified"> <xsd:annotation> <xsd:documentation> XML Schema driver for OWL 1.0 Lite </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-dataPropInverseFuncAttr.xsd" /> <xsd:include schemaLocation="module/owl1-lite-objectPropInverseFuncAttr.xsd" /> </xsd:schema>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:owl="http://www.w3.org/2002/OWL-XMLSchema" targetNamespace="http://www.w3.org/2002/OWL-XMLSchema" elementFormDefault="qualified" attributeFormDefault="qualified"> <xsd:annotation> <xsd:documentation> XML Schema driver for OWL 1.0 DL </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-lite-dataPropInverseFuncAttr.xsd" /> <xsd:include schemaLocation="module/owl1-dl-objectPropInverseFuncAttr.xsd" /> </xsd:schema>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:owl="http://www.w3.org/2002/OWL-XMLSchema" targetNamespace="http://www.w3.org/2002/OWL-XMLSchema" elementFormDefault="qualified" attributeFormDefault="qualified"> <xsd:annotation> <xsd:documentation> XML Schema driver for OWL 1.0 Full </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-full-dataPropInverseFuncAttr.xsd" /> <xsd:include schemaLocation="module/owl1-dl-objectPropInverseFuncAttr.xsd" /> </xsd:schema>
<!-- XML Schema for OWL Peter F. Patel-Schneider, Bell Labs Research 19 December 2002 This is an XML schema for an XML syntax for OWL. I have included some comments in-line, to show what is going on. This XML Schema defines an XML dialect similar to the OWL abstract syntax. For arcane technical reasons it is somewhat more general in a few places, allowing zero or more descriptions where a single description is allowed in the OWL abstract syntax. Each of these places can be translated to the OWL abstract syntax by wrapping the descriptions in an intersectionOf. --> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:owl="http://www.w3.org/2002/OWL-XMLSchema" targetNamespace="http://www.w3.org/2002/OWL-XMLSchema" elementFormDefault="qualified" attributeFormDefault="qualified"> <xsd:annotation> <xsd:documentation> This module (module/owl1-lite-core.xsd) specifies a core module common to all the OWL sublanguages, and is included into every Schema driver. </xsd:documentation> </xsd:annotation> <!-- A OWL document contains an ontology, which has includes, axioms, and facts. --> <xsd:element name="Ontology" type="owl:OntologyType" > <xsd:unique name="classNameUniqueness"> <xsd:annotation> <xsd:documentation> This constraint ensures that every class name is unique in an ontology document. </xsd:documentation> </xsd:annotation> <xsd:selector xpath="owl:Class" /> <xsd:field xpath="@owl:name" /> </xsd:unique> </xsd:element> <xsd:complexType name="OntologyType"> <xsd:sequence minOccurs="0" maxOccurs="unbounded"> <xsd:choice> <xsd:element name="Imports" type="owl:IncludeType" /> <xsd:element name="Annotation" type="owl:AnnotationType" /> <!-- ***************************************************** --> <!-- + owl:classElements (xsd:group) --> <!-- is incluced from --> <!-- either owl1-lite-classElementGroup.xsd --> <!-- or owl1-dl-classElementGroup.xsd --> <!-- ***************************************************** --> <xsd:group ref="owl:classElements" /> <xsd:element name="DatatypeProperty" type="owl:DataPropertyAxiomType" /> <xsd:element name="ObjectProperty" type="owl:ObjectPropertyAxiomType" /> <!-- The conditions on relationships between properties are context-sensitive so this lets any property in --> <xsd:element name="EquivalentProperties" type="owl:PropertiesTypeNE" /> <xsd:element name="SubPropertyOf" type="owl:SubPropertyOfType" /> <xsd:element name="Individual" type="owl:IndividualType" /> <xsd:element name="SameIndividual" type="owl:IndividualsTypeNE" /> <xsd:element name="DifferentIndividuals" type="owl:IndividualsTypeNE" /> </xsd:choice> </xsd:sequence> <xsd:attribute name="name" type="owl:OntologyName" /> </xsd:complexType> <!-- Imports points to another ontology --> <xsd:complexType name="IncludeType"> <xsd:attribute name="ontology" type="xsd:anyURI" use="required"/> </xsd:complexType> <!-- Annotations allow arbitrary uninterpreted information to be added to ontologies --> <xsd:complexType name="AnnotationType"> <xsd:attribute name="subject" type="xsd:anyURI" use="required"/> <xsd:attribute name="object" type="xsd:anyURI" use="required"/> </xsd:complexType> <!-- The body of a class axiom is a potentially empty sequence of descriptions. Attributes provide the name of the class and the modality for the class. --> <xsd:complexType name="ClassAxiomType"> <xsd:sequence minOccurs="0" maxOccurs="unbounded"> <xsd:group ref="owl:description" /> </xsd:sequence> <xsd:attribute name="name" type="owl:ClassName" use="required" /> <xsd:attribute name="complete" type="xsd:boolean" use="required" /> </xsd:complexType> <!-- An enumeration is just a sequence of individuals, suitably encapsulated. --> <xsd:complexType name="EnumerationType"> <xsd:group ref="owl:individuals" /> <xsd:attribute name="name" type="owl:ClassName" use="required" /> </xsd:complexType> <!-- Disjoint and Equivalent for classes take a non-empty group of descriptions. --> <xsd:complexType name="DescriptionsTypeNE"> <xsd:sequence minOccurs="1" maxOccurs="unbounded"> <xsd:group ref="owl:description" /> </xsd:sequence> </xsd:complexType> <!-- A subclassOf statement is just two descriptions, sub and super. --> <xsd:complexType name="SubClassOfType"> <xsd:all> <xsd:element name="sub" type="owl:DescriptionType" minOccurs="1" maxOccurs="1" /> <xsd:element name="super" type="owl:DescriptionType" minOccurs="1" maxOccurs="1" /> </xsd:all> </xsd:complexType> <!-- Property axioms contain supers, domains, and ranges, along with characteristics of the property. --> <xsd:complexType name="DataPropertyAxiomType"> <xsd:sequence minOccurs="0" maxOccurs="unbounded"> <xsd:choice> <xsd:element name="super" type="owl:DataPropertyIDType" /> <xsd:element name="domain" type="owl:DescriptionsType" /> <xsd:element name="range" type="owl:DataRangeType" /> </xsd:choice> </xsd:sequence> <xsd:attribute name="name" type="owl:DataPropertyName" use="required" /> <xsd:attribute name="functional" type="xsd:boolean" default="false" /> <!-- 'owl:dataPropInverseFuncAttr' is included from --> <!-- either 'owl1-lite-dataPropInverseFuncAttr.xsd' --> <!-- or 'owl1-full-dataPropInverseFuncAttr.xsd' --> <xsd:attributeGroup ref="owl:dataPropInverseFuncAttr" /> </xsd:complexType> <xsd:complexType name="ObjectPropertyAxiomType"> <xsd:sequence minOccurs="0" maxOccurs="unbounded"> <xsd:choice> <xsd:element name="super" type="owl:IndividualPropertyIDType" /> <xsd:element name="domain" type="owl:DescriptionsType" /> <xsd:element name="range" type="owl:DescriptionsType" /> </xsd:choice> </xsd:sequence> <xsd:attribute name="name" type="owl:IndividualPropertyName" use="required" /> <xsd:attribute name="inverseOf" type="owl: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" /> <!-- 'owl:objectPropInverseFuncAttr' is included from --> <!-- either 'owl1-lite-objectPropInverseFuncAttr.xsd' --> <!-- or 'owl1-dl-objectPropInverseFuncAttr.xsd' --> <xsd:attributeGroup ref="owl:objectPropInverseFuncAttr" /> </xsd:complexType> <!-- Datatypes and sets of values can show up in data property ranges. --> <xsd:complexType name="DataRangeType"> <xsd:sequence> <xsd:element name="OneOf" type="owl:DataValuesType" minOccurs="0" maxOccurs="1" /> </xsd:sequence> <xsd:attribute name="datatype" type="owl:DatatypeName" /> </xsd:complexType> <!-- EquivalentProperties takes several propertyIDs, all of the same variety (not expressed here) . --> <xsd:complexType name="PropertiesTypeNE"> <xsd:sequence> <xsd:element name="property" type="owl:PropertyIDType" minOccurs="1" maxOccurs="unbounded" /> </xsd:sequence> </xsd:complexType> <!-- 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:complexType name="SubPropertyOfType"> <xsd:attribute name="sub" type="owl:PropertyName" use="required" /> <xsd:attribute name="super" type="owl:PropertyName" use="required" /> </xsd:complexType> <!-- **************************************************** --> <!-- + owl:description (xsd:group) --> <!-- is included from --> <!-- either owl1-lite-descriptionGroup.xsd --> <!-- or owl1-dl-descriptionGroup.xsd --> <!-- **************************************************** --> <xsd:complexType name="DescriptionType"> <xsd:group ref="owl:description" /> </xsd:complexType> <xsd:complexType name="DescriptionsType"> <xsd:sequence minOccurs="0" maxOccurs="unbounded"> <xsd:group ref="owl:description" /> </xsd:sequence> <xsd:attribute name="class" type="owl:ClassName" /> </xsd:complexType> <!-- All types of restrictions 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:complexType name="DataRestrictionType"> <xsd:sequence minOccurs="0" maxOccurs="unbounded"> <xsd:group ref="owl:dataRestriction" /> </xsd:sequence> <xsd:attribute name="property" type="owl:DataPropertyName" use="required" /> <xsd:attribute name="minCardinality" type="owl:CardinalityRangeType" /> <xsd:attribute name="maxCardinality" type="owl:CardinalityRangeType" /> <xsd:attribute name="cardinality" type="owl:CardinalityRangeType" /> </xsd:complexType> <xsd:complexType name="IndividualRestrictionType"> <xsd:sequence minOccurs="0" maxOccurs="unbounded"> <xsd:group ref="owl:individualRestriction" /> </xsd:sequence> <xsd:attribute name="property" type="owl:IndividualPropertyName" use="required" /> <xsd:attribute name="minCardinality" type="owl:CardinalityRangeType" /> <xsd:attribute name="maxCardinality" type="owl:CardinalityRangeType" /> <xsd:attribute name="cardinality" type="owl:CardinalityRangeType" /> </xsd:complexType> <!-- **************************************************** --> <!-- + owl:dataRestriction (xsd:group) --> <!-- + owl:individualRestriction (xsd:group) --> <!-- are included from --> <!-- either owl1-lite-restrictionGroup.xsd --> <!-- or owl1-dl-restrictionGroup.xsd --> <!-- **************************************************** --> <!-- **************************************************** --> <!-- + owl:CardinalityRangeType (xsd:simpleType) --> <!-- is included from --> <!-- either owl1-lite-cardinalityRangeType.xsd --> <!-- or owl1-dl-cardinalityRangeType.xsd --> <!-- **************************************************** --> <!-- Facts about individuals have several types and property information, including nested facts. --> <xsd:complexType name="IndividualType"> <xsd:sequence minOccurs="0" maxOccurs="unbounded"> <xsd:choice> <xsd:element name="type" type="owl:ClassIDType" /> <xsd:element name="ObjectPropertyValue" type="owl:IndividualPropertyValueType" /> <xsd:element name="DataPropertyValue" type="owl:DataPropertyValueType" /> </xsd:choice> </xsd:sequence> <xsd:attribute name="name" type="owl:IndividualName" /> </xsd:complexType> <xsd:complexType name="IndividualPropertyValueType"> <xsd:group ref="owl:individuals" /> <xsd:attribute name="property" type="owl:IndividualPropertyName" use="required" /> </xsd:complexType> <xsd:complexType name="DataPropertyValueType"> <xsd:group ref="owl:datavalues" /> <xsd:attribute name="property" type="owl:DataPropertyName" use="required" /> </xsd:complexType> <xsd:group name="individuals"> <xsd:sequence> <xsd:element name="Individual" type="owl:IndividualType" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> </xsd:group> <xsd:complexType name="IndividualsType"> <xsd:group ref="owl:individuals" /> </xsd:complexType> <xsd:complexType name="IndividualsTypeNE"> <xsd:sequence> <xsd:element name="Individual" type="owl:IndividualType" minOccurs="1" maxOccurs="unbounded" /> </xsd:sequence> </xsd:complexType> <xsd:group name="datavalues"> <xsd:sequence> <xsd:element name="DataValue" type="xsd:anySimpleType" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> </xsd:group> <xsd:complexType name="DataValuesType"> <xsd:group ref="owl:datavalues" /> </xsd:complexType> <!-- Finally, some utility types for the various kinds of names. --> <xsd:complexType name="ClassIDType"> <xsd:attribute name="name" type="owl:ClassName" use="required"/> </xsd:complexType> <xsd:complexType name="DatatypeIDType"> <xsd:attribute name="name" type="owl:DatatypeName" use="required" /> </xsd:complexType> <xsd:complexType name="PropertyIDType"> <xsd:attribute name="name" type="owl:PropertyName" use="required"/> </xsd:complexType> <xsd:complexType name="DataPropertyIDType"> <xsd:attribute name="name" type="owl:DataPropertyName" use="required"/> </xsd:complexType> <xsd:complexType name="IndividualPropertyIDType"> <xsd:attribute name="name" type="owl:IndividualPropertyName" use="required"/> </xsd:complexType> <xsd:complexType name="IndividualIDType"> <xsd:attribute name="name" type="owl: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>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:owl="http://www.w3.org/2002/OWL-XMLSchema" targetNamespace="http://www.w3.org/2002/OWL-XMLSchema" elementFormDefault="qualified" attributeFormDefault="qualified"> <xsd:annotation> <xsd:documentation> Class element group for OWL Lite. Inequality (DisjointClasses) and equality (EquivalentClasses) elements are not included. This model group is extended by "owl1-dl-classElementGroup.xsd". </xsd:documentation> </xsd:annotation> <xsd:group name="classElements"> <xsd:choice> <xsd:element name="Class" type="owl:ClassAxiomType" /> <xsd:element name="SubClassOf" type="owl:SubClassOfType" /> <xsd:element name="EnumeratedClass" type="owl:EnumerationType" /> <!-- Inequality and equality elements are not included --> </xsd:choice> </xsd:group> </xsd:schema>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:owl="http://www.w3.org/2002/OWL-XMLSchema" targetNamespace="http://www.w3.org/2002/OWL-XMLSchema" elementFormDefault="qualified" attributeFormDefault="qualified"> <xsd:annotation> <xsd:documentation> Class element group for OWL DL. Elements for inequality (DisjointClasses) and equality (EquivalentClasses) are added. This model group extends "owl1-lite-classElementGroup.xsd". </xsd:documentation> </xsd:annotation> <xsd:redefine schemaLocation="owl1-lite-classElementGroup.xsd"> <xsd:group name="classElements"> <xsd:choice> <xsd:group ref="owl:classElements" /> <!-- Inequality and equality elements are added --> <xsd:element name="DisjointClasses" type="owl:DescriptionsTypeNE" /> <xsd:element name="EquivalentClasses" type="owl:DescriptionsTypeNE" /> </xsd:choice> </xsd:group> </xsd:redefine> </xsd:schema>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:owl="http://www.w3.org/2002/OWL-XMLSchema" targetNamespace="http://www.w3.org/2002/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> <!-- Descriptions are either named classes, property restrictions, oneOfs, or boolean combinations of descriptions. --> <xsd:group name="description"> <xsd:choice> <xsd:element name="Class" type="owl:ClassIDType" minOccurs="1" maxOccurs="1" /> <xsd:element name="DataRestriction" type="owl:DataRestrictionType" minOccurs="1" maxOccurs="1" /> <xsd:element name="IndividualRestriction" type="owl:IndividualRestrictionType" minOccurs="1" maxOccurs="1" /> <!-- Boolean combination and class enumeration are not included --> </xsd:choice> </xsd:group> </xsd:schema>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:owl="http://www.w3.org/2002/OWL-XMLSchema" targetNamespace="http://www.w3.org/2002/OWL-XMLSchema" elementFormDefault="qualified" attributeFormDefault="qualified"> <xsd:annotation> <xsd:documentation> Description group for OWL DL. 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:choice> <xsd:group ref="owl:description" /> <!-- Elements for boolean combination are added --> <xsd:element name="UnionOf" type="owl:DescriptionsType" minOccurs="1" maxOccurs="1" /> <xsd:element name="IntersectionOf" type="owl:DescriptionsType" minOccurs="1" maxOccurs="1" /> <xsd:element name="ComplementOf" type="owl:DescriptionType" minOccurs="1" maxOccurs="1" /> <!-- An element for class enumeration is added --> <xsd:element name="OneOf" type="owl:IndividualsType" minOccurs="1" maxOccurs="1" /> </xsd:choice> </xsd:group> </xsd:redefine> </xsd:schema>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:owl="http://www.w3.org/2002/OWL-XMLSchema" targetNamespace="http://www.w3.org/2002/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>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:owl="http://www.w3.org/2002/OWL-XMLSchema" targetNamespace="http://www.w3.org/2002/OWL-XMLSchema" elementFormDefault="qualified" attributeFormDefault="qualified"> <xsd:annotation> <xsd:documentation> Cardinality Range Type for OWL DL. 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>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:owl="http://www.w3.org/2002/OWL-XMLSchema" targetNamespace="http://www.w3.org/2002/OWL-XMLSchema" elementFormDefault="qualified" attributeFormDefault="qualified"> <xsd:annotation> <xsd:documentation> Restriction group for OWL Lite. An element for property filler restriction (value) is not included. This model group is extended by "owl1-dl-restrictionGroup.xsd". </xsd:documentation> </xsd:annotation> <xsd:group name="dataRestriction"> <xsd:choice> <xsd:element name="allValuesFrom" type="owl:DataRangeType" /> <xsd:element name="someValueFrom" type="owl:DataRangeType" /> <!-- An element for property filler restriction (value) is not included --> </xsd:choice> </xsd:group> <xsd:group name="individualRestriction"> <xsd:choice> <xsd:element name="allValuesFrom" type="owl:DescriptionsType" /> <xsd:element name="someValueFrom" type="owl:DescriptionsType" /> <!-- An element for property filler restriction (value) is not included --> </xsd:choice> </xsd:group> </xsd:schema>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:owl="http://www.w3.org/2002/OWL-XMLSchema" targetNamespace="http://www.w3.org/2002/OWL-XMLSchema" elementFormDefault="qualified" attributeFormDefault="qualified"> <xsd:annotation> <xsd:documentation> Restriction group for OWL DL. Elements for property filler restriction (value) are added for both data and individual restriction. This model group extends "owl1-lite-restrictionGroup.xsd". </xsd:documentation> </xsd:annotation> <xsd:redefine schemaLocation="owl1-lite-restrictionGroup.xsd"> <xsd:group name="dataRestriction"> <xsd:choice> <xsd:group ref="owl:dataRestriction" /> <!-- A element for property filler restriction (value) is added --> <xsd:element name="value" type="xsd:anySimpleType" /> </xsd:choice> </xsd:group> <xsd:group name="individualRestriction"> <xsd:choice> <xsd:group ref="owl:individualRestriction" /> <!-- A element for property filler restriction (value) is added --> <xsd:element name="value" type="owl:IndividualIDType" /> </xsd:choice> </xsd:group> </xsd:redefine> </xsd:schema>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:owl="http://www.w3.org/2002/OWL-XMLSchema" targetNamespace="http://www.w3.org/2002/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>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:owl="http://www.w3.org/2002/OWL-XMLSchema" targetNamespace="http://www.w3.org/2002/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>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:owl="http://www.w3.org/2002/OWL-XMLSchema" targetNamespace="http://www.w3.org/2002/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>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:owl="http://www.w3.org/2002/OWL-XMLSchema" targetNamespace="http://www.w3.org/2002/OWL-XMLSchema" elementFormDefault="qualified" attributeFormDefault="qualified"> <xsd:annotation> <xsd:documentation> 'inverseFunctional' attribute of DataPropertyAxiomType is set to 'false' by default for OWL DL. 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>