Copyright © 2008 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C liability, trademark and document use rules apply.
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:
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.
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.
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.
This document defines the RDF-compatible model-theoretic semantics of OWL 2, called "OWL 2 Full". The semantics given here is the OWL 2 semantic extension of RDFS [RDF Semantics]. Therefore, the semantic meaning given to an RDF graph by OWL 2 Full includes the meaning given to the graph by RDFS. Beyond that, OWL 2 Full gives additional meaning to all the language features of OWL 2, by following the design principles that have been applied to the semantics of RDF.
OWL 2 Full accepts every well-formed RDF graph [RDF] as a syntactically valid OWL 2 Full ontology, and gives a precise semantic meaning to it. The semantic meaning is determined by the set of OWL 2 Full semantic conditions, which include and extend all the semantic conditions for RDF and RDFS specified in [RDF Semantics]. OWL 2 Full acts as a vocabulary interpretation, for the RDF and the RDFS vocabularies, and for the OWL 2 Full vocabulary. The OWL 2 Full vocabulary is a set of URIs that occur in the sets of RDF triples, which define the RDF syntax of OWL 2 [OWL 2 RDF Mapping]. The OWL 2 Full semantic conditions specify exactly which triple sets are assigned a specific meaning, and what this meaning is.
OWL 2 Full interpretations are 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 "parts", namely the classes, the properties, and the datatype values. Thus, the members of these parts are 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 consists 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 in an OWL 2 Full ontology. One individual can, for example, be both a class and a property, or both a data property and an annotation property.
In OWL 2 Full ontologies, usually no care is needed to ensure that URI references are actually in the appropriate part of the OWL universe. These "localizing" assumptions will typically follow from applying the OWL 2 Full semantic conditions.
A strong relationship holds between OWL 2 Full and the Direct Semantics of OWL 2 [OWL 2 Direct Semantics]. OWL 2 Full is, in a certain sense, able to reflect all logical conclusions of the Direct Semantics, when applied to an OWL 2 DL ontology [OWL 2 Structural Specification] in RDF graph form. The precise relationship is stated by the OWL 2 correspondence theorem.
The content of this document is not meant to be self-contained, but builds on top of the RDF Semantics document [RDF Semantics] by only adding the OWL 2 specific aspects of the semantics. Hence, the complete definition of OWL 2 Full is actually given by the combination of these two documents.
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].
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 [RDF Semantics]. Excluded are those URI references from the OWL namespace, which are mentioned in one of the other tables in this section.
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 of OWL 2 Full. rdf:XMLLiteral is described in Section 3.1 of [RDF Semantics]. rdf:text is described in [RDF:TEXT]. All other datatypes are described in Section 4 of [OWL 2 Structural Specification].
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 |
Feature At Risk #1: owl:rational support
Note: This feature is "at risk" and may be removed from this specification based on feedback. Please send feedback to public-owl-comments@w3.org.
The owl:rational datatype might be removed from OWL 2 if implementation experience reveals problems with supporting this datatype.
Feature At Risk #2: owl:dateTime name
Note: This feature is "at risk" and may be removed from this specification based on feedback. Please send feedback to public-owl-comments@w3.org.
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.
Table 2.3 lists the set of datatype facets of OWL 2 Full. Section 4 of [OWL 2 Structural Specification] describes the meaning of each facet, to which datatypes it can be applied, and which values it can take for a given datatype. The facet rdf:langPattern is further described in [RDF:TEXT].
rdf:langPattern xsd:length xsd:maxExclusive xsd:maxInclusive xsd:maxLength xsd:minExclusive xsd:minInclusive xsd:minLength xsd:pattern |
Every well-formed RDF graph [RDF] 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.
A OWL 2 Full ontology MAY contain an ontology header, if the ontology's author wants to explicitly signal that an RDF graph is intended as a OWL 2 Full ontology. Such an ontology header MAY additionally contain information about the ontology's version. The OWL 2 Mapping to RDF [OWL 2 RDF Mapping] provides details about the syntax of ontology headers.
OWL 2 Full provides a vocabulary interpretation and vocabulary entailment (see Section 2.1 of [RDF Semantics]) for the RDF and RDFS vocabularies, and the OWL 2 Full vocabulary.
From the RDF Semantics [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 [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, which maps all well-typed literals to instances of LV (Section 5.1 of [RDF Semantics] explains why the range of IL is actually IR instead of LV).
As detailed in [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.
The following definition specifies what a OWL 2 Full datatype map is. First, Table 4.1 defines sets that relate datatypes with their facets, and with the values a facet is allowed to take in combination with a certain datatype.
Name of Set S | Definition |
---|---|
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. |
Definition 4.1 (OWL 2 Full Datatype Map): Let D be a datatype map as defined in Section 5.1 of [RDF Semantics]. D is a OWL 2 Full datatype map, if it contains at least all datatypes listed in Table 2.2, and if it defines the sets listed in Table 4.1 for each contained datatype.
The next definition specifies what a OWL 2 Full interpretation is.
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.
Table 4.2 defines the "parts" of the OWL 2 Full universe in terms of the mapping IEXT of an OWL 2 Full interpretation and by referring to the RDF, RDFS and OWL 2 Full vocabularies.
Name of Part S |
Definition of S as {x ∈ IR | 〈x,I(U)〉 ∈ IEXT(I(rdf:type))} where URI U is |
Explanation |
---|---|---|
IR | rdfs:Resource | individuals |
LV | rdfs:Literal | datatype values |
IX | owl:Ontology | ontologies |
IC | rdfs:Class | classes |
IDC | rdfs:Datatype | datatypes |
IP | rdf:Property | properties |
IODP | owl:DatatypeProperty | data properties |
IOAP | owl:AnnotationProperty | annotation properties |
IOXP | owl:OntologyProperty | ontology properties |
Further, the mapping ICEXT from IC to P(IR) that associates classes with their class extension, is defined as
ICEXT(c) = { x ∈ IR | 〈x,c〉 ∈ IEXT(I(rdf:type)) }
for c ∈ IC.
The following definitions specify what a consistent OWL 2 Full ontology is, and what it means that an OWL 2 Full ontology entails another OWL 2 Full Ontology.
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 with respect to D (of some 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) that 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 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) that satisfies all the RDF graphs in K also satisfies all the RDF graphs in Q.
This section defines the semantic conditions of OWL 2 Full. The semantic conditions presented here are only those for the specific features of OWL 2. The complete set of semantic conditions for OWL 2 Full is the combination of the semantic conditions presented here and the semantic conditions given for Simple Entailment, RDF, RDFS and D-Entailment in [RDF Semantics].
Table 5.1 specifies semantic conditions for the different parts of the OWL 2 Full universe, as defined in Section 4. Table 5.2 and Table 5.3 list semantic conditions for the classes and the properties of the OWL 2 Full vocabulary. 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 completely specify the semantics of the respective language feature. For some language features, however, there are only "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.9, N-ary Axioms in Table 5.11, and Negative Property Assertions in Table 5.15, 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 have been 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 assertions in a semantic condition, as in
c ∈ IC , p ∈ IP
means a logical "and".
If no scope is explicitly given for a variable x, as in "∀x:…" or in "{x|…}", then x is unconstrained, which means that x ∈ IR.
An expression of the form "l sequence of u1,…, un ∈ S" means that l represents a list of n elements, all of them being instances of the class S. Precisely, u1 ∈ S,… , un ∈ S, and 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 certain sets are used as convenient abbreviations throughout this and the following sections:
The semantic conditions in the following tables sometimes do not explicitly list typing statements in their consequent that one would normally expect. For example, the semantic condition for owl:allValuesFrom restrictions in Table 5.6 does not list the statement x ∈ ICEXT(I(owl:Restriction)) on its right hand side. Consequents are generally not mentioned, if they can already be deduced by means of the semantic conditions given in Table 5.2 and Table 5.3, occasionally in connection with Table 5.1. In the example above, the ommitted consequent can be obtained from the third column of the entry for owl:allValuesFrom in Table 5.3, which determines that IEXT(I(owl:allValuesFrom)) ⊆ ICEXT(I(owl:Restriction)) × IC.
Table 5.1 lists the semantic conditions for the parts of the OWL 2 Full universe, as defined by Table 4.2 in Section 4. The semantic conditions say how the parts are related to other parts, and they further specify the semantics for the instances of some of the parts.
Name of Part S |
Conditions on S | Conditions on Instances x of S |
---|---|---|
IR | S ≠ ∅ | |
LV | S ⊆ IR | |
IX | S ⊆ IR | |
IC | S ⊆ IR | ICEXT(x) ⊆ IR |
IDC | S ⊆ IC | ICEXT(x) ⊆ LV |
IP | S ⊆ IR | IEXT(x) ⊆ IR × IR |
IODP | S ⊆ IP | IEXT(x) ⊆ IR × LV |
IOAP | S ⊆ IP | IEXT(x) ⊆ IR × IR |
IOXP | S ⊆ IP | IEXT(x) ⊆ IX × IX |
Table 5.2 lists the semantic conditions for the classes of the OWL 2 Full vocabulary, and certain classes from RDF and RDFS. It tells the sort of class, and specifies the part of the OWL 2 Full universe the extension of each class belongs to. As a specific note: For owl:NamedIndividual that there is no way in OWL 2 Full to restrict the set of individuals to only those being named by a URI, hence the extension of this class has been specified to equal the whole domain.
Not included in this table are the datatypes of OWL 2 Full, as given in Table 2.2. For a datatype URI U, the following semantic conditions hold: I(U) ∈ IDC, and ICEXT(I(U)) ⊆ LV.
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.3 lists the semantic conditions for the properties of the OWL 2 Full vocabulary and certain properties from RDFS. It tells the sort of property, and specifies the domain and range for each property. As specific notes: owl:topObjectProperty relates every two individuals in the universe to each other. Likewise, owl:topDataProperty relates every individual to every datavalue. owl:bottomObjectProperty and owl:bottomDataProperty do not relate any individuals to each other at all. The ranges of the properties owl:deprecated and owl:hasSelf are not restricted to be boolean values, so it is possible for these properties to have objects of arbitrary type.
Not included in this table are the datatype facets of OWL 2 Full, as given in Table 2.3. For a facet URI U, the following semantic conditions hold: I(U) ∈ IP, and IEXT(I(U)) ⊆ IR × LV.
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.4 lists the semantic conditions for boolean class expressions, including complements, intersections, and unions of classes. An intersection or union of a collection of datatypes is itself a datatype. While a 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.
〈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.5 lists the semantic conditions for enumerations, i.e. classes that consist of an explicitly given finite set of instances. In particular, an enumeration entirely consisting of datatype values is a datatype.
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.6 lists the semantic conditions for property restrictions, including value restrictions, cardinality restrictions, and self restrictions. There are also semantic conditions for value restrictions dealing with n-ary datatypes. 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, so it is possible to have right hand sides of arbitrary type.
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 ∈ LV : 〈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 ∈ LV : 〈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} |
However, it has been proposed that there is no need to introduce such an additional sort of extension.
Table 5.7 lists the semantic conditions for datatype restrictions, which are specified for a datatype, and for a set of facets with their facet values applied to that 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 conditions are 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 if applied to a datatype for which no facets are defined (usually a set of facets only exists for datatypes contained in the datatype map).
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.8 extends the semantic conditions for the RDFS vocabulary. The original semantics for the language features regarded here are specified in [RDF Semantics], and they only provide for "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 vocabularies are retained.
〈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.9 lists the semantic conditions for sub property chains. The semantics have been specified in a way to allow a sub property chain axiom to be satisfiable without requiring the existence of a property that represents the property chain. In particular, the property on the left hand side of the sub property assertion does not necessarily represent the property chain.
if | then |
---|---|
l sequence of p1,…, pn ∈
IR, 〈x,q〉 ∈ IEXT(I(rdfs:subPropertyOf)), 〈x,l〉 ∈ IEXT(I(owl:propertyChain)) |
p1,…, pn ∈ IP, q ∈ 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, q ∈ 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.10 lists the semantic conditions for equal and different individuals, equivalent and disjoint classes, and equivalent and disjoint properties. Also treated here are disjoint union axioms.
〈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.11 lists the semantic conditions for n-ary axioms on different individuals, disjoint classes, and disjoint properties. Note that there are two alternative ways to specify owl:AllDifferent axioms, both of them having the same model-theoretic meaning.
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.12 lists the semantic conditions for inverse property axioms.
〈p,q〉 ∈ IEXT(I(owl:inverseOf)) | iff | p, q ∈ IP, IEXT(p) = {〈x,y〉 | 〈y,x〉 ∈ IEXT(q)} |
---|
Table 5.13 lists the semantic conditions for property characteristics, i.e. functionality and inverse functionality, reflexivity and irreflexivity, symmetry and asymmetry, and transitivity of properties.
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.14 lists the semantic conditions for Keys. Keys are an alternative to inverse functional properties (see Table 5.13). They provide for compound keys, and they allow to specify the class of individuals for which a property plays the role of a key feature.
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.15 lists the semantic conditions for negative property assertions. They allow to state that an individual u does not stand in a relationship p with another individual w. The second form based on owl:targetValue is more specific than the first form based on owl:targetIndividual in that it is restricted to the case of negative data property assertions. Note that the second form will coerce the target individual of a negative property assertion into a data value, due to the range defined for the property owl:targetValue in Table 5.3.
if | then |
---|---|
〈x,u〉 ∈ IEXT(I(owl:sourceIndividual)), 〈x,p〉 ∈ IEXT(I(owl:assertionProperty)), 〈x,w〉 ∈ IEXT(I(owl:targetIndividual)) |
〈u,w〉 ∉ IEXT(p) |
〈x,u〉 ∈ IEXT(I(owl:sourceIndividual)), 〈x,p〉 ∈ IEXT(I(owl:assertionProperty)), 〈x,w〉 ∈ IEXT(I(owl:targetValue)) |
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)) |
This section is concerned with a strong relationship that holds between OWL 2 Full and the Direct Semantics of OWL 2 [OWL 2 Direct Semantics].
One design goal of OWL 2 has been that OWL 2 Full should reflect every logical consequence of the Direct Semantics of OWL 2 [OWL 2 Direct Semantics], 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 the Direct Semantics and OWL 2 Full, which complicates a comparison of their semantic expressiveness. The Direct Semantics treats classes as sets, i.e. subsets of the universe. Classes in OWL 2 Full, however, are individuals in the universe, which have such a set associated to them as their class extension. Hence, under OWL 2 Full, all classes are instances of the universe, but this cannot generally be assumed under the Direct Semantics. An analog distinction holds for properties.
An effect of this difference is that certain logical conclusions of OWL 2 DL do not become "visible" under OWL 2 Full, although they are reflected by OWL 2 Full at a set theoretical level. For example, consider the following two RDF graphs G1 and G2 (RDF graphs are presented here in the style used in [OWL 2 RDF Mapping]):
G1 := {
ex:C rdf:type owl:Class .
ex:D rdf:type owl:Class .
ex:C rdfs:subClassOf ex:D .
}
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 .
}
Both graphs are OWL 2 DL ontologies in RDF graph form, and G1 entails G2 under the Direct Semantics. However, under OWL 2 Full this entailment does not hold. Actually, OWL 2 Full 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 as individuals and their class extensions being the actual sets, G2 is not entailed, unless there exists some additional "helper" individual w, having the set S, defined by
S := ICEXT(w) = 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 at the set theoretical level holds or not. The individual is, however, required to represent this conclusion as the RDF graph G2.
The following subsection introduces a set of "comprehension principles", which have the purpose to provide the missing "helper" individuals.
This section lists the set of comprehension principles of OWL 2 Full. 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 next subsection, to hold, since the correspondence theorem compares OWL 2 Full and and the Direct Semantics based on entailments.
Table 6.1 lists the comprehension principles for lists, which provides the existence of RDF lists for each finite combination of individuals.
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.
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.
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 value restrictions, cardinality restrictions, and self restrictions for each property, class and individual for which such a restriction is meaningful. There are also comprehension principles for value restrictions dealing with n-ary datatypes.
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.
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) |
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 [OWL 2 RDF Mapping] to K and Q, respectively. If F(K) entails F(Q) with respect to the OWL 2 Direct Semantics [OWL 2 Direct Semantics] and with respect to D, then K entails Q with respect to OWL 2 Full extended by the comprehension principles, and with respect to D.
A sketch of a proof for this theorem is given in Appendix B.
Unlike the RDF Semantics, OWL 2 Full does not contain an explicit list of "axiomatic triples". One should note that it might not be possible to give a definition of OWL 2 Full that captures all "axiomatic aspects" of the language in the form of sets of RDF triples, just as it is not possible to define the whole semantics of OWL 2 Full in the form of a set of RDF triple rules. However, Section 5 contains a large set of semantic conditions that are in some sense "axiomatic", i.e. these semantic conditions are true in every OWL 2 Full ontology, including the empty ontology. This appendix shows how these semantic conditions relate to axiomatic triples.
The semantic conditions given in Table 5.2 can be regarded as a set of 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 some 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.2. Note that some of the RDF triples received in this way already follow from the RDFS semantics [RDF 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)).
The semantic conditions given in Table 5.3 can be regarded as a set of 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 some 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)).
This section lists significant changes since the First Public Working Draft.
This section lists significant differences between OWL 2 Full and the original version of OWL Full, as defined in Section 5 of [OWL Semantics and Abstract Syntax].