The OWL 2 Web Ontology Language, informally OWL 2, is an ontology language for the Semantic Web with formally defined meaning. OWL 2 ontologies provide classes, properties, individuals, and data values and are stored as Semantic Web documents. OWL 2 ontologies can be used along with information written in RDF, and OWL 2 ontologies themselves are primarily exchanged as RDF documents. The OWL 2 Document Overview describes the overall state of OWL 2, and should be read before other OWL 2 documents.

This document provides the direct model-theoretic semantics for OWL 2, which is compatible with the description logic SROIQ. Furthermore, this document defines the most common inference problems for OWL 2.

1 Introduction

This document defines the direct model-theoretic semantics of OWL 2. The semantics given here is strongly related to the semantics of description logics [Description Logics] and it extends the semantics of the description logic SROIQ [SROIQ]. As the definition of SROIQ does not provide for datatypes and punning, the semantics of OWL 2 is defined directly on the constructs of the structural specification of OWL 2 [OWL 2 Specification] instead of by reference to SROIQ. For the constructs available in SROIQ, the semantics of SROIQ trivially corresponds to the one defined in this document.

Since each OWL 1 DL ontology is an OWL 2 ontology, this document also provides a direct semantics for OWL 1 Lite and OWL 1 DL ontologies; this semantics is equivalent to the direct model-theoretic semantics of OWL 1 Lite and OWL 1 DL [OWL 1 Semantics and Abstract Syntax]. Furthermore, this document also provides the direct model-theoretic semantics for the OWL 2 profiles [OWL 2 Profiles].

The semantics is defined for OWL 2 axioms and ontologies, which should be understood as instances of the structural specification [OWL 2 Specification]. Parts of the structural specification are written in this document using the functional-style syntax.

OWL 2 allows ontologies, anonymous individuals, and axioms to be annotated; furthermore, annotations themselves can contain additional annotations. All these types of annotations, however, have no semantic meaning in OWL 2 and are ignored in this document. OWL 2 declarations are used only to disambiguate class expressions from data ranges and object property from data property expressions in the functional-style syntax; therefore, they are not mentioned explicitly in this document.

2.1 Vocabulary

NDT is a set of datatypes (more precisely, names of datatypes) that does not contain the datatype rdfs:Literal.

NLS is a function that assigns to each datatype DT ∈ NDT a set NLS(DT) of strings called lexical forms. The set NLS(DT) is called the lexical space of DT.

NFS is a function that assigns to each datatype DT ∈ NDT a set NFS(DT) of pairs ( F , v ), where F is a constraining facet and v is an arbitrary data value called the constraining value. The set NFS(DT) is called the facet space of DT.

For each datatype DT ∈ NDT, the interpretation function⋅ DT assigns to DT a set (DT)DT called the value space of DT.

The set of datatypes NDT of a datatype map D is not required to contain all datatypes from the OWL 2 datatype map; this allows one to talk about subsets of the OWL 2 datatype map, which may be necessary for the various profiles of OWL 2. If, however, D contains a datatype DT from the OWL 2 datatype map, then NLS(DT), NFS(DT), (DT)DT, ( LV , DT )LS for each LV ∈ NLS(DT), and ( F , v )FS for each ( F , v ) ∈ NFS(DT) are required to coincide with the definitions for DT in the OWL 2 datatype map.

VDT is a set containing all datatypes of D, the datatype rdfs:Literal, and possibly other datatypes; that is, NDT ∪ { rdfs:Literal } ⊆ VDT.

VLT is a set of literalsLV^^DT for each datatype DT ∈ NDT and each lexical form LV ∈ NLS(DT).

VFA is the set of pairs ( F , lt ) for each constraining facet F, datatype DT ∈ NDT, and literal lt ∈ VLT such that ( F , ( LV , DT1 )LS ) ∈ NFS(DT), where LV is the lexical form of lt and DT1 is the datatype of lt.

Given a vocabulary V, the following conventions are used in this document to denote different syntactic parts of OWL 2 ontologies:

2.2.2 Data Ranges

The datatype interpretation function ⋅ DT is extended to data ranges as shown in Table 3. All datatypes in OWL 2 are unary, so each datatype DT is interpreted as a unary relation over ΔD — that is, as a set (DT)DT ⊆ ΔD. OWL 2 currently does not define data ranges of arity more than one; however, by allowing for n-ary data ranges, the syntax of OWL 2 provides a "hook" allowing implementations to introduce extensions such as comparisons and arithmetic. An n-ary data range DR is interpreted as an n-ary relation (DR)DT over ΔD — that is, as a set (DT)DT ⊆ (ΔD)n

Table 3. Interpreting Data Ranges

Data Range

Interpretation ⋅ DT

DataIntersectionOf( DR1 ... DRn )

(DR1)DT ∩ ... ∩ (DRn)DT

DataUnionOf( DR1 ... DRn )

(DR1)DT ∪ ... ∪ (DRn)DT

DataComplementOf( DR )

(ΔD)n \ (DR)DT where n is the arity of DR

DataOneOf( lt1 ... ltn )

{ (lt1)LT , ... , (ltn)LT }

DatatypeRestriction( DT F1 lt1 ... Fn ltn )

(DT)DT ∩ ( F1 , lt1 )FA ∩ ... ∩ ( Fn , ltn )FA

2.2.3 Class Expressions

The class interpretation function ⋅ C is extended to class expressions as shown in Table 4. For S a set, #S denotes the number of elements in S.

2.3.6 Assertions

Satisfaction of OWL 2 assertions in I is defined as shown in Table 10.

Table 10. Satisfaction of Assertions in an Interpretation

Axiom

Condition

SameIndividual( a1 ... an )

(aj)I = (ak)I for each 1 ≤ j ≤ n and each 1 ≤ k ≤ n

DifferentIndividuals( a1 ... an )

(aj)I ≠ (ak)I for each 1 ≤ j ≤ n and each 1 ≤ k ≤ n such that j ≠ k

ClassAssertion( CE a )

(a)I ∈ (CE)C

ObjectPropertyAssertion( OPE a1 a2 )

( (a1)I , (a2)I ) ∈ (OPE)OP

NegativeObjectPropertyAssertion( OPE a1 a2 )

( (a1)I , (a2)I ) ∉ (OPE)OP

DataPropertyAssertion( DPE a lt )

( (a)I , (lt)LT ) ∈ (DPE)DP

NegativeDataPropertyAssertion( DPE a lt )

( (a)I , (lt)LT ) ∉ (DPE)DP

2.3.7 Ontologies

An OWL 2 ontology O is satisfied in an interpretation I if all axioms in the axiom closure of O (with anonymous individuals standardized apart as described in Section 5.6.2 of the OWL 2 Specification [OWL 2 Specification]) are satisfied in I.

Thus, an interpretation I satisfying O is also a model of O. In contrast, a model I of O may not satisfy O directly; however, by modifying the interpretation of anonymous individuals, I can always be coerced into an interpretation J that satisfies O.

2.5 Inference Problems

Let D be a datatype map and V a vocabulary over D. Furthermore, let O and O1 be OWL 2 ontologies, CE, CE1, and CE2 class expressions, and a a named individual, such that all of them refer only to the vocabulary elements in V. Furthermore, variables are symbols that are not contained in V. Finally, a Boolean conjunctive queryQ is a closed formula of the form

∃ x1 , ... , xn , y1 , ... , ym : [ A1 ∧ ... ∧ Ak ]

where each Ai is an atom of the form C(s), OP(s,t), or DP(s,u) with C a class, OP an object property, DP a data property, s and t individuals or some variable xj, and u a literal or some variable yj.

Boolean Conjunctive Query Answering: Q is an answer w.r.t. O and D if Q is true in each model of O w.r.t. D and V according to the standard definitions of first-order logic.

In order to ensure that ontology entailment, class expression satisfiability, class expression subsumption, and instance checking are decidable, the following restriction w.r.t. O needs to be satisfied:

Each class expression of type MinObjectCardinality, MaxObjectCardinality, ExactObjectCardinality, and ObjectHasSelf that occurs in O1, CE, CE1, and CE2 can contain only object property expressions that are simple in the axiom closureAx of O.

For ontology equivalence to be decidable, O1 needs to satisfy this restriction w.r.t. O and vice versa. These restrictions are analogous to the first condition from Section 11.2 of the OWL 2 Specification [OWL 2 Specification].

3 Independence of the Direct Semantics from the Datatype Map in OWL 2 DL (Informative)

OWL 2 DL has been defined so that the consequences of an OWL 2 DL ontology O do not depend on the choice of a datatype map, as long as the datatype map chosen contains all the datatypes occurring in O. This statement is made precise by the following theorem, and it has several useful consequences:

One can apply the direct semantics to an OWL 2 DL ontology O by considering only the datatypes explicitly occurring in O.

When referring to various reasoning problems, the datatype map D need not be given explicitly, as it is sufficient to consider an implicit datatype map containing only the datatypes from the given ontology.

OWL 2 DL reasoners can provide datatypes not explicitly mentioned in this specification without fear that this will change the meaning of OWL 2 DL ontologies not using these datatypes.

Proof. Without loss of generality, one can assume O1 and O2 to be in negation-normal form [Description Logics]. Furthermore, since datatype definitions in O1 and O2 are acyclic, one can assume that each defined datatype has been recursively replaced with its definition; thus, all datatypes in O1 and O2 are from NDT ∪ { rdfs:Literal }. The claim of the theorem is equivalent to the following statement: an interpretation I w.r.t. D and V exists such that O1 is and O2 is not satisfied in I if and only if an interpretation I' w.r.t. D' and V exists such that O1 is and O2 is not satisfied in I'. The (⇐) direction is trivial since each interpretation I w.r.t. D' and V is also an interpretation w.r.t. D and V. For the (⇒) direction, assume that an interpretation I = ( ΔI , ΔD , ⋅ C , ⋅ OP , ⋅ DP , ⋅ I , ⋅ DT , ⋅ LT , ⋅ FA , NAMED ) w.r.t. D and V exists such that O1 is and O2 is not satisfied in I. Let I' = ( ΔI , ΔD' , ⋅ C ' , ⋅ OP , ⋅ DP ' , ⋅ I , ⋅ DT ' , ⋅ LT ' , ⋅ FA ' , NAMED ) be an interpretation such that

ΔD' is obtained by extending ΔD with the value space of all datatypes in NDT' \ NDT,

Clearly, DataComplementOf( DR )DT ⊆ DataComplementOf( DR )DT ' for each data range DR that is either a datatype, a datatype restriction, or an enumerated data range. The owl:topDataProperty property can occur in O1 and O2 only in tautologies. The interpretation of all other data properties is the same in I and I', so (CE)C = (CE)C ' for each class expression CE occurring in O1 and O2. Therefore, O1 is and O2 is not satisfied in I'. QED

4 Appendix: Change Log (Informative)

4.1 Changes Since Recommendation

With the publication of the XML Schema Definition Language (XSD) 1.1 Part 2: Datatypes Recommendation of 5 April 2012, the elements of OWL 2 which are based on XSD 1.1 are now considered required, and the note detailing the optional dependency on the XSD 1.1 Candidate Recommendation of 30 April, 2009 has been removed from the "Status of this Document" section.

A bug in the specification of the semantics of keys in Section 2.3.5 was fixed by replacing the ISNAMED function defined in Section 2.3 with an extension of interpretations as defined in Section 2.2 to include a set NAMED that contains all those elements interpreting named individuals.

Minor typographical errors were corrected as detailed on the OWL 2 Errata page.

This document has been produced by the OWL Working Group (see below), and its contents reflect extensive discussions within the Working Group as a whole.
The editors extend special thanks to
Markus Krötzsch (FZI),
Michael Schneider (FZI) and
Thomas Schneider (University of Manchester)
for their thorough reviews.