W3C


RDF-Based Semantics

W3C Editor's Draft 21 November 2008

This version:
http://www.w3.org/2007/OWL/draft/ED-owl2-rdf-based-semantics-20081121/
Latest editor's draft:
http://www.w3.org/2007/OWL/draft/owl2-rdf-based-semantics/
Previous version:
http://www.w3.org/2007/OWL/draft/ED-owl2-rdf-based-semantics-20081008/ (color-coded diff)
Editors:
Michael Schneider, FZI Research Center for Information Technology
Contributors:
Note: The complete list of contributors is being compiled and will be included in the next draft.


Abstract

OWL 2 extends the W3C OWL Web Ontology Language with a small but useful set of features that have been requested by users, for which effective reasoning algorithms are now available, and that OWL tool developers are willing to support. The new features include extra syntactic sugar, additional property and qualified cardinality constructors, extended datatype support, simple metamodeling, and extended annotations.
This document provides the RDF-compatible model-theoretic semantics for OWL 2, called "OWL 2 Full".

Status of this Document

May Be Superseded

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

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

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

Please Comment By 2008-11-25

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

No Endorsement

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

Patents

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


Contents


Editor's Note: It will be considered to finally add "informative" and "normative" to each section's title, following RDF and OWL 1 traditions.
Editor's Note: Open Question: There is an open issue with OWL 2 Full's support of n-ary datatypes. I suppose that we need to introduce a new sort of extension, a "datarange extension of arity n", which associates an individual with a set of n-tuples of individuals. Affected parts of the document would be: Introduction, Interpretations, the Semantic Conditions and the Comprehension Principles for the Datatype Complement, and the Restrictions on N-ary Datatypes ("owl:onProperties"). Should this be the case, then the latter semantic conditions have to be considered broken at the moment, since n-tuples of individuals then cannot be instances of class extensions.

However, it has been proposed that there is no need to introduce such an additional sort of extension.

1 Introduction

This document defines the RDF-compatible model-theoretic semantics of OWL 2, called "OWL 2 Full", which is the OWL 2 semantic extension of RDFS [RDF Semantics]. OWL 2 Full inherits every aspect of the semantic specification of RDFS, and therefore the semantic meaning given to an RDF graph by OWL 2 Full includes the meaning given to the graph by RDFS. Further, OWL 2 Full defines additional semantic meaning to all the language features of OWL 2, following the design principles that have been applied to the semantics of RDF. The content of this document is not meant to be self-contained, but builds on top of the RDF Semantics document by only adding the OWL 2 specific parts of the semantics. Hence, the complete definition of OWL 2 Full is actually given by the combination of these two documents.

OWL 2 Full is specified for the OWL 2 Full vocabulary in the form of a vocabulary interpretation, which is defined on the OWL 2 Full universe. The OWL 2 Full universe is identified with the RDFS universe, and comprises the set of all individuals. It is further divided into sub parts, namely the classes, the properties, and the datatype values, which are thus also individuals. Every class has a set of individuals associated with it, the so called "class extension", which is distinguished from the class itself. Analog, every property is associated with a "property extension", which is a binary relation, i.e. a set of pairs of individuals. The classes subsume the datatypes, and the properties subsume the data properties, the annotation properties, and the ontology properties. Individuals may play different roles at the same time. They can, for example, be both a class and a property, or both a data property and an annotation property.

Editor's Note: It has been proposed to have some figure here visualizing the parts hierarchy and possibly the IEXT/ICEXT concept as explained in the text above.

Every RDF graph is a syntactically valid OWL 2 Full ontology, which receives its semantic meaning by applying the set of OWL 2 Full semantic conditions. For ontologies importing other ontologies, the whole imports closure of that ontology will generally have to be taken into account.

A strong relationship holds between the RDF-Based Semantics of OWL 2 Full and the Direct Semantics of OWL 2 DL, in that OWL 2 Full is, in some sense, able to reflect all logical conclusions of OWL 2 DL. The precise relationship is stated by the OWL 2 correspondence theorem.

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

2 Vocabulary

The OWL 2 Full vocabulary is a set of URI references in the OWL namespace, owl:, which is given by the URI reference

Table 2.1 lists the OWL 2 Full vocabulary, which extends the RDF and RDFS vocabulary as specified by Sections 3.1 and 4.1 of the RDF Semantics. Excluded are those URI references from the OWL namespace, which are mentioned in one of the other tables in this section.

Table 2.1: OWL 2 Full Vocabulary
owl:AllDifferent owl:AllDisjointClasses owl:AllDisjointProperties owl:allValuesFrom owl:Annotation owl:AnnotationProperty owl:assertionProperty owl:AsymmetricProperty owl:Axiom owl:backwardCompatibleWith owl:bottomDataProperty owl:bottomObjectProperty owl:cardinality owl:Class owl:complementOf owl:DataRange owl:datatypeComplementOf owl:DatatypeProperty owl:deprecated owl:DeprecatedClass owl:DeprecatedProperty owl:differentFrom owl:disjointUnionOf owl:disjointWith owl:distinctMembers owl:equivalentClass owl:equivalentProperty owl:FunctionalProperty owl:hasKey owl:hasSelf owl:hasValue owl:imports owl:incompatibleWith owl:intersectionOf owl:InverseFunctionalProperty owl:inverseOf owl:IrreflexiveProperty owl:maxCardinality owl:maxQualifiedCardinality owl:members owl:minCardinality owl:minQualifiedCardinality owl:NamedIndividual owl:NegativePropertyAssertion owl:Nothing owl:object owl:ObjectProperty owl:onClass owl:onDataRange owl:onDatatype owl:oneOf owl:onProperty owl:onProperties owl:Ontology owl:OntologyProperty owl:predicate owl:priorVersion owl:propertyChain owl:propertyDisjointWith owl:qualifiedCardinality owl:ReflexiveProperty owl:Restriction owl:sameAs owl:someValuesFrom owl:sourceIndividual owl:subject owl:SymmetricProperty owl:targetIndividual owl:targetValue owl:Thing owl:topDataProperty owl:topObjectProperty owl:TransitiveProperty owl:unionOf owl:versionInfo owl:withRestrictions

Note: The use of the URI reference owl:DataRange has been deprecated as of OWL 2. The URI reference rdfs:Datatype SHOULD be used instead.

Table 2.2 lists the set of datatypes supported by OWL 2 Full. The datatype rdf:XMLLiteral is described in Section 3.1 of the RDF Semantics. All other datatypes are described in Section 4 of the OWL 2 Structural Specification.

Editor's Note: The name owl:dateTime is currently a placeholder. XML Schema 1.1 Working Group will introduce a datatype for date-time with required timezone. Once this is done, owl:dateTime will be changed to whatever name XML Schema chooses. If the schedule of the XML Schema 1.1 Working Group slips the OWL 2 Working Group will consider possible alternatives, so the name is potentially at risk.
Editor's Note: The datatype owl:rational is at risk, pending implementation experience.
Table 2.2: Datatypes of OWL 2 Full
xsd:anyURI xsd:base64Binary xsd:boolean xsd:byte owl:dateTime xsd:decimal xsd:double xsd:float xsd:hexBinary xsd:int xsd:integer xsd:language xsd:long xsd:Name xsd:NCName xsd:negativeInteger xsd:NMTOKEN xsd:nonNegativeInteger xsd:nonPositiveInteger xsd:normalizedString xsd:positiveInteger owl:rational owl:real owl:realPlus xsd:short xsd:string rdf:text xsd:token xsd:unsignedByte xsd:unsignedInt xsd:unsignedLong xsd:unsignedShort rdf:XMLLiteral

Table 2.3 lists the set of datatype facets supported by OWL 2 Full. Section 4 of the OWL 2 Structural Specification describes the meaning of each facet, and to which datatypes it can be applied, respectively.

Editor's Note: For the facet "langPattern" it is currently not clear, whether it will eventually have the namespace "rdf:", and whether this facet will be defined by the OWL 2 Structural Specification or elsewhere, for example by a distinguished document describing the datatype rdf:text.
Table 2.3: Datatype Facets of OWL 2 Full
rdf:langPattern xsd:length xsd:maxExclusive xsd:maxInclusive xsd:maxLength xsd:minExclusive xsd:minInclusive xsd:minLength xsd:pattern

3 Ontologies

Every well-formed RDF graph is a syntactically valid OWL 2 Full ontology. If a OWL 2 Full ontology imports other OWL 2 Full ontologies, then the whole imports closure of that ontology has to be taken into account.

Definition 3.1 (Import Closure): Let K be a collection of RDF graphs. K is imports closed iff for every triple in any element of K of the form x owl:imports u then K contains a graph that is referred to by u. The imports closure of a collection of RDF graphs is the smallest imports closed collection of RDF graphs containing the graphs.

An OWL 2 Full ontology MAY contain an ontology header, with optional information about the ontology's version, if the ontology's author wants to signal that the ontology is a OWL 2 Full ontology. The OWL 2 RDF Mapping provides details about the syntax of ontology headers.

4 Interpretations

OWL 2 Full provides a vocabulary interpretation and vocabulary entailment (see Section 2.1 of the RDF Semantics) for the RDF vocabulary, the RDFS vocabulary, and the OWL 2 Full vocabulary.

From the RDF Semantics, let V be a set of URI references and literals containing the RDF and RDFS vocabulary, and let D be a datatype map according to Section 5.1 of the RDF Semantics. A D-interpretation I of V is a tuple

I = ⟨ IR, IP, IEXT, IS, IL, LV ⟩.

IR is the domain of discourse or universe, i.e., a nonempty set that contains the denotations of URI references and literals in V. IP is a subset of IR, the properties of I. LV is a subset of IR that covers at least the value spaces of all datatypes in D. IEXT is used to associate properties with their property extension, and is a mapping from IP to P(IR × IR), where P is the powerset. IS is a mapping from URI references in V to their denotations in IR. IL is a mapping from typed literals in V to their denotations in IR, where in particular the denotations of all well-typed literals are members of LV (Section 5.1 of the RDF Semantics explains why the range of IL is actually IR instead of LV). The set of classes IC is defined as

IC = { x ∈ IR | ⟨x,I(rdfs:Class)⟩ ∈ IEXT(I(rdf:type)) }.

The mapping ICEXT from IC to P(IR) associates classes with their class extension, and is defined as

ICEXT(c) = { x ∈ IR | ⟨x,c⟩ ∈ IEXT(I(rdf:type)) }

for c ∈ IC.

As detailed in the RDF Semantics, a D-interpretation has to meet additional semantic conditions, which constrain the set of RDF graphs that are true under this interpretation. An RDF graph G is said to be satisfied by a D-interpretation I, if I(G) = true.

Definition 4.1 (OWL 2 Full Datatype Map): Let D be a datatype map as defined in Section 5.1 of the RDF Semantics. D is a OWL 2 Full datatype map, if it contains at least all datatypes listed in Table 2.2.

Definition 4.2 (OWL 2 Full Interpretation): Let D be a OWL 2 Full datatype map, and let V be a vocabulary that includes the RDF and RDFS vocabularies, and the OWL 2 Full vocabulary together with all the datatype and facet names listed in Section 2. An OWL 2 Full interpretation, I = ⟨ IR, IP, IEXT, IS, IL, LV ⟩, of V with respect to D, is a D-interpretation of V that satisfies all the extra semantic conditions given in Section 5.

Definition 4.3 (OWL 2 Full Consistency): Let K be a collection of RDF graphs, and let D be a OWL 2 Full datatype map. K is OWL 2 Full consistent with respect to D iff there is some OWL 2 Full interpretation I with respect to D of some vocabulary V that includes the RDF and RDFS vocabularies, and the OWL 2 Full vocabulary together with all the datatype and facet names listed in Section 2, where I satisfies all the RDF graphs in K.

Definition 4.4 (OWL 2 Full Entailment): Let K and Q be collections of RDF graphs, and let D be a OWL 2 Full datatype map. K OWL 2 Full entails Q with respect to D iff every OWL 2 Full interpretation I with respect to D of any vocabulary V that includes the RDF and RDFS vocabularies and the OWL 2 Full vocabulary together with all the datatype and facet names listed in Section 2, and where I satisfies all the RDF graphs in K, then I also satisfies all the RDF graphs in Q.

5 Semantic Conditions

The semantic conditions presented here are those specific to the OWL 2 Full vocabulary. This set of semantic conditions is not self-contained, but has to be regarded in conjunction with the semantic conditions given for Simple Entailment, RDF, RDFS and D-Entailment in the RDF Semantics.

Table 5.1 on "Basic Sets" enumerates the different parts of the OWL 2 Full universe, such as the sets of classes, properties, etc., which are referred to by many semantic conditions in this section. Table 5.2 lists several "Convenient Abbreviations" for sets that are often used within semantic conditions. Table 5.3 and Table 5.4 list basic semantic conditions for the classes and the properties of the OWL 2 Full vocabulary, which can be regarded as the OWL 2 Full "axiomatic triples" (this is further explained by the introduction of these tables). The remaining tables in this section specify the OWL 2 Full semantic conditions for the different language features of OWL 2.

Most semantic conditions are "iff" conditions, which exactly specify the semantics of the respective language feature. Some language features only have "if-then" conditions in order to avoid certain semantic paradoxes and other problems with the semantics. Several language features with "iff" conditions, namely Sub Property Chains in Table 5.10, N-ary Axioms in Table 5.12, and Negative Property Assertions in Table 5.16, have a multi-triple representation in RDF, where the different triples share a common "root node" x. In order to treat this specific syntactic aspect technically, the "iff" conditions of these language features are split into two "if-then" conditions, and the right-to-left "if" condition contains an additional premise of the form "∃x ∈ IR", which has the single purpose to provide the needed "root node" x.

Conventions used in this section:

Several conventions are used when presenting logic expressions in the below tables. Having a comma between two statements in a semantic condition, as in

c ∈ IC , p ∈ IP

means a logical "and". If no scope is given for a variable x, as in "∀x:…" or in "{x|…}", then x is unconstrained, which means that xIR. An expression of the form

l sequence of u1,…, un ∈ S

means that u1 ∈ S,… , un ∈ S, and that there exist x1 ∈ IR,…, xn ∈ IR, such that

I(l) ∈ ICEXT(I(rdf:List)),
I(l) = I(x1),
⟨x1,u1⟩ ∈ IEXT(I(rdf:first)), ⟨x1,x2⟩ ∈ IEXT(I(rdf:rest)),
…,
⟨xn,un⟩ ∈ IEXT(I(rdf:first)), ⟨xn,I(rdf:nil)⟩ ∈ IEXT(I(rdf:rest)).

The following names for sets are used in addition to those given in Section 4:

  • ISEQ: The set of all sequences. This set equals the class extension of rdf:List.
  • INNI: The set of all non-negative integers. This set equals the value space of xsd:NonNegativeInteger, but is also contained in the value spaces of other datatypes, such as xsd:integer.

The semantic conditions in the tables below sometimes do not explicitly list typing statements in their consequent that one would normally expect. This may be the case if these statements can already be deduced by means of the semantic conditions given in Table 5.3 and Table 5.4, occasionally in connection with Table 5.1. For example, the semantic condition for owl:allValuesFrom restrictions in Table 5.7 does not have the statement xICEXT(I(owl:Restriction)) on its right hand side. The reason is that this result can already be obtained from the third column of the entry for owl:allValuesFrom in Table 5.4, which determines that IEXT(I(owl:allValuesFrom)) ⊆ ICEXT(I(owl:Restriction)) × IC.

Table 5.1 presents basic sets used in OWL 2 Full, their relationship to other sets, and properties of their instances.

Table 5.1: Basic Sets
Name of
Set S
Conditions on
Set S
Conditions on
Instances x of S
Explanation
IR S ≠ ∅ all individuals (or resources)
LV S ⊆ IR all datatype values
IX S ⊆ IR all ontologies
IC S ⊆ IR ICEXT(x) ⊆ IR all classes
IDC S ⊆ IC ICEXT(x) ⊆ LV all datatypes
IP S ⊆ IR IEXT(x) ⊆ IR × IR all (object) properties
IODP S ⊆ IP IEXT(x) ⊆ IR × LV all data properties
IOAP S ⊆ IP IEXT(x) ⊆ IR × IR all annotation properties
IOXP S ⊆ IP IEXT(x) ⊆ IX × IX all ontology properties

Table 5.2 provides abbreviations for additional sets, which are used throughout this document.

Table 5.2: Convenient Abbreviations
Name of Set S Explanation
IFP(d) The set of all facets allowed for datatype d.
IFV(d,f) The set of all facet values allowed for the combination of datatype d and facet f.
IFEXT(d,f,u) The subset of the class extension of datatype d that results from applying facet f with facet value u to d.
Editor's Note: The definitions in this table should be less informal.

Table 5.3 lists the classes of the OWL 2 Full vocabulary (and certain classes from RDF and RDFS), together with their relationship to other classes. Not included in this table are the different datatypes, as given in Table 2.2. For a datatype URI D, I(D) ∈ IDC, and ICEXT(I(D)) ⊆ LV.

Informative Note: The semantic conditions given here can be regarded as the OWL 2 Full "axiomatic triples" for classes: For each URI U occurring in the first column of the table, if the second column contains an entry "I(U) ∈ S" for some set S, then this entry corresponds to some RDF triple of the form "U rdf:type C", where C is the URI of some class with ICEXT(I(C)) = S. In this table, S will always be either the set IC of all classes, or a subset of IC. Hence, in a corresponding RDF triple the URI C will typically be one of "rdfs:Class" or "owl:Class" (S=IC in both cases), or "rdfs:Datatype" (S=IDC). Further, for each URI U in the first column, if the third column contains an entry "ICEXT(I(U)) ⊆ S" ("ICEXT(I(U)) = S") for some set S, then this entry corresponds to some RDF triple of the form "U rdfs:subClassOf C" ("U owl:equivalentClass C"), where C is the URI of some class with ICEXT(I(C)) = S. Additionally, the conditions on the sets given in Table 5.1 have to be taken into account. In particular, if an entry of Table 5.1 states S1 ⊆ S2 for some sets S1 and S2, then this corresponds to some RDF triple C1 owl:subClassOf C2, where C1 and C2 are the URIs of some classes with ICEXT(I(C1)) = S1 and ICEXT(I(C2)) = S2, respectively, according to Table 5.3. Note that some of the RDF triples received in this way already follow from the RDFS Semantics. These axiomatic triples are "simple" in the following sense: For every set S mentioned in the second and the third column of the table there exists a URI C of some class in the vocabularies for RDF, RDFS or those given in Section 2, for which S = ICEXT(I(C)).

Table 5.3: Classes
Vocabulary URI U I(U) ICEXT(I(U))
owl:AllDifferent ∈ IC ⊆ IR
owl:AllDisjointClasses ∈ IC ⊆ IR
owl:AllDisjointProperties ∈ IC ⊆ IR
owl:Annotation ∈ IC ⊆ IR
owl:AnnotationProperty ∈ IC = IOAP
owl:AsymmetricProperty ∈ IC ⊆ IP
owl:Axiom ∈ IC ⊆ IR
rdfs:Class ∈ IC = IC
owl:Class ∈ IC = IC
owl:DataRange ∈ IC = IDC
rdfs:Datatype ∈ IC = IDC
owl:DatatypeProperty ∈ IC = IODP
owl:DeprecatedClass ∈ IC ⊆ IC
owl:DeprecatedProperty ∈ IC ⊆ IP
owl:FunctionalProperty ∈ IC ⊆ IP
owl:InverseFunctionalProperty ∈ IC ⊆ IP
owl:IrreflexiveProperty ∈ IC ⊆ IP
rdfs:Literal ∈ IDC = LV
owl:NamedIndividual ∈ IC = IR
owl:NegativePropertyAssertion ∈ IC ⊆ IR
owl:Nothing ∈ IC = ∅
owl:ObjectProperty ∈ IC = IP
owl:Ontology ∈ IC = IX
owl:OntologyProperty ∈ IC = IOXP
rdf:Property ∈ IC = IP
owl:ReflexiveProperty ∈ IC ⊆ IP
rdfs:Resource ∈ IC = IR
owl:Restriction ∈ IC ⊆ IC
owl:SymmetricProperty ∈ IC ⊆ IP
owl:Thing ∈ IC = IR
owl:TransitiveProperty ∈ IC ⊆ IP

Table 5.4 lists the properties of the OWL 2 Full vocabulary (and certain properties from RDF and RDFS), together with their domain and range. Note that the ranges of the properties owl:deprecated and owl:hasSelf are not restricted to be boolean values, in order to allow assertions with one of these properties to have objects of arbitrary type.

Not included in this table are the different datatype facets, as given in Table 2.3. For a facet URI F, I(F) ∈ IP, and IEXT(I(F)) ⊆ IR × LV.

Informative Note: The semantic conditions given here can be regarded as the OWL 2 Full "axiomatic triples" for properties: For each URI U occurring in the first column of the table, if the second column contains an entry "I(U) ∈ S" for some set S, then this entry corresponds to some RDF triple of the form "U rdf:type C", where C is the URI of some class with ICEXT(I(C)) = S. In this table, S will always be either the set IP of all properties, or a subset of IP. Hence, in a corresponding RDF triple the URI C will typically be one of "rdf:Property" or "owl:ObjectProperty" (S=IP in both cases), "owl:DatatypeProperty" (S=IODP), "owl:AnnotationProperty" (S=IOAP), or "owl:OntologyProperty" (S=IOXP). Further, for each URI U in the first column, if the third column contains an entry "IEXT(I(U)) ⊆ S1 × S2" for some sets S1 and S2, then this entry corresponds to some RDF triples of the forms "U rdfs:domain C1" and "U rdfs:range C2", where C1 and C2 are the URIs of some classes with ICEXT(I(C1)) = S1 and ICEXT(I(C2)) = S2, respectively. Exceptions are the semantic conditions "IEXT(I(owl:topObjectProperty)) = IR × IR" and "IEXT(I(owl:topDataProperty)) = IR × LV", for which there are no corresponding domain and range triples. These axiomatic triples are "simple" in the following sense: For every set S mentioned in the second column of the table, and as the left or right hand side of a Cartesian product in the third column of the table there exists a URI C of some class in the vocabularies for RDF, RDFS or those given in Section 2, for which S = ICEXT(I(C)).

Table 5.4: Properties
Vocabulary URI U I(U) IEXT(I(U))
owl:allValuesFrom ∈ IP ⊆ ICEXT(I(owl:Restriction)) × IC
owl:assertionProperty ∈ IP ⊆ ICEXT(I(owl:NegativePropertyAssertion)) × IP
owl:backwardCompatibleWith ∈ IOXP ⊆ IX × IX
owl:bottomDataProperty ∈ IODP = ∅
owl:bottomObjectProperty ∈ IP = ∅
owl:cardinality ∈ IP ⊆ ICEXT(I(owl:Restriction)) × INNI
rdfs:comment ∈ IOAP ⊆ IR × LV
owl:complementOf ∈ IP ⊆ IC × IC
owl:datatypeComplementOf ∈ IP ⊆ IDC × IDC
owl:deprecated ∈ IOAP ⊆ IR × IR
owl:differentFrom ∈ IP ⊆ IR × IR
owl:disjointUnionOf ∈ IP ⊆ IC × ISEQ
owl:disjointWith ∈ IP ⊆ IC × IC
owl:distinctMembers ∈ IP ⊆ ICEXT(I(owl:AllDifferent)) × ISEQ
owl:equivalentClass ∈ IP ⊆ IC × IC
owl:equivalentProperty ∈ IP ⊆ IP × IP
owl:hasKey ∈ IP ⊆ IC × ISEQ
owl:hasSelf ∈ IP ⊆ ICEXT(I(owl:Restriction)) × IR
owl:hasValue ∈ IP ⊆ ICEXT(I(owl:Restriction)) × IR
owl:imports ∈ IOXP ⊆ IX × IX
owl:incompatibleWith ∈ IOXP ⊆ IX × IX
owl:intersectionOf ∈ IP ⊆ IC × ISEQ
owl:inverseOf ∈ IP ⊆ IP × IP
rdfs:isDefinedBy ∈ IOAP ⊆ IR × IR
rdfs:label ∈ IOAP ⊆ IR × LV
owl:maxCardinality ∈ IP ⊆ ICEXT(I(owl:Restriction)) × INNI
owl:maxQualifiedCardinality ∈ IP ⊆ ICEXT(I(owl:Restriction)) × INNI
owl:members ∈ IP ⊆ IR × ISEQ
owl:minCardinality ∈ IP ⊆ ICEXT(I(owl:Restriction)) × INNI
owl:minQualifiedCardinality ∈ IP ⊆ ICEXT(I(owl:Restriction)) × INNI
owl:object ∈ IP ⊆ IR × IR
owl:onClass ∈ IP ⊆ ICEXT(I(owl:Restriction)) × IC
owl:onDataRange ∈ IP ⊆ ICEXT(I(owl:Restriction)) × IDC
owl:onDatatype ∈ IP ⊆ IDC × IDC
owl:oneOf ∈ IP ⊆ IC × ISEQ
owl:onProperty ∈ IP ⊆ ICEXT(I(owl:Restriction)) × IP
owl:onProperties ∈ IP ⊆ ICEXT(I(owl:Restriction)) × ISEQ
owl:predicate ∈ IP ⊆ IR × IP
owl:priorVersion ∈ IOXP ⊆ IX × IX
owl:propertyChain ∈ IP ⊆ IP × ISEQ
owl:propertyDisjointWith ∈ IP ⊆ IP × IP
owl:qualifiedCardinality ∈ IP ⊆ ICEXT(I(owl:Restriction)) × INNI
owl:sameAs ∈ IP ⊆ IR × IR
rdfs:seeAlso ∈ IOAP ⊆ IR × IR
owl:someValuesFrom ∈ IP ⊆ ICEXT(I(owl:Restriction)) × IC
owl:sourceIndividual ∈ IP ⊆ ICEXT(I(owl:NegativePropertyAssertion)) × IR
owl:subject ∈ IP ⊆ IR × IR
owl:targetIndividual ∈ IP ⊆ ICEXT(I(owl:NegativePropertyAssertion)) × IR
owl:targetValue ∈ IP ⊆ ICEXT(I(owl:NegativePropertyAssertion)) × LV
owl:topDataProperty ∈ IODP = IR × LV
owl:topObjectProperty ∈ IP = IR × IR
owl:unionOf ∈ IP ⊆ IC × ISEQ
owl:versionInfo ∈ IOAP ⊆ IR × IR
owl:withRestrictions ∈ IP ⊆ IDC × ISEQ

Table 5.5 lists the semantic conditions for boolean class expressions, which exist for building complements, intersections, and unions of classes. An intersection or union of a set of datatypes is itself a datatype. While a "normal" complement of a class is created w.r.t. to the whole domain, a datatype complement is created for a datatype w.r.t. the set of data values only, and results itself in a datatype.

Table 5.5: Boolean Class Expressions
⟨c,d⟩ ∈ IEXT(I(owl:complementOf)) iff c, d ∈ IC
ICEXT(c) = IR \ ICEXT(d)
⟨c,d⟩ ∈ IEXT(I(owl:datatypeComplementOf)) c, d ∈ IDC,
ICEXT(c) = LV \ ICEXT(d)
if l sequence of d1,…, dn ∈ IR then
⟨c,l⟩ ∈ IEXT(I(owl:intersectionOf)) iff c, d1,…, dn ∈ IC,
ICEXT(c) = ICEXT(d1) ∩…∩ ICEXT(dn)
⟨c,l⟩ ∈ IEXT(I(owl:unionOf)) c, d1,…, dn ∈ IC,
ICEXT(c) = ICEXT(d1) ∪…∪ ICEXT(dn)
if then
l sequence of d1,…, dn ∈ IDC, n ≥ 1,
⟨c,l⟩ ∈ IEXT(I(owl:intersectionOf))
c ∈ IDC
l sequence of d1,…, dn ∈ IDC, n ≥ 1,
⟨c,l⟩ ∈ IEXT(I(owl:unionOf))
c ∈ IDC

Table 5.6 lists the semantic conditions for enumerations, i.e. classes, which have an explicitly defined, finite set of instances. An enumeration entirely consisting of datatype values is a datatype.

Table 5.6: Enumeration Classes
if l sequence of u1,…, un ∈ IR then
⟨c,l⟩ ∈ IEXT(I(owl:oneOf)) iff c ∈ IC,
ICEXT(c) = { u1,…, un }
if then
l sequence of u1,…, un ∈ LV, n ≥ 1,
⟨c,l⟩ ∈ IEXT(I(owl:oneOf))
c ∈ IDC

Table 5.7 lists the semantic conditions for property restrictions, including self restrictions, value restrictions, and (qualified) cardinality restrictions. Note that the semantic condition for self restrictions does not entail the right hand side of a owl:hasSelf assertion to be a boolean value, in order to allow such assertions having right hand sides of arbitrary type.

Table 5.7: Property Restrictions
if then
⟨x,u⟩ ∈ IEXT(I(owl:hasSelf)),
⟨x,p⟩ ∈ IEXT(I(owl:onProperty))
ICEXT(x) = {y | ⟨y,y⟩ ∈ IEXT(p)}
⟨x,c⟩ ∈ IEXT(I(owl:allValuesFrom)),
⟨x,p⟩ ∈ IEXT(I(owl:onProperty))
ICEXT(x) = {y | ∀z : ⟨y,z⟩ ∈ IEXT(p) → z ∈ ICEXT(c)}
l sequence of p1,…, pn ∈ IR,
⟨x,c⟩ ∈ IEXT(I(owl:allValuesFrom)),
⟨x,l⟩ ∈ IEXT(I(owl:onProperties))
p1,…, pn ∈ IODP,
c ∈ IDC,
ICEXT(x) = {y | ∀z1,…,zn : ⟨y,z1⟩ ∈ IEXT(p1) ∧…∧ ⟨y,zn⟩ ∈ IEXT(pn) → ⟨z1,…,zn⟩ ∈ ICEXT(c)}
⟨x,c⟩ ∈ IEXT(I(owl:someValuesFrom)),
⟨x,p⟩ ∈ IEXT(I(owl:onProperty))
ICEXT(x) = {y | ∃z : ⟨y,z⟩ ∈ IEXT(p) ∧ z ∈ ICEXT(c)}
l sequence of p1,…, pn ∈ IR,
⟨x,c⟩ ∈ IEXT(I(owl:someValuesFrom)),
⟨x,l⟩ ∈ IEXT(I(owl:onProperties))
p1,…, pn ∈ IODP,
c ∈ IDC,
ICEXT(x) = {y | ∃z1,…,zn : ⟨y,z1⟩ ∈ IEXT(p1) ∧…∧ ⟨y,zn⟩ ∈ IEXT(pn) ∧ ⟨z1,…,zn⟩ ∈ ICEXT(c)}
⟨x,u⟩ ∈ IEXT(I(owl:hasValue)),
⟨x,p⟩ ∈ IEXT(I(owl:onProperty))
ICEXT(x) = {y | ⟨y,u⟩ ∈ IEXT(p)}
⟨x,n⟩ ∈ IEXT(I(owl:cardinality)),
⟨x,p⟩ ∈ IEXT(I(owl:onProperty))
ICEXT(x) = {y | #{z|⟨y,z⟩ ∈ IEXT(p)} = n}
⟨x,n⟩ ∈ IEXT(I(owl:minCardinality)),
⟨x,p⟩ ∈ IEXT(I(owl:onProperty))
ICEXT(x) = {y | #{z|⟨y,z⟩ ∈ IEXT(p)} ≥ n}
⟨x,n⟩ ∈ IEXT(I(owl:maxCardinality)),
⟨x,p⟩ ∈ IEXT(I(owl:onProperty))
ICEXT(x) = {y | #{z|⟨y,z⟩ ∈ IEXT(p)} ≤ n}
⟨x,n⟩ ∈ IEXT(I(owl:qualifiedCardinality)),
⟨x,c⟩ ∈ IEXT(I(owl:onClass)),
⟨x,p⟩ ∈ IEXT(I(owl:onProperty))
ICEXT(x) = {y | #{z|⟨y,z⟩ ∈ IEXT(p) ∧ z ∈ ICEXT(c)} = n}
⟨x,n⟩ ∈ IEXT(I(owl:qualifiedCardinality)),
⟨x,c⟩ ∈ IEXT(I(owl:onDataRange)),
⟨x,p⟩ ∈ IEXT(I(owl:onProperty))
p ∈ IODP,
ICEXT(x) = {y | #{z ∈ LV|⟨y,z⟩ ∈ IEXT(p) ∧ z ∈ ICEXT(c)} = n}
⟨x,n⟩ ∈ IEXT(I(owl:minQualifiedCardinality)),
⟨x,c⟩ ∈ IEXT(I(owl:onClass)),
⟨x,p⟩ ∈ IEXT(I(owl:onProperty))
ICEXT(x) = {y | #{z|⟨y,z⟩ ∈ IEXT(p) ∧ z ∈ ICEXT(c)} ≥ n}
⟨x,n⟩ ∈ IEXT(I(owl:minQualifiedCardinality)),
⟨x,c⟩ ∈ IEXT(I(owl:onDataRange)),
⟨x,p⟩ ∈ IEXT(I(owl:onProperty))
p ∈ IODP,
ICEXT(x) = {y | #{z ∈ LV|⟨y,z⟩ ∈ IEXT(p) ∧ z ∈ ICEXT(c)} ≥ n}
⟨x,n⟩ ∈ IEXT(I(owl:maxQualifiedCardinality)),
⟨x,c⟩ ∈ IEXT(I(owl:onClass)),
⟨x,p⟩ ∈ IEXT(I(owl:onProperty))
ICEXT(x) = {y | #{z |⟨y,z⟩ ∈ IEXT(p) ∧ z ∈ ICEXT(c)} ≤ n}
⟨x,n⟩ ∈ IEXT(I(owl:maxQualifiedCardinality)),
⟨x,c⟩ ∈ IEXT(I(owl:onDataRange)),
⟨x,p⟩ ∈ IEXT(I(owl:onProperty))
p ∈ IODP,
ICEXT(x) = {y | #{z ∈ LV|⟨y,z⟩ ∈ IEXT(p) ∧ z ∈ ICEXT(c)} ≤ n}

Table 5.8 lists the semantic conditions for datatype restrictions, which are specified by a set of facets with their facet values applied to a datatype. Note that if no facet is applied to a given datatype, then the resulting datatype will be equivalent to the original datatype. Note further that the semantic condition is specified in a way that applying a facet to a datatype, for which it is not defined, will lead to an unsatisfiable ontology. Likewise, adding an inapplicable facet value to a certain combination of a datatype a facet will lead to an unsatisfiable ontology. As a consequence, a datatype restriction with one or more specified facets will lead to an unsatisfiable ontology when applied to a datatype for which no facets are defined (usually a set of facets only exists for datatypes contained in the datatype map).

Table 5.8: Datatype Restrictions
if then
l sequence of y1,…, yn ∈ IR,
f1,…, fn ∈ IP,
⟨c,d⟩ ∈ IEXT(I(owl:onDatatype)),
⟨c,l⟩ ∈ IEXT(I(owl:withRestrictions)),
⟨y1,u1⟩ ∈ IEXT(f1),
…,
⟨yn,un⟩ ∈ IEXT(fn)
c, d ∈ IDC,
fi ∈ IFP(d) for 1≤i≤n,
ui ∈ IFV(d,fi) for 1≤i≤n,
ICEXT(c) = ICEXT(d) ∩ IFEXT(d,f1,u1) ∩…∩ IFEXT(d,fn,un)

Table 5.9 extends the semantic conditions for the RDFS vocabulary. The original semantics for RDFS, as specified in the RDF Semantics, only provide "if-then" semantic conditions, while OWL 2 Full specifies stronger "iff" semantic conditions. Note that only the additional semantic conditions are given here and that the other conditions on the RDF and RDFS vocabulary are retained.

Table 5.9: Extended Conditions for the RDFS Vocabulary
⟨c,d⟩ ∈ IEXT(I(rdfs:subClassOf)) iff c, d ∈ IC,
ICEXT(c) ⊆ ICEXT(d)
⟨p,q⟩ ∈ IEXT(I(rdfs:subPropertyOf)) p, q ∈ IP,
IEXT(p) ⊆ IEXT(q)
⟨p,c⟩ ∈ IEXT(I(rdfs:domain)) p ∈ IP, c ∈ IC,
∀x,y : ⟨x,y⟩ ∈ IEXT(p) → x ∈ ICEXT(c)
⟨p,c⟩ ∈ IEXT(I(rdfs:range)) p ∈ IP, c ∈ IC,
∀x,y : ⟨x,y⟩ ∈ IEXT(p) → y ∈ ICEXT(c)

Table 5.10 lists the semantic conditions for sub property chains.

Table 5.10: Sub Property Chains
if then
l sequence of p1,…, pn ∈ IR,
⟨x,q⟩ ∈ IEXT(I(rdfs:subPropertyOf)),
⟨x,l⟩ ∈ IEXT(I(owl:propertyChain))
p1,…, pn ∈ IP,
∀y0,…,yn : ⟨y0,y1⟩ ∈ IEXT(p1) ∧…∧ ⟨yn-1,yn⟩ ∈ IEXT(pn) → ⟨y0,yn⟩ ∈ IEXT(q)
if then exists x ∈ IR
l sequence of p1,…, pn ∈ IP,
∀y0,…,yn : ⟨y0,y1⟩ ∈ IEXT(p1) ∧…∧ ⟨yn-1,yn⟩ ∈ IEXT(pn) → ⟨y0,yn⟩ ∈ IEXT(q)
⟨x,q⟩ ∈ IEXT(I(rdfs:subPropertyOf)),
⟨x,l⟩ ∈ IEXT(I(owl:propertyChain))

Table 5.11 lists the semantic conditions for equal and different individuals, equivalent and disjoint classes, and equivalent and disjoint properties. Also treated here are axioms to specify disjoint unions.

Table 5.11: Equivalence and Disjointness
⟨u,w⟩ ∈ IEXT(I(owl:sameAs)) iff u = w
⟨u,w⟩ ∈ IEXT(I(owl:differentFrom)) u ≠ w
⟨c,d⟩ ∈ IEXT(I(owl:equivalentClass)) c, d ∈ IC,
ICEXT(c) = ICEXT(d)
⟨c,d⟩ ∈ IEXT(I(owl:disjointWith)) c, d ∈ IC,
ICEXT(c) ∩ ICEXT(d) = ∅
⟨p,q⟩ ∈ IEXT(I(owl:equivalentProperty)) p, q ∈ IP,
IEXT(p) = IEXT(q)
⟨p,q⟩ ∈ IEXT(I(owl:propertyDisjointWith)) p, q ∈ IP,
IEXT(p) ∩ IEXT(q) = ∅
if l sequence of d1,…, dn ∈ IR then
⟨c,l⟩ ∈ IEXT(I(owl:disjointUnionOf)) iff c, d1,…, dn ∈ IC,
ICEXT(c) = ICEXT(d1) ∪…∪ ICEXT(dn),
ICEXT(di) ∩ ICEXT(dk) = ∅ for 1 ≤ i ≠ k ≤ n

Table 5.12 lists the semantic conditions for the n-ary versions of the axioms for different individuals, disjoint classes, and disjoint properties.

Table 5.12: N-ary Axioms
if then
l sequence of u1,…, un ∈ IR,
x ∈ ICEXT(I(owl:AllDifferent)),
⟨x,l⟩ ∈ IEXT(I(owl:distinctMembers))
ui ≠ uk for 1 ≤ i ≠ k ≤ n
l sequence of u1,…, un ∈ IR,
x ∈ ICEXT(I(owl:AllDifferent)),
⟨x,l⟩ ∈ IEXT(I(owl:members))
ui ≠ uk for 1 ≤ i ≠ k ≤ n
l sequence of c1,…, cn ∈ IR,
x ∈ ICEXT(I(owl:AllDisjointClasses)),
⟨x,l⟩ ∈ IEXT(I(owl:members))
c1,…, cn ∈ IC,
ICEXT(ci) ∩ ICEXT(ck) = ∅ for 1 ≤ i ≠ k ≤ n
l sequence of p1,…, pn ∈ IR,
x ∈ ICEXT(I(owl:AllDisjointProperties)),
⟨x,l⟩ ∈ IEXT(I(owl:members))
p1,…, pn ∈ IP,
IEXT(pi) ∩ IEXT(pk) = ∅ for 1 ≤ i ≠ k ≤ n
if then exists x ∈ IR
l sequence of u1,…, un ∈ IR,
ui ≠ uk for 1 ≤ i ≠ k ≤ n
x ∈ ICEXT(I(owl:AllDifferent)),
⟨x,l⟩ ∈ IEXT(I(owl:distinctMembers))
l sequence of u1,…, un ∈ IR,
ui ≠ uk for 1 ≤ i ≠ k ≤ n
x ∈ ICEXT(I(owl:AllDifferent)),
⟨x,l⟩ ∈ IEXT(I(owl:members))
l sequence of c1,…, cn ∈ IC,
ICEXT(ci) ∩ ICEXT(ck) = ∅ for 1 ≤ i ≠ k ≤ n
x ∈ ICEXT(I(owl:AllDisjointClasses)),
⟨x,l⟩ ∈ IEXT(I(owl:members))
l sequence of p1,…, pn ∈ IP,
IEXT(pi) ∩ IEXT(pk) = ∅ for 1 ≤ i ≠ k ≤ n
x ∈ ICEXT(I(owl:AllDisjointProperties)),
⟨x,l⟩ ∈ IEXT(I(owl:members))

Table 5.13 lists the semantic condition for inverse property axioms.

Table 5.13: Inverse Properties
⟨p,q⟩ ∈ IEXT(I(owl:inverseOf)) iff p, q ∈ IP,
IEXT(p) = { ⟨x,y⟩ | ⟨y,x⟩ ∈ IEXT(q) }

Table 5.14 lists the semantic conditions for property characteristics, i.e. functionality and inverse functionality, reflexivity and irreflexivity, symmetry and asymmetry, and transitivity of properties.

Table 5.14: Property Characteristics
p ∈ ICEXT(I(owl:FunctionalProperty)) iff p ∈ IP,
∀x,y,z : ⟨x,y⟩, ⟨x,z⟩ ∈ IEXT(p) → y = z
p ∈ ICEXT(I(owl:InverseFunctionalProperty)) p ∈ IP,
∀x,y,z : ⟨y,x⟩, ⟨z,x⟩ ∈ IEXT(p) → y = z
p ∈ ICEXT(I(owl:ReflexiveProperty)) p ∈ IP,
∀x : ⟨x,x⟩ ∈ IEXT(p)
p ∈ ICEXT(I(owl:IrreflexiveProperty)) p ∈ IP,
∀x : ⟨x,x⟩ ∉ IEXT(p)
p ∈ ICEXT(I(owl:SymmetricProperty)) p ∈ IP,
∀x,y : ⟨x,y⟩ ∈ IEXT(p) → ⟨y,x⟩ ∈ IEXT(p)
p ∈ ICEXT(I(owl:AsymmetricProperty)) p ∈ IP,
∀x,y : ⟨x,y⟩ ∈ IEXT(p) → ⟨y,x⟩ ∉ IEXT(p)
p ∈ ICEXT(I(owl:TransitiveProperty)) p ∈ IP,
∀x,y,z : ⟨x,y⟩, ⟨y,z⟩ ∈ IEXT(p) → ⟨x,z⟩ ∈ IEXT(p)

Table 5.15 lists the semantic condition for Keys.

Table 5.15: Keys
if l sequence of p1,…, pn ∈ IR then
⟨c,l⟩ ∈ IEXT(I(owl:hasKey)) iff c ∈ IC,
p1,…, pn ∈ IP,
∀x,y,z1,…,zn :
 x, y ∈ ICEXT(c),
 ⟨x,zi⟩, ⟨y,zi⟩ ∈ IEXT(pi), 1 ≤ i ≤ n
 → x = y

Table 5.16 lists the semantic conditions for negative property assertions.

Table 5.16: Negative Property Assertions
if then
⟨x,u⟩ ∈ IEXT(I(owl:sourceIndividual)),
⟨x,p⟩ ∈ IEXT(I(owl:assertionProperty)),
⟨x,w⟩ ∈ IEXT(I(owl:targetIndividual))
x ∈ ICEXT(I(owl:NegativePropertyAssertion)),
⟨u,w⟩ ∉ IEXT(p)
⟨x,u⟩ ∈ IEXT(I(owl:sourceIndividual)),
⟨x,p⟩ ∈ IEXT(I(owl:assertionProperty)),
⟨x,w⟩ ∈ IEXT(I(owl:targetValue))
x ∈ ICEXT(I(owl:NegativePropertyAssertion)),
p ∈ IODP,
⟨u,w⟩ ∉ IEXT(p)
if then exists x ∈ IR
u ∈ IR,
p ∈ IP,
w ∈ IR,
⟨u,w⟩ ∉ IEXT(p)
⟨x,u⟩ ∈ IEXT(I(owl:sourceIndividual)),
⟨x,p⟩ ∈ IEXT(I(owl:assertionProperty)),
⟨x,w⟩ ∈ IEXT(I(owl:targetIndividual))
u ∈ IR,
p ∈ IODP,
w ∈ LV,
⟨u,w⟩ ∉ IEXT(p)
⟨x,u⟩ ∈ IEXT(I(owl:sourceIndividual)),
⟨x,p⟩ ∈ IEXT(I(owl:assertionProperty)),
⟨x,w⟩ ∈ IEXT(I(owl:targetValue))

6 Relationship to OWL 2 DL

This section is concerned with a strong relationship that holds between the RDF-Based Semantics of OWL 2 Full and the Direct Semantics of OWL 2 DL.

One design goal of OWL 2 has been that OWL 2 Full should reflect every logical consequence of OWL 2 DL, as long as this consequence and all its premises can be represented as valid OWL 2 DL ontologies in RDF graph form. However, a fundamental semantic difference exists between OWL 2 DL and OWL 2 Full, which complicates a comparison of the semantic expressiveness of the two languages. OWL 2 DL treats classes as sets, i.e. subsets of the universe, while classes in OWL 2 Full are individuals, which have such a set associated as their class extension. Hence, under OWL 2 Full semantics, all classes are instances of the universe, but this cannot generally be assumed under OWL 2 Direct Semantics. An analog difference exists for properties.

An effect of this difference is that certain logical conclusions of OWL 2 DL do not become "visible" under the OWL 2 Full semantics, although they are reflected by OWL 2 Full at a set theoretical level. For example, under OWL 2 Direct Semantics, the RDF graph

G1 := {

ex:C rdf:type owl:Class .
ex:D rdf:type owl:Class .
ex:C rdfs:subClassOf ex:D .

}

entails the RDF graph

G2 := {

ex:C rdf:type owl:Class .
ex:D rdf:type owl:Class .
_:x owl:intersectionOf (SEQ ex:C ex:D) .
_:x rdfs:subClassOf ex:D .

}.

OWL 2 Full, on the other hand, interprets G1 in a way such that the set theoretical relationship

ICEXT(I(ex:C)) ∩ ICEXT(I(ex:D)) ⊆ ICEXT(I(ex:D))

can be concluded. But since OWL 2 Full distinguishes between classes and their class extensions, G2 is not entailed, unless there exists some additional "helper" individual, which has the set

ICEXT(I(ex:C)) ∩ ICEXT(I(ex:D))

as its class extension. Whether such a helper individual exists or not has no effect on the answer to the question, whether the basic logical conclusion that exists at the set theoretical level holds or not. The individual is, however needed, to represent this conclusion in the particular form given by G2.

The following subsection introduces a set of "comprehension principles", which have the purpose to provide the missing "helper" individuals. These comprehension principles are not part of the set of semantic conditions given in Section 5, and therefore do not need to be met by a OWL 2 Full interpretation as defined in Section 4. They are, however, needed for the correspondence theorem, stated in the second subsection, to hold, since the correspondence theorem compares OWL 2 Full and OWL 2 DL based on entailments.

6.1 Comprehension Principles

Table 6.1 lists the comprehension principle for lists, which provides the existence of RDF lists for each finite combination of individuals.

Table 6.1: Comprehension Principle for Lists
if then exists x1,…, xn ∈ IR
u1,…, un ∈ IR ⟨x1,u1⟩ ∈ IEXT(I(rdf:first)), ⟨x1,x2⟩ ∈ IEXT(I(rdf:rest)),
…,
⟨xn,un⟩ ∈ IEXT(I(rdf:first)), ⟨xn,I(rdf:nil)⟩ ∈ IEXT(I(rdf:rest))

Table 6.2 lists the comprehension principles for boolean class expressions, which provide the existence of classes representing the complement of each class, and the datatype complement of each datatype, and the union and intersection of each finite set of classes.

Table 6.2: Comprehension Principles for Boolean Class Expressions
if then exists x ∈ IR
c ∈ IC ⟨x,c⟩ ∈ IEXT(I(owl:complementOf))
c ∈ IDC ⟨x,c⟩ ∈ IEXT(I(owl:datatypeComplementOf))
l sequence of c1,…, cn ∈ IC ⟨x,l⟩ ∈ IEXT(I(owl:unionOf))
l sequence of c1,…, cn ∈ IC ⟨x,l⟩ ∈ IEXT(I(owl:intersectionOf))

Table 6.3 lists the comprehension principles for enumeration classes, which provide the existence of classes representing each finite set of individuals.

Table 6.3: Comprehension Principles for Enumeration Classes
if then exists x ∈ IR
l sequence of u1,…, un ∈ IR ⟨x,l⟩ ∈ IEXT(I(owl:oneOf))

Table 6.4 lists the comprehension principles for property restrictions, which provide the existence of self restrictions, value restrictions, cardinality restrictions, and qualified cardinality restrictions for each property, class and individual for which such a restriction is meaningful.

Table 6.4: Comprehension Principles for Property Restrictions
if then exists x ∈ IR
p ∈ IP ⟨x,I("true"^^xsd:boolean)⟩ ∈ IEXT(I(owl:hasSelf)),
⟨x,p⟩ ∈ IEXT(I(owl:onProperty))
c ∈ IC,
p ∈ IP
⟨x,c⟩ ∈ IEXT(I(owl:allValuesFrom)),
⟨x,p⟩ ∈ IEXT(I(owl:onProperty))
c ∈ IDC,
l sequence of p1,…, pn ∈ IODP
⟨x,c⟩ ∈ IEXT(I(owl:allValuesFrom)),
⟨x,l⟩ ∈ IEXT(I(owl:onProperties))
c ∈ IC,
p ∈ IP
⟨x,c⟩ ∈ IEXT(I(owl:someValuesFrom)),
⟨x,p⟩ ∈ IEXT(I(owl:onProperty))
c ∈ IDC,
l sequence of p1,…, pn ∈ IODP
⟨x,c⟩ ∈ IEXT(I(owl:someValuesFrom)),
⟨x,l⟩ ∈ IEXT(I(owl:onProperties))
u ∈ IR,
p ∈ IP
⟨x,u⟩ ∈ IEXT(I(owl:hasValue)),
⟨x,p⟩ ∈ IEXT(I(owl:onProperty))
n ∈ INNI,
p ∈ IP
⟨x,n⟩ ∈ IEXT(I(owl:cardinality)),
⟨x,p⟩ ∈ IEXT(I(owl:onProperty))
n ∈ INNI,
p ∈ IP
⟨x,n⟩ ∈ IEXT(I(owl:minCardinality)),
⟨x,p⟩ ∈ IEXT(I(owl:onProperty))
n ∈ INNI,
p ∈ IP
⟨x,n⟩ ∈ IEXT(I(owl:maxCardinality)),
⟨x,p⟩ ∈ IEXT(I(owl:onProperty))
n ∈ INNI,
c ∈ IC,
p ∈ IP
⟨x,n⟩ ∈ IEXT(I(owl:qualifiedCardinality)),
⟨x,c⟩ ∈ IEXT(I(owl:onClass)),
⟨x,p⟩ ∈ IEXT(I(owl:onProperty))
n ∈ INNI,
c ∈ IDC,
p ∈ IODP
⟨x,n⟩ ∈ IEXT(I(owl:qualifiedCardinality)),
⟨x,c⟩ ∈ IEXT(I(owl:onDataRange)),
⟨x,p⟩ ∈ IEXT(I(owl:onProperty))
n ∈ INNI,
c ∈ IC,
p ∈ IP
⟨x,n⟩ ∈ IEXT(I(owl:minQualifiedCardinality)),
⟨x,c⟩ ∈ IEXT(I(owl:onClass)),
⟨x,p⟩ ∈ IEXT(I(owl:onProperty))
n ∈ INNI,
c ∈ IDC,
p ∈ IODP
⟨x,n⟩ ∈ IEXT(I(owl:minQualifiedCardinality)),
⟨x,c⟩ ∈ IEXT(I(owl:onDataRange)),
⟨x,p⟩ ∈ IEXT(I(owl:onProperty))
n ∈ INNI,
c ∈ IC,
p ∈ IP
⟨x,n⟩ ∈ IEXT(I(owl:maxQualifiedCardinality)),
⟨x,c⟩ ∈ IEXT(I(owl:onClass)),
⟨x,p⟩ ∈ IEXT(I(owl:onProperty))
n ∈ INNI,
c ∈ IDC,
p ∈ IODP
⟨x,n⟩ ∈ IEXT(I(owl:maxQualifiedCardinality)),
⟨x,c⟩ ∈ IEXT(I(owl:onDataRange)),
⟨x,p⟩ ∈ IEXT(I(owl:onProperty))

Table 6.5 lists the comprehension principles for datatype restrictions, which provides the existence of restrictions for each datatype, and for each combination of facets and facet values for which such a restriction is meaningful.

Table 6.5: Comprehension Principles for Datatype Restrictions
if then exists x ∈ IR, l sequence of y1,…,yn ∈ IR
c ∈ IDC,
f1,…,fn facets,
u1,…,un ∈ LV
⟨x,c⟩ ∈ IEXT(I(owl:onDatatype)),
⟨x,l⟩ ∈ IEXT(I(owl:withRestrictions)),
⟨y1,u1⟩ ∈ IEXT(f1),
…,
⟨yn,un⟩ ∈ IEXT(fn)

6.2 Correspondence Theorem

Theorem 6.1 (Correspondence Theorem): Let D be a OWL 2 Full datatype map, and let K and Q be collections of valid OWL 2 DL ontologies in RDF graph form that are imports closed, and without annotations occurring in Q. Let F(K) and F(Q) be the collections of OWL 2 DL ontologies in Functional Syntax that result from applying the Reverse RDF Mapping to K and Q, respectively. If F(K) entails F(Q) with respect to the OWL 2 Direct Semantics and with respect to D, then K entails Q with respect to the OWL 2 RDF-Based Semantics extended by the comprehension principles, and with respect to D.

Proof.

Editor's Note: TODO: The proof still needs to be constructed.

7 Changes

7.1 Changes since First Public Working Draft

This section lists significant changes since the First Public Working Draft.

  • The URIs owl:TopObjectProperty, owl:BottomObjectProperty, owl:TopDataProperty and owl:BottomDataProperty have been renamed to their lower-case variants, respectively.
  • Removed the semantic conditions for axiom annotations. The purpose of these semantic conditions was to "reconstruct" the missing "base triple" of an axiom when it is annotated. These semantic conditions became redundant by the resolution of Issue 144, which demands that the RDF mapping preserves the base triples of annotated axioms and annotated annotations.
  • The nomenclature for datatype maps has been aligned with the one used in the RDF Semantics. In particular, the concept being called an "interpretation of a literal" is now being called a "datatype value", and the concept being called an "interpretation of a datatype" is now being called a "datatype" or the "value space" of a datatype, depending on whether the datatype itself or its class extension is meant.
  • Moved "Ontologies" section from Section 5 to Section 3.
  • In "Ontologies section": Said something about ontology headers and ontology versions, but removed every text referring to the semantic meaning of a OWL 2 Full ontology.
  • Changed the semantic conditions for the n-ary value restrictions to infer the type of the properties p1,...,pn (IODP) and the type of the class c (IDC).
  • Replaced all applications of the URI-mapping 'IS(.)' by the more general interpretation function 'I(.)'. This usage is in line with the usage in the RDF Semantics document, and is backed by the table in Section 1.4 of the RDF Semantics. Further, there were applications of IS, where it was not guaranteed that the argument is a URI in every case, so using IS there was even not justified.
  • For D-Interpretations, the range of the mapping IL has been changed to IR instead of LV, with a reference to the RDF Semantics. This was a bug, since in both the RDF Semantics and in OWL 1 the range of IL has been IR.
  • Corrected definitions of consistency and entailment: The vocabulary V was a global parameter of the definitions. Now the form of the definitions is close to the respective definitions in OWL 1.
  • Added semantic conditions inferring a union or intersection of datatypes into a datatype (Issue 147 "propositional data ranges").
  • The datatypes xsd:ID, xsd:IDREF and xsd:ENTITY have been removed (per WG resolution).
  • The RDF syntax of self restrictions has been changed: The class owl:SelfRestriction has been replaced by the property owl:hasSelf (per WG resolution).
  • Added datatype "owl:rational", but marking it "at risk" (per WG resolution of Issue 87).

7.2 Differences to OWL Full

This section lists significant differences between OWL 2 Full and the original version of OWL Full, as defined in Section 5 of the OWL Semantics and Abstract Syntax.

Editor's Note: This section needs to be written after the document is considered to be finished (before Last Call). The following topics are suggested:
  • Role of the Comprehension Principles
  • Changes to the correspondence theorem
  • "Axiomatic triples": complete set for all classes and properties; design strategy "simple axiomatic triples"
  • Imports closure definition
  • more specific definition of owl:DataRange
  • deprecated URIs (owl:DataRange, …)
  • Bugfixes
    • "sequence-based" constructs
    • missing semantic condition for AllDifferent
  • Editorial changes
    • different table layout
    • Name and usage of the interpretation function and its components ('IS' instead of S_I, using always I(.) instead of specific mappings, as in RDF Semantics)
    • Naming convention for "Basic Sets" (RDFS takes precedence over OWL 1 Full, but keep OWL 1 Full names in every other case; reduced set of abbreviations)

8 References

[RDF Semantics]
RDF Semantics. Patrick Hayes, Editor. W3C Recommendation 10 February 2004.
[OWL Semantics and Abstract Syntax]
OWL Web Ontology Language: Semantics and Abstract Syntax. Peter F. Patel-Schneider, Patrick Hayes, and Ian Horrocks, Editors. W3C Recommendation, 10 February 2004.
[OWL 2 RDF Mapping]
Mapping to RDF Graphs Peter F. Patel-Schneider, Boris Motik, eds. W3C Editor's Draft, 21 November 2008, http://www.w3.org/2007/OWL/draft/ED-owl2-mapping-to-rdf-20081121/. Latest version available at http://www.w3.org/2007/OWL/draft/owl2-mapping-to-rdf/.
[OWL 2 Direct Semantics]
Direct Semantics Boris Motik, Peter F. Patel-Schneider, Bernardo Cuenca Grau, eds. W3C Editor's Draft, 21 November 2008, http://www.w3.org/2007/OWL/draft/ED-owl2-semantics-20081121/. Latest version available at http://www.w3.org/2007/OWL/draft/owl2-semantics/.
[OWL 2 Structural Specification]
Structural Specification and Functional-Style Syntax Boris Motik, Peter F. Patel-Schneider, Bijan Parsia, eds. W3C Editor's Draft, 21 November 2008, http://www.w3.org/2007/OWL/draft/ED-owl2-syntax-20081121/. Latest version available at http://www.w3.org/2007/OWL/draft/owl2-syntax/.
[OWL 2 Conformance and Test Cases]
OWL 2 Web Ontology Language: Test Cases. /LIST OF EDITORS/, Editors. /DOCUMENT STATE/, /DATE/.
[RFC 2119]
RFC 2119: Key words for use in RFCs to Indicate Requirement Levels. Network Working Group, S. Bradner. Internet Best Current Practice, March 1997.