Difference between revisions of "RDF-Based Semantics"
(7.1, example: changed example comment to "label c3") |
(implemented LC response "reification vocabulary") |
||
Line 552: | Line 552: | ||
|+ <span class="caption">Table 3.2: OWL 2 RDF-Based vocabulary</span> | |+ <span class="caption">Table 3.2: OWL 2 RDF-Based vocabulary</span> | ||
|- | |- | ||
− | | class="name" | 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 | + | | class="name" | owl:AllDifferent owl:AllDisjointClasses owl:AllDisjointProperties owl:allValuesFrom owl:annotatedProperty owl:annotatedSource owl:annotatedTarget 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:ObjectProperty owl:onClass owl:onDataRange owl:onDatatype owl:oneOf owl:onProperty owl:onProperties owl:Ontology owl:OntologyProperty owl:priorVersion owl:propertyChainAxiom owl:propertyDisjointWith owl:qualifiedCardinality owl:ReflexiveProperty owl:Restriction owl:sameAs owl:someValuesFrom owl:sourceIndividual owl:SymmetricProperty owl:targetIndividual owl:targetValue owl:Thing owl:topDataProperty owl:topObjectProperty owl:TransitiveProperty owl:unionOf owl:versionInfo owl:versionIRI owl:withRestrictions |
|- | |- | ||
|} | |} | ||
Line 1,681: | Line 1,681: | ||
The range of the property | The range of the property | ||
− | <span class="name">owl: | + | <span class="name">owl:annotatedProperty</span> |
is unrestricted | is unrestricted | ||
in order to avoid undesired semantic side effects from an annotation, | in order to avoid undesired semantic side effects from an annotation, | ||
Line 1,698: | Line 1,698: | ||
| ∈ IP | | ∈ IP | ||
| ⊆ ICEXT(''I''(<span class="name">owl:Restriction</span>)) × IC | | ⊆ ICEXT(''I''(<span class="name">owl:Restriction</span>)) × IC | ||
+ | |- | ||
+ | | <span class="name">owl:annotatedProperty</span> | ||
+ | | ∈ IP | ||
+ | | ⊆ IR × IR | ||
+ | |- | ||
+ | | <span class="name">owl:annotatedSource</span> | ||
+ | | ∈ IP | ||
+ | | ⊆ IR × IR | ||
+ | |- | ||
+ | | <span class="name">owl:annotatedTarget</span> | ||
+ | | ∈ IP | ||
+ | | ⊆ IR × IR | ||
|- | |- | ||
| <span class="name">owl:assertionProperty</span> | | <span class="name">owl:assertionProperty</span> | ||
Line 1,814: | Line 1,826: | ||
| ∈ IP | | ∈ IP | ||
| ⊆ ICEXT(''I''(<span class="name">owl:Restriction</span>)) × INNI | | ⊆ ICEXT(''I''(<span class="name">owl:Restriction</span>)) × INNI | ||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
| <span class="name">owl:onClass</span> | | <span class="name">owl:onClass</span> | ||
Line 1,842: | Line 1,850: | ||
| ∈ IP | | ∈ IP | ||
| ⊆ ICEXT(''I''(<span class="name">owl:Restriction</span>)) × ISEQ | | ⊆ ICEXT(''I''(<span class="name">owl:Restriction</span>)) × ISEQ | ||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
| <span class="name">owl:priorVersion</span> | | <span class="name">owl:priorVersion</span> | ||
Line 1,878: | Line 1,882: | ||
| ∈ IP | | ∈ IP | ||
| ⊆ ICEXT(''I''(<span class="name">owl:NegativePropertyAssertion</span>)) × IR | | ⊆ ICEXT(''I''(<span class="name">owl:NegativePropertyAssertion</span>)) × IR | ||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
| <span class="name">owl:targetIndividual</span> | | <span class="name">owl:targetIndividual</span> | ||
Line 5,292: | Line 5,292: | ||
'''''of 21 April 2009:''''' | '''''of 21 April 2009:''''' | ||
+ | * Renamed annotation vocabulary terms "owl:subject", "owl:predicate" and "owl:object" to "owl:annotatedSource", "owl:annotatedProperty" and "owl:annotatedTarget", respectively, according to an [http://lists.w3.org/Archives/Public/public-owl-comments/2009May/0039.html LC response]. | ||
* Replaced obsolete facet "rdf:langPattern" by new facet "rdf:langRange" of datatype rdf:text. ([http://www.w3.org/2007/OWL/wiki/index.php?title=RDF-Based_Semantics&diff=23108&oldid=23105 diff]) | * Replaced obsolete facet "rdf:langPattern" by new facet "rdf:langRange" of datatype rdf:text. ([http://www.w3.org/2007/OWL/wiki/index.php?title=RDF-Based_Semantics&diff=23108&oldid=23105 diff]) | ||
− | * Changed range of property "owl: | + | * Changed range of property "owl:annotatedProperty" from IP to IR in order to avoid undesired semantic side effects from annotations. This was an oversight when the original semantic conditions for annotations of axioms and annotations were removed from the document. ([http://www.w3.org/2007/OWL/wiki/index.php?title=RDF-Based_Semantics&diff=23114&oldid=23109 diff]) |
* Several minor editorial corrections and clarifications. | * Several minor editorial corrections and clarifications. | ||
Revision as of 19:41, 18 May 2009
__NUMBEREDHEADINGS__
- Document title:
- OWL 2 Web Ontology Language
RDF-Based Semantics (Second Edition)
- Editor
- Michael Schneider, FZI Research Center for Information Technology
- Contributors (alphabetical order)
- Jeremy Carroll, HP (now at TopQuadrant)
- Ivan Herman, W3C/ERCIM
- Peter F. Patel-Schneider, Bell Labs Research, Alcatel-Lucent
- Abstract
- 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 defines the RDF-compatible model-theoretic semantics of OWL 2. - Status of this Document
- This is an editors' draft of a Recommendation-Track document.
The OWL Working Group solicits feedback on how to improve and update this document.
Copyright © 2008-2009 W3C^{®} (MIT, ERCIM, Keio), All Rights Reserved. W3C liability, trademark and document use rules apply.
Contents
- 1 Introduction (Informative)
- 2 Ontologies
- 3 Vocabulary
- 4 Interpretations
- 5 Semantic Conditions
- 5.1 Semantic Conditions for the Parts of the Universe
- 5.2 Semantic Conditions for Classes
- 5.3 Semantic Conditions for Properties
- 5.4 Semantic Conditions for Boolean Connectives
- 5.5 Semantic Conditions for Enumerations
- 5.6 Semantic Conditions for Property Restrictions
- 5.7 Semantic Conditions for Datatype Restrictions
- 5.8 Semantic Conditions for the RDFS Vocabulary
- 5.9 Semantic Conditions for Equivalence and Disjointness Axioms
- 5.10 Semantic Conditions for N-ary Axioms
- 5.11 Semantic Conditions for Sub Property Chains
- 5.12 Semantic Conditions for Inverse Property Axioms
- 5.13 Semantic Conditions for Property Characteristics
- 5.14 Semantic Conditions for Keys
- 5.15 Semantic Conditions for Negative Property Assertions
- 6 Appendix: Axiomatic Triples (Informative)
- 7 Appendix: Relationship to the Direct Semantics (Informative)
- 8 Appendix: Comprehension Conditions (Informative)
- 8.1 Comprehension Conditions for Sequences
- 8.2 Comprehension Conditions for Boolean Connectives
- 8.3 Comprehension Conditions for Enumerations
- 8.4 Comprehension Conditions for Property Restrictions
- 8.5 Comprehension Conditions for Datatype Restrictions
- 8.6 Comprehension Conditions for Inverse Property Expressions
- 9 Appendix: Changes from the OWL 1 RDF-Compatible Semantics (Informative)
- 10 Appendix: Post Last-Call Changes (Informative)
- 11 Acknowledgments
- 12 References
- The proof of the correspondence theorem (Section 7.3) might still need some further refinement.
- There are several item lists with both item bullets and numbers or letters. This will be changed into numbers/letters only after the proof of the correspondence theorem has been refined.
- Non-breakable whitespace will be put in formulae where appropriate.
1 Introduction (Informative)
This document defines the RDF-compatible model-theoretic semantics of OWL 2, referred to as the "OWL 2 RDF-Based Semantics". The OWL 2 RDF-Based Semantics gives a formal meaning to every RDF graph [RDF Concepts] and is fully compatible with the RDF Semantics specification [RDF Semantics]. The specification provided here is the successor to the original OWL 1 RDF-Compatible Semantics specification [OWL 1 RDF-Compatible Semantics].
Technically, the OWL 2 RDF-Based Semantics is defined as a semantic extension of "D-Entailment" (RDFS with datatype support), as specified in [RDF Semantics]. In other words, the meaning given to an RDF graph by the OWL 2 RDF-Based Semantics includes the meaning given to the graph by the semantics of RDFS with datatypes, and additional meaning is given to all the language constructs of OWL 2, such as boolean connectives, sub property chains and qualified cardinality restrictions (see the OWL 2 Structural Specification [OWL 2 Specification] for further information on all the language constructs of OWL 2). The definition of the semantics for the extra constructs follows the same design principles that have been applied to the RDF Semantics.
The content of this document is not meant to be self-contained, but builds on top of the RDF Semantics document [RDF Semantics] by adding those aspects that are specific to OWL 2. Hence, the complete definition of the OWL 2 RDF-Based Semantics is given by the combination of both the RDF Semantics document and the document at hand. In particular, the terminology used in the RDF Semantics is reused here, except for cases where a conflict exists with the rest of the OWL 2 specification.
The following paragraphs outline the document's structure and content, and provide an overview of some of the distinguishing features of the OWL 2 RDF-Based Semantics.
According to Section 2, the syntax for which the OWL 2 RDF-Based Semantics is defined is the set of all RDF graphs [RDF Concepts]. Every such RDF graph is given a precise formal meaning by the OWL 2 RDF-Based Semantics. The language that is determined by RDF graphs being interpreted using the OWL 2 RDF-Based Semantics is called "OWL 2 Full". In this document, RDF graphs are also called "OWL 2 Full ontologies", or simply "ontologies", unless there is any risk of confusion.
The OWL 2 RDF-Based Semantics interprets the RDF and RDFS vocabularies [RDF Semantics] and the OWL 2 RDF-Based vocabulary (see Section 3). Also treated are an extended set of datatypes and facets for datatype restrictions.
OWL 2 RDF-Based interpretations (Section 4) are defined on a universe that is divided into parts, namely individuals, classes, and properties, which are identified with their RDF counterparts (see Figure 1). In particular, the part of individuals equals the whole universe. This means that all classes and properties are also individuals in their own right.
The three basic parts are further divided into subparts as follows. The part of individuals subsumes the part of data values, which comprises the denotations of all literals. Also subsumed by the individuals is the part of ontologies. The part of classes subsumes the part of datatypes, which are classes entirely consisting of data values. Finally, the part of properties subsumes the parts of object properties, data properties, annotation properties and ontology properties. In particular, the part of object properties equals the whole part of properties, and all other kinds of properties are therefore also object properties.
For the particular case of annotations properties it is important to note that annotations cannot be regarded as "semantic-free comments" under the OWL 2 RDF-Based Semantics. Just like every other triple or set of triples occurring in an RDF graph, an annotation is actually an interpreted assertion that denotes a truth value under the OWL 2 RDF-Based Semantics. This means that adding an annotation may change the meaning of an ontology. An analog discussion holds for statements that are built from ontology properties.
Every class represents a specific set of individuals, called the class extension of the class: an individual a is an instance of a given class C exactly if a is a member of the class extension of C, written as "ICEXT(C)". Since a class is itself an individual under the OWL 2 RDF-Based Semantics, classes are distinguished from their respective class extensions. This distinction allows, for example, for a class to be an instance of itself by being a member of its own class extension. Also, two classes may be equivalent by sharing the same class extension, though still being different individuals, i.e., they do not need to share the same properties. Similarly, every property has a property extension associated with it, consisting of pairs of individuals: an individual a_{1} has a relationship to another individual a_{2} based on a given property p, exactly if the pair 〈 a_{1} , a_{2} 〉 is a member of the property extension of p, written as "IEXT(p)".
Individuals may play different roles. For example, an individual can be both a data property and an annotation property, since the different parts of the universe of an OWL 2 RDF-Based interpretation are not required to be mutually disjoint. Or an individual can be both a class and a property, since a class extension and a property extension may independently be associated with the same individual.
The main part of the OWL 2 RDF-Based Semantics is Section 5, which specifies the actual semantic features in terms of the OWL 2 RDF-Based semantic conditions. These semantic conditions extend all the semantic conditions given in [RDF Semantics]. The OWL 2 RDF-Based semantic conditions effectively determine which sets of RDF triples are assigned a specific meaning, and what this meaning is. For example, there exist semantic conditions that allow to interpret the RDF triple "C owl:disjointWith D" to mean that the denotations of the IRIs "C" and "D" have disjoint class extensions.
There is usually no need to provide localizing information (e.g. by means of "typing triples") for the IRIs occurring in an ontology. As for the RDF Semantics, the OWL 2 RDF-Based semantic conditions have been designed to ensure that the denotation of any IRI will actually be in the appropriate part of the universe. For example, the RDF triple "C owl:disjointWith D" is sufficient to deduce that the denotations of the IRIs "C" and "D" are actually classes. It is not necessary to explicitly add additional typing triples "C rdf:type rdfs:Class" and "D rdf:type rdfs:Class" to the ontology.
In the RDF Semantics, this kind of "automatic localization" was to some extent achieved by so called "axiomatic triples" [RDF Semantics], such as "rdfs:subClassOf rdf:type rdf:Property" or "rdfs:subClassOf rdfs:domain rdfs:Class". However, there is no explicit collection of additional axiomatic triples for the OWL 2 RDF-Based Semantics but, instead, the specific axiomatic aspects of the OWL 2 RDF-Based Semantics are determined by a subset of the OWL 2 RDF-Based semantic conditions. Section 6 discusses axiomatic triples in general, and provides an example set of axiomatic triples that is compatible with the OWL 2 RDF-Based Semantics.
Section 7 compares the OWL 2 RDF-Based Semantics with the OWL 2 Direct Semantics [OWL 2 Direct Semantics]. While the OWL 2 RDF-Based Semantics is based on the RDF Semantics specification [RDF Semantics], the OWL 2 Direct Semantics is a description logic style semantics. Several fundamental differences exist between the two semantics, but there is also a strong relationship basically stating that the OWL 2 RDF-Based Semantics is able to reflect all logical conclusions of the OWL 2 Direct Semantics. This means that the OWL 2 Direct Semantics can in a sense be regarded as a sub semantics of the OWL 2 RDF-Based Semantics. The precise relationship is given by the OWL 2 correspondence theorem.
Significant effort has been spent in keeping the design of the OWL 2 RDF-Based Semantics as close as possible to that of the original specification of the OWL 1 RDF-Compatible Semantics [OWL 1 RDF-Compatible Semantics]. The OWL 2 RDF-Based Semantics actually deviates from the OWL 1 RDF-Compatible Semantics in several aspects, in most cases due to serious technical problems that would have arisen from a conservative semantic extension. One important change is that, while there still exist so called "comprehension conditions" for the OWL 2 RDF-Based Semantics (see Section 8), these are not part of the normative set of semantic conditions anymore. The OWL 2 RDF-Based Semantics also corrects several errors of the OWL 1 RDF-Compatible Semantics. A list of differences between the two languages is given in Section 9.
The italicized keywords MUST, MUST NOT, SHOULD, SHOULD NOT, and MAY are used to specify normative features of OWL 2 documents and tools, and are interpreted as specified in RFC 2119 [RFC 2119].
2 Ontologies
This section determines the syntax for the OWL 2 RDF-Based Semantics.
2.1 Syntax
Following Sections 0.2 and 0.3 of the RDF Semantics specification [RDF Semantics], the OWL 2 RDF-Based Semantics is defined on every RDF graph (Section 6.2 of [RDF Concepts]), i.e. on every set of RDF triples (Section 6.1 of [RDF Concepts]).
In accordance with the rest of the OWL 2 specification (see Section 2.3 of [OWL 2 Specification]), this document uses an extended notion of an RDF graph by allowing the RDF triples in an RDF graph to contain arbitrary IRIs ("Internationalized Resource Identifiers") according to [RFC 3987]. In contrast, the RDF Semantics specification [RDF Semantics] is defined on RDF graphs containing URIs [RFC 2396]. This change is backwards compatible with the RDF specification.
Terminological note: The document at hand uses the term "IRI" in accordance with the rest of the OWL 2 specification (see Section 2.4 of [OWL 2 Specification]), whereas the RDF Semantics specification [RDF Semantics] uses the term "URI reference" instead. According to [RFC 3987], the term "IRI" stands for an absolute resource identifier with optional fragment, which is what is being used throughout this document. In contrast, the term "IRI reference" additionally covers relative references, which are never used in this document.
In this document, IRIs are abbreviated in the way defined by Section 2.4 of [OWL 2 Specification], i.e., the abbreviations consist of a prefix name and a local part, such as "prefix:localpart".
The definition of an RDF triple in Section 6.1 of [RDF Concepts] is restricted to cases where the subject of an RDF triple is an IRI or a blank node (Section 6.6 of [RDF Concepts]), and where the predicate of an RDF triple is an IRI. As a consequence, the definition does not treat cases, where, for example, the subject of a triple is a literal (Section 6.5 of [RDF Concepts]), as in "s" ex:p ex:o, or where the predicate of a triple is a blank node, as in ex:s _:p ex:o. In order to allow for interoperability with other existing or future technologies and tools, the document at hand does not explicitly forbid RDF graphs to contain generalized RDF triples, which are defined to allow for IRIs, literals and blank nodes to occur in the subject, predicate and object position. Thus, an RDF graph MAY contain generalized RDF triples.
Terminological notes: The term "OWL 2 Full" refers to the language that is determined by the set of all RDF graphs being interpreted using the OWL 2 RDF-Based Semantics. Further, in this document the term "OWL 2 Full ontology" (or simply "ontology", unless there is any risk of confusion) will be used interchangeably with the term "RDF graph".
2.2 Content of Ontologies (Informative)
While there do not exist any syntactic restrictions on the set of RDF graphs that can be interpreted by the OWL 2 RDF-Based Semantics, in practice an ontology will often contain certain kinds of components that are aimed to support ontology management tasks. Examples are ontology headers and ontology IRIs, as well as components that are about versioning, importing and annotating of ontologies, including the concept of incompatibility between ontologies.
These topics are outside the scope of this semantics specification. Section 3 of [OWL 2 Specification] deals with these topics in detail, and can therefore be used as a guide on how to apply these components in OWL 2 Full ontologies accordingly. The mappings of all these components to their respective RDF encodings are defined in [OWL 2 RDF Mapping].
3 Vocabulary
This section specifies the OWL 2 RDF-Based vocabulary, and lists the names of the datatypes and facets used under the OWL 2 RDF-Based Semantics.
3.1 Standard Prefixes
Table 3.1 lists the standard prefix names and their prefix IRIs used in this document.
Prefix Name | Prefix IRI | |
---|---|---|
OWL | owl | http://www.w3.org/2002/07/owl# |
RDF | rdf | http://www.w3.org/1999/02/22-rdf-syntax-ns# |
RDFS | rdfs | http://www.w3.org/2000/01/rdf-schema# |
XML Schema | xsd | http://www.w3.org/2001/XMLSchema# |
3.2 Vocabulary Terms
Table 3.2 lists the OWL 2 RDF-Based vocabulary, which is the set of vocabulary IRIs (or "vocabulary terms") that are specific for the OWL 2 RDF-Based Semantics. This vocabulary extends the RDF and RDFS vocabularies as specified by Sections 3.1 and 4.1 of [RDF Semantics], respectively. Table 3.2 excludes those IRIs that are mentioned in either Section 3.3 on datatype names or Section 3.4 on facet names.
Note: The use of the IRI owl:DataRange has been deprecated as of OWL 2. The IRI rdfs:Datatype SHOULD be used instead.
owl:AllDifferent owl:AllDisjointClasses owl:AllDisjointProperties owl:allValuesFrom owl:annotatedProperty owl:annotatedSource owl:annotatedTarget 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:ObjectProperty owl:onClass owl:onDataRange owl:onDatatype owl:oneOf owl:onProperty owl:onProperties owl:Ontology owl:OntologyProperty owl:priorVersion owl:propertyChainAxiom owl:propertyDisjointWith owl:qualifiedCardinality owl:ReflexiveProperty owl:Restriction owl:sameAs owl:someValuesFrom owl:sourceIndividual owl:SymmetricProperty owl:targetIndividual owl:targetValue owl:Thing owl:topDataProperty owl:topObjectProperty owl:TransitiveProperty owl:unionOf owl:versionInfo owl:versionIRI owl:withRestrictions |
3.3 Datatype Names
Table 3.3 lists the IRIs of the datatypes used in the OWL 2 RDF-Based Semantics. The normative set of datatypes of the OWL 2 RDF-Based Semantics equals the set of datatypes described in Section 4 of [OWL 2 Specification].
The datatype rdf:XMLLiteral is described in Section 3.1 of [RDF Semantics]. All other datatypes are described in Section 4 of [OWL 2 Specification].
xsd:anyURI xsd:base64Binary xsd:boolean xsd:byte xsd:dateTime xsd:dateTimeStamp 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 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. For the current status see features "at risk" in OWL 2
The owl:rational datatype might be removed from OWL 2 if implementation experience reveals problems with supporting this datatype.
3.4 Facet Names
Table 3.4 lists the IRIs of the facets used in the OWL 2 RDF-Based Semantics. The normative set of facets of the OWL 2 RDF-Based Semantics equals the set of facets described in Section 4 of [OWL 2 Specification].
In this specification, facets are used for defining datatype restrictions, see Section 5.7. For example, to refer to the set of all strings of length 5 one can restrict the datatype xsd:string (Section 3.3) by the facet xsd:length and the value 5.
All facets are described in Section 4 of [OWL 2 Specification] in the context of their respective datatypes.
rdf:langRange xsd:length xsd:maxExclusive xsd:maxInclusive xsd:maxLength xsd:minExclusive xsd:minInclusive xsd:minLength xsd:pattern |
4 Interpretations
The OWL 2 RDF-Based Semantics provides vocabulary interpretations and vocabulary entailment (see Section 2.1 of [RDF Semantics]) for the RDF and RDFS vocabularies and for the OWL 2 RDF-Based vocabulary. This section defines the concepts of an OWL 2 RDF-Based datatype map and an OWL 2 RDF-Based interpretation, and specifies what satisfaction of ontologies, consistency and entailment means under the OWL 2 RDF-Based Semantics. In addition, the so called "parts" of the universe of an OWL 2 RDF-Based interpretation are defined.
4.1 Datatype Maps
According to Section 5.1 of the RDF semantics specification [RDF Semantics], a datatype d has the following components:
- LS(d), the lexical space of d, which is a set of lexical forms;
- VS(d), the value space of d, which is a set of data values;
- L2V(d), the lexical-to-value mapping of d, which maps lexical forms in LS(d) to data values in VS(d).
Terminological notes: The document at hand uses the term "data value" in accordance with the rest of the OWL 2 specification (see Section 4 of [OWL 2 Specification]), whereas the RDF Semantics specification [RDF Semantics] uses the term "datatype value" instead. Further, the names "LS" and "VS", which stand for the lexical space and the value space of a datatype, respectively, are not used in the RDF Semantics specification, but have been introduced here for easier reference.
In this document, the basic definition of a datatype is extended to take facets into account. For information and an example on facets, see Section 3.4. Note that Section 5.1 of the RDF Semantics specification [RDF Semantics] explicitly permits that semantic extensions may impose more elaborate datatyping conditions than those listed above.
A datatype with facets d is a datatype that has the following additional components:
- FS(d), the facet space of d, which is a set of pairs of the form 〈 F , v 〉, where F is an IRI called the constraining facet and v is an arbitrary data value called the constraining value;
- F2V(d), the facet-to-value mapping of d, which maps each facet-value pair 〈 F , v 〉 in FS(d) to a subset of VS(d).
Note that it is not further specified what the nature of a facet IRI's denotation is, i.e. it is only known that a facet IRI denotes some individual. Semantic extensions MAY impose further restrictions on the denotations of facets. In fact, Section 5.3 will define additional restrictions on facets.
Also note that for a datatype d and a facet-value pair 〈 F , v 〉 in FS(d) the value v is not required to be included in the value space VS(d) of d itself. For example, the datatype xsd:string (Section 3.3) has the facet xsd:length (Section 3.4), which takes non-negative integers as its values, rather than strings.
In this document, it will always be assumed from now on that every datatype d is a datatype with facets. If the facet space FS(d) of a datatype d has not been explicitly defined, or if it is not derived from another datatype's facet space according to some well defined condition, then FS(d) is the empty set. Unless there is any risk of confusion, the term "datatype" will always refer to a datatype with facets.
Section 5.1 of the RDF Semantics specification [RDF Semantics] further defines a datatype map D to be a set of name-datatype pairs 〈 u , d 〉 consisting of an IRI u and a datatype d, such that no IRI appears twice in the set. According to a previous comment, in this document every datatype map D will entirely consist of datatypes with facets.
The following definition specifies what an OWL 2 RDF-Based datatype map is.
Definition 4.1 (OWL 2 RDF-Based Datatype Map): A datatype map D is an OWL 2 RDF-Based datatype map, if and only if for every datatype name u listed in Section 3.3 there is a name-datatype pair 〈 u, d 〉 in D, with the respective lexical space LS(d), value space VS(d), lexical-to-value mapping L2V(d), facet space FS(d) and facet-to-value mapping F2V(d) specified according to the definitions in Section 4 of [OWL 2 Specification] (for the facets listed in Section 3.4).
Note for the special case of an OWL 2 RDF-Based datatype map D that contains no other datatypes than those listed in Section 3.3, it is ensured that there are datatypes available for all the facet values, i.e., for every name-datatype pair 〈 u , d 〉 in D and for every facet-value pair 〈 F , v 〉 in FS(d) there exists a name-datatype pair 〈 u^{*} , d^{*} 〉 in D such that v is in VS(d^{*}).
4.2 Vocabulary Interpretations
From the RDF Semantics specification [RDF Semantics], let V be a set of literals and IRIs containing the RDF and RDFS vocabularies, and let D be a datatype map according to Section 5.1 of [RDF Semantics] (and accordingly Section 4.1). A D-interpretation I of V with respect to D is a tuple
I = 〈 IR , IP , IEXT , IS , IL , LV 〉 .
IR is the universe of I, i.e., a nonempty set that contains at least the denotations of literals and IRIs in V. IP is a subset of IR, the properties of I. LV, the data values of I, is a subset of IR that contains at least the set of plain literals (see Section 6.5 of [RDF Concepts]), and the value spaces of each datatype of D. IEXT is used to associate properties with their property extension, and is a mapping from IP to the powerset of IR × IR. IS is a mapping from IRIs in V to their denotations in IR. In particular, IS(u) = d for any name-datatype pair 〈 u , d 〉 in D. IL is a mapping from typed literals "s"^^u in V to their denotations in IR, where IL("s"^^u) = L2V(d)(s), provided that d is a datatype of D, IS(u) = d, and s is in the lexical space LS(d); otherwise IL("s"^^u) is not in LV.
Convention: Following the practice, as also introduced in Section 1.4 of [RDF Semantics], for a given interpretation I of a vocabulary V the notation "I(x)" will be used to denote "IL(x)" and "IS(x)" for the typed literals and IRIs x in V, respectively.
As detailed in [RDF Semantics], a D-interpretation has to meet all the semantic conditions for ground graphs and blank nodes, those for RDF interpretations and RDFS interpretations, and the "general semantic conditions for datatypes".
In this document, the basic definition of a D-interpretation is extended to take facets into account.
A D-interpretation with facets I is a D-interpretation for a datatype map D consisting entirely of datatypes with facets (Section 4.1), where I meets the following additional semantic conditions: for each name-datatype pair 〈 u , d 〉 in D and each facet-value pair 〈 F , v 〉 in the facet space FS(d)
- F is in the vocabulary V of I;
- a name-datatype pair 〈 u^{*} , d^{*} 〉 exists in D, such that v is in the value space VS(d^{*}).
In this document, it will always be assumed from now on that every D-interpretation I is a D-interpretation with facets. Unless there is any risk of confusion, the term "D-interpretation" will always refer to a D-interpretation with facets.
The following definition specifies what an OWL 2 RDF-Based interpretation is.
Definition 4.2 (OWL 2 RDF-Based Interpretation): Let D be an OWL 2 RDF-Based datatype map, and let V be a vocabulary that includes the RDF and RDFS vocabularies and the OWL 2 RDF-Based vocabulary together with all the datatype and facet names listed in Section 3. An OWL 2 RDF-Based interpretation, I = 〈 IR , IP , IEXT , IS , IL , LV 〉, of V with respect to D is a D-interpretation of V with respect to D that meets all the extra semantic conditions given in Section 5.
4.3 Satisfaction, Consistency and Entailment
The following definitions specify what it means for an RDF graph to be satisfied by a given OWL 2 RDF-Based interpretation, to be consistent under the OWL 2 RDF-Based Semantics, and to entail another RDF graph.
The notion of satisfaction under the OWL 2 RDF-Based Semantics is based on the notion of satisfaction for D-interpretations and Simple interpretations, as defined in [RDF Semantics]. In essence, in order to satisfy an RDF graph, an interpretation I has to satisfy all the triples in the graph, i.e., for a triple of the form "s p o" it is necessary that the relationship 〈 I(s) , I(o) 〉 ∈ IEXT(I(p)) holds (special treatment exists for blank nodes, as detailed in Section 1.5 of [RDF Semantics]). In other words, the given graph has to be compatible with the specific form of the IEXT mapping of the interpretation I. The main distinguishing aspect of OWL 2 RDF-Based satisfaction is that an interpretation I needs to meet all the OWL 2 RDF-Based semantic conditions (Section 5), which actually constrain the possible forms the mapping IEXT of I can have.
Definition 4.3 (OWL 2 RDF-Based Satisfaction): Let G be an RDF graph, let D be an OWL 2 RDF-Based datatype map, let V be a vocabulary that includes the RDF and RDFS vocabularies and the OWL 2 RDF-Based vocabulary together with all the datatype and facet names listed in Section 3, and let I be a D-interpretation of V with respect to D. I OWL 2 RDF-Based satisfies G with respect to V and D if and only if I is an OWL 2 RDF-Based interpretation of V with respect to D that satisfies G as a D-interpretation of V with respect to D according to [RDF Semantics].
Definition 4.4 (OWL 2 RDF-Based Consistency): Let S be a collection of RDF graphs, and let D be an OWL 2 RDF-Based datatype map. S is OWL 2 RDF-Based consistent with respect to D if and only if there is some OWL 2 RDF-Based interpretation with respect to D (of some vocabulary V that includes the RDF and RDFS vocabularies and the OWL 2 RDF-Based vocabulary together with all the datatype and facet names listed in Section 3) that OWL 2 RDF-Based satisfies all the RDF graphs in S with respect to V and D.
Definition 4.5 (OWL 2 RDF-Based Entailment): Let S_{1} and S_{2} be collections of RDF graphs, and let D be an OWL 2 RDF-Based datatype map. S_{1} OWL 2 RDF-Based entails S_{2} with respect to D if and only if every OWL 2 RDF-Based interpretation with respect to D (of any vocabulary V that includes the RDF and RDFS vocabularies and the OWL 2 RDF-Based vocabulary together with all the datatype and facet names listed in Section 3) that OWL 2 RDF-Based satisfies all the RDF graphs in S_{1} with respect to V and D also OWL 2 RDF-Based satisfies all the RDF graphs in S_{2} with respect to V and D.
4.4 Parts of the Universe
Table 4.1 defines the "parts" of the universe of a given OWL 2 RDF-Based interpretation I.
The first column tells the name of the part. The second column gives a definition of the part in terms of the mapping IEXT of I, and by referring to the RDF, RDFS and OWL 2 RDF-Based vocabularies. The third column notes what the defined part is meant to be.
As an example, the part of all datatypes is named "IDC", and it is defined as the set of all individuals x for which the relationship "〈 x , I(rdfs:Datatype) 〉 ∈ IEXT(I(rdf:type))" holds. According to the semantics of rdf:type, as defined in Section 4.1 of [RDF Semantics], this means that the name "IDC" denotes the class extension of rdfs:Datatype.
Name of Part S |
Definition of S as { x ∈ IR | 〈 x , I(E) 〉 ∈ IEXT(I(rdf:type)) } where IRI E is |
Note |
---|---|---|
IR | rdfs:Resource | individuals |
LV | rdfs:Literal | data 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 |
4.5 Class Extensions
The mapping ICEXT from IC to the powerset of IR, which associates classes with their class extension, is defined for every c ∈ IC as
ICEXT(c) = { x ∈ IR | 〈 x , c 〉 ∈ IEXT(I(rdf:type)) } .
5 Semantic Conditions
This section defines the semantic conditions of the OWL 2 RDF-Based Semantics. The semantic conditions presented here are basically only those for the specific constructs of OWL 2. The complete set of semantic conditions for the OWL 2 RDF-Based Semantics is the combination of the semantic conditions presented here and the semantic conditions for Simple Entailment, RDF, RDFS and D-Entailment, as specified in the RDF Semantics specification [RDF Semantics].
Section 5.1 specifies semantic conditions for the different parts of the universe (defined in Section 4.4) of the OWL 2 RDF-Based interpretation being considered. Section 5.2 and Section 5.3 list semantic conditions for the classes and the properties of the OWL 2 RDF-Based vocabulary. In the rest of this section, the OWL 2 RDF-Based semantic conditions for the different language constructs of OWL 2 are specified.
Conventions used in this Section
iff: Throughout this section the term "iff" is used as a shortform for "if and only if".
Conjunctive commas: A comma (",") separating two assertions in a semantic condition, as in "c ∈ IC , p ∈ IP", is read as a logical "and". Further, a comma separating two variables, as in "c, d ∈ IC", is used for abbreviating two comma separated assertions, "c ∈ IC , d ∈ IC" in this example.
Unscoped variables: If no explicit scope is given for a variable "x", as in "∀ x : …" or "{ x | … }", then "x" is unconstrained, which means x ∈ IR, i.e. "x" denotes an arbitrary individual in the universe.
Set cardinality: For a set S, an expression of the form "#S" means the number of elements in S.
Sequence expressions: An expression of the form "s sequence of a_{1} , … , a_{n} ∈ S" means that "s" represents a list of n ≥ 0 individuals a_{1} , … , a_{n}, all of them being members of the set S. Precisely, s = I(rdf:nil) for n = 0; and for n > 0 there exist z_{1} ∈ IR , … , z_{n} ∈ IR, such that
s = z_{1} ,
a_{1} ∈ S ,
〈 z_{1} , a_{1} 〉 ∈ IEXT(I(rdf:first)) ,
〈 z_{1} , z_{2} 〉 ∈ IEXT(I(rdf:rest)) ,
… ,
a_{n} ∈ S,
〈 z_{n} , a_{n} 〉 ∈ IEXT(I(rdf:first)) ,
〈 z_{n} , I(rdf:nil) 〉 ∈ IEXT(I(rdf:rest)) .
Set names: The following names are used as convenient abbreviations for certain sets:
- ISEQ: The set of all sequences. This set equals the class extension of rdf:List, i.e., ISEQ := ICEXT(I(rdf:List)).
- INNI: The set of all non-negative integers. This set equals the value space of the datatype xsd:nonNegativeInteger, i.e., INNI := ICEXT(I(xsd:nonNegativeInteger)), but is also subsumed by the value spaces of other numerical datatypes, such as xsd:integer.
Notes on the Form of Semantic Conditions (Informative)
One design goal of OWL 2 was to ensure an appropriate degree of alignment between the OWL 2 RDF-Based Semantics and the OWL 2 Direct Semantics [OWL 2 Direct Semantics] under the different constraints the two semantics have to meet. The way this semantic alignment is described is via the OWL 2 Correspondence Theorem in Section 7.2. For this theorem to hold, the semantic conditions that treat the RDF encodings of OWL 2 axioms (compare Section 3.2.5 of [OWL 2 RDF Mapping] and Section 9 of [OWL 2 Specification]), such as inverse property axioms, must have the form of "iff" ("if-and-only-if") conditions. This means that these semantic conditions completely determine the semantics of these construct encodings. On the other hand, the RDF encodings of OWL 2 expressions (compare Section 3.2.4 of [OWL 2 RDF Mapping] and Sections 6 – 8 of [OWL 2 Specification]), such as property restrictions, are treated by "if-then" conditions. These weaker semantic conditions for expressions are sufficient for the correspondence theorem to hold, so there is no necessity to define stronger "iff" conditions under the OWL 2 RDF-Based Semantics for these language constructs.
Special cases are the semantic conditions for boolean connectives of classes and enumerations of individuals. These language constructs build OWL 2 expressions. But for backwards compatibility reasons there are also RDF encodings of axioms based on the vocabulary for these language constructs (see Table 18 in Section 3.2.5 of [OWL 2 RDF Mapping]). For example, an RDF expression of the form
ex:c_{1} owl:unionOf ( ex:c_{2} ex:c_{3} ) .
is mapped by the reverse RDF mapping into an OWL 2 axiom that states the equivalence of the class denoted by ex:c_{1} with the union of the classes denoted by ex:c_{2} and ex:c_{3}. In order to ensure that the correspondence theorem holds, and in accordance with the original OWL 1 RDF-Compatible Semantics specification [OWL 1 RDF-Compatible Semantics], the semantic conditions for the mentioned language constructs are therefore "iff" conditions.
Further, special treatment exists for OWL 2 axioms that have multi-triple representations in RDF, where the different triples share a common "root node", such as the blank node "_:x" in the following example:
_:x rdf:type owl:AllDisjointClasses .
_:x owl:members ( ex:c_{1} ex:c_{2} ) .
In essence, the semantic conditions for the encodings of these language constructs are "iff" conditions, as usual for axioms. However, in order to cope with the specific syntactic aspect of a "root node", the "iff" conditions of these language constructs have been split into two "if-then" conditions, where the "if-then" condition representing the right-to-left direction contains an additional premise of the form "∃ z ∈ IR". The purpose of this premise is to ensure the existence of an individual that is needed to satisfy the root node under the OWL 2 RDF-Based semantics. The language constructs in question are n-ary axioms in Section 5.10, and negative property assertions in Section 5.15.
The "if-then" semantic conditions in this section sometimes do not explicitly list all typing statements in their consequent that one might expect. For example, the semantic condition for owl:someValuesFrom restrictions in Section 5.6 does not list the statement "x ∈ ICEXT(I(owl:Restriction))" on its right hand side. Consequences are generally not mentioned, if they can already be deduced by other means. Often, these redundant consequences follow from the semantic conditions for classes and properties in Section 5.2 and Section 5.3, respectively, occasionally in connection with the semantic conditions for the parts of the universe in Section 5.1. In the example above, the omitted consequence can be obtained from the third column of the entry for owl:someValuesFrom in the table in Section 5.3, which determines that IEXT(I(owl:someValuesFrom)) ⊆ ICEXT(I(owl:Restriction)) × IC.
5.1 Semantic Conditions for the Parts of the Universe
Table 5.1 lists the semantic conditions for the parts of the universe of the OWL 2 RDF-Based interpretation being considered, as defined in Section 4.4.
The first column tells the name of the part. The second column defines certain conditions on the part. In most cases, it is specified for the part by which other part it is subsumed, and by this the position of the part in the "parts hierarchy" of the universe is narrowed down. The third column provides further information about the instances of those parts that consist of classes or properties. In general, if the part consists of classes, then it is specified for the class extensions of the member classes by which part of the universe they are subsumed. If the part consists of properties, then the domains and ranges of the member properties are determined.
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 |
5.2 Semantic Conditions for Classes
Table 5.2 lists the semantic conditions for the classes that have IRIs in the OWL 2 RDF-Based vocabulary. In addition, the table contains all those classes with IRIs in the RDF and RDFS vocabularies that represent parts of the universe of the OWL 2 RDF-Based interpretation being considered (Section 4.4). The semantic conditions for the remaining classes with names in the RDF and RDFS vocabularies can be found in the RDF Semantics specification [RDF Semantics].
The first column tells the name of the class. The second column defines of what particular kind a class is, i.e. whether it is a general class (a member of the part IC) or a datatype (a member of IDC). The third column specifies for the class extension of the class by which part of the universe (Section 4.4) it is subsumed. Thus, from an entry of the form "ICEXT(I(C)) ⊆S", for a class name C and a set S, and given an RDF triple of the form "u rdf:type C", one can deduce that the relationship given by "I(u) ∈ S" holds.
Not included in this table are the datatypes of the OWL 2 RDF-Based Semantics with IRIs listed in Section 3.3. For each such datatype IRI E, the following semantic conditions hold (as a consequence of the fact that E is a member of the datatype map of every OWL 2 RDF-Based interpretation according to Definition 4.2, and by the "General semantic conditions for datatypes" given in Section 5.1 of [RDF Semantics]):
- I(E) ∈ IDC
- ICEXT(I(E)) ⊆ LV
IRI E | I(E) | ICEXT(I(E)) |
---|---|---|
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 |
5.3 Semantic Conditions for Properties
Table 5.3 lists the semantic conditions for the properties that have IRIs in the OWL 2 RDF-Based vocabulary. In addition, the table contains all those properties with IRIs in the RDFS vocabulary that are specified to be annotation properties under the OWL 2 RDF-Based Semantics. The semantic conditions for the remaining properties with names in the RDFS vocabulary can be found in the RDF Semantics specification [RDF Semantics].
The first column tells the name of the property. The second column defines of what particular kind a property is, i.e. whether it is a general property (a member of the part IP), a datatype property (a member of IODP), an ontology property (a member of IOXP) or an annotation property (a member of IOAP). The third column specifies the domain and range of the property. Thus, from an entry of the form "IEXT(I(p)) ⊆ S_{1} × S_{2}", for a property name p and sets S_{1} and S_{2}, and given an RDF triple of the form "s p o", one can deduce that the relationships given by "I(s) ∈ S_{1}" and "I(o) ∈ S_{2}" hold.
Not included in this table are the datatype facets of the OWL 2 RDF-Based Semantics with IRIs listed in Section 3.4, which are used to specify datatype restrictions (see Section 5.7). For each such datatype facet IRI E, the following semantic conditions extend the basic semantics specification that has been given for datatypes with facets in Section 4.1:
- I(E) ∈ IP
- IEXT(I(E)) ⊆ IR × LV
Informative notes:
owl:topObjectProperty relates every two individuals in the universe to each other. Likewise, owl:topDataProperty relates every individual to every data value. Further, owl:bottomObjectProperty and owl:bottomDataProperty stand both for the empty relationship.
The ranges of the properties owl:deprecated and owl:hasSelf are not restricted in any form, and, in particular, they are not restricted to be boolean values. The actual object values of these properties do not have any intended meaning, but could as well have been defined to be of any other value. Therefore, the semantics given here are of a form that the values can be arbitrarily chosen without leading to any non-trivial semantic conclusions. It is, however, recommended to still use an object literal of the form "true"^^xsd:boolean in ontologies, in order to not get in conflict with the required usage of these properties in scenarios that ask for applying the reverse RDF mapping (compare Table 13 in Section 3.2.4 of [OWL 2 RDF Mapping] for owl:hasSelf, and Section 5.5 of [OWL 2 Specification] for owl:deprecated).
The range of the property owl:annotatedProperty is unrestricted in order to avoid undesired semantic side effects from an annotation, when the annotated axiom or annotation is not contained in the ontology.
IRI E | I(E) | IEXT(I(E)) |
---|---|---|
owl:allValuesFrom | ∈ IP | ⊆ ICEXT(I(owl:Restriction)) × IC |
owl:annotatedProperty | ∈ IP | ⊆ IR × IR |
owl:annotatedSource | ∈ IP | ⊆ IR × IR |
owl:annotatedTarget | ∈ IP | ⊆ IR × IR |
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: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:priorVersion | ∈ IOXP | ⊆ IX × IX |
owl:propertyChainAxiom | ∈ 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: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:versionIRI | ∈ IOXP | ⊆ IX × IX |
owl:withRestrictions | ∈ IP | ⊆ IDC × ISEQ |
5.4 Semantic Conditions for Boolean Connectives
Table 5.4 lists the semantic conditions for boolean connectives, including intersections, unions and complements of classes and datatypes. An intersection or a union of a collection of datatypes or a complement of a datatype is itself a datatype. While a complement of a class is created w.r.t. the whole universe, a datatype complement is created for a datatype w.r.t. the set of data values only.
Informative notes: Every first semantic condition of the three condition pairs in the table is an "iff" condition, since the treated language constructs have the status of both class expressions and axioms of OWL 2. In contrast, the first semantic condition on datatype complements is an "if-then" condition, since it only has the status of a datarange expression. See the notes on the form of semantic conditions for further information on this topic. For the remaining semantic conditions that treat the cases of intersections and unions of datatypes it is sufficient to have "if-then" conditions, since stronger "iff" conditions would be obsoleted by the more general "iff" conditions that already exist for classes.
if s sequence of c_{1} , … , c_{n} ∈ IR then | |||
---|---|---|---|
〈 z , s 〉 ∈ IEXT(I(owl:intersectionOf)) | iff | z , c_{1} , … , c_{n} ∈ IC , ICEXT(z) = ICEXT(c_{1}) ∩ … ∩ ICEXT(c_{n}) | |
if | then | ||
s sequence of d_{1} , … , d_{n} ∈ IDC , n ≥ 1 , 〈 z , s 〉 ∈ IEXT(I(owl:intersectionOf)) |
z ∈ IDC | ||
if s sequence of c_{1} , … , c_{n} ∈ IR then | |||
〈 z , s 〉 ∈ IEXT(I(owl:unionOf)) | iff | z , c_{1} , … , c_{n} ∈ IC , ICEXT(z) = ICEXT(c_{1}) ∪ … ∪ ICEXT(c_{n}) | |
if | then | ||
s sequence of d_{1} , … , d_{n} ∈ IDC , n ≥ 1 , 〈 z , s 〉 ∈ IEXT(I(owl:unionOf)) |
z ∈ IDC | ||
〈 z , c 〉 ∈ IEXT(I(owl:complementOf)) | iff | z , c ∈ IC , ICEXT(z) = IR \ ICEXT(c) | |
if | then | ||
〈 z , d 〉 ∈ IEXT(I(owl:datatypeComplementOf)) | ICEXT(z) = LV \ ICEXT(d) |
5.5 Semantic Conditions for Enumerations
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 data values is a datatype.
Informative notes: The first semantic condition is an "iff" condition, since the treated language construct has the status of both a class expression and an axiom of OWL 2. See the notes on the form of semantic conditions for further information on this topic. For the remaining semantic condition that treats the case of enumerations of data values it is sufficient to have an "if-then" condition, since a stronger "iff" condition would be obsoleted by the more general "iff" condition that already exists for individuals.
if s sequence of a_{1} , … , a_{n} ∈ IR then | |||
---|---|---|---|
〈 z , s 〉 ∈ IEXT(I(owl:oneOf)) | iff | z ∈ IC , ICEXT(z) = { a_{1} , … , a_{n} } | |
if | then | ||
s sequence of v_{1} , … , v_{n} ∈ LV , n ≥ 1 , 〈 z , s 〉 ∈ IEXT(I(owl:oneOf)) |
z ∈ IDC |
5.6 Semantic Conditions for Property Restrictions
Table 5.6 lists the semantic conditions for property restrictions.
Value restrictions require that some or all of the values of a certain property must be instances of a given class, or that the property has a specifically defined value. By placing a self restriction on some given property one only regards those individuals that are reflexively related to themselves via this property. Cardinality restrictions determine how often a certain property is allowed to be applied to a given individual. Qualified cardinality restrictions are more specific than cardinality restrictions in that they determine the quantity of a property application with respect to a particular class from which the property values are taken.
Informative notes: All the semantic conditions are "if-then" conditions, since the treated language constructs have the status of class expressions of OWL 2. The "if-then" conditions generally only list those consequences on their right hand side that are specific for the respective condition, i.e. consequences that do not already follow by other means. See the notes on the form of semantic conditions for further information on these topics. Note that the semantic condition for self restrictions does not constrain the right hand side of a owl:hasSelf assertion to be the boolean value "true"^^xsd:boolean. See Section 5.3 for an explanation.
if | then |
---|---|
〈 z , c 〉 ∈ IEXT(I(owl:someValuesFrom)) , 〈 z , p 〉 ∈ IEXT(I(owl:onProperty)) |
ICEXT(z) = { x | ∃ y : 〈 x , y 〉 ∈ IEXT(p) and y ∈ ICEXT(c) } |
s sequence of p_{1} , … , p_{n} ∈ IR , 〈 z , c 〉 ∈ IEXT(I(owl:someValuesFrom)) , 〈 z , s 〉 ∈ IEXT(I(owl:onProperties)) |
p_{1} , … , p_{n} ∈ IP , ICEXT(z) = { x | ∃ y_{1} , … , y_{n} : 〈 x , y_{k} 〉 ∈ IEXT(p_{k}) for each 1 ≤ k ≤ n and 〈 y_{1} , … , y_{n} 〉 ∈ ICEXT(c) } |
〈 z , c 〉 ∈ IEXT(I(owl:allValuesFrom)) , 〈 z , p 〉 ∈ IEXT(I(owl:onProperty)) |
ICEXT(z) = { x | ∀ y : 〈 x , y 〉 ∈ IEXT(p) implies y ∈ ICEXT(c) } |
s sequence of p_{1} , … , p_{n} ∈ IR , 〈 z , c 〉 ∈ IEXT(I(owl:allValuesFrom)) , 〈 z , s 〉 ∈ IEXT(I(owl:onProperties)) |
p_{1} , … , p_{n} ∈ IP , ICEXT(z) = { x | ∀ y_{1} , … , y_{n} : 〈 x , y_{k} 〉 ∈ IEXT(p_{k}) for each 1 ≤ k ≤ n implies 〈 y_{1} , … , y_{n} 〉 ∈ ICEXT(c) } |
〈 z , a 〉 ∈ IEXT(I(owl:hasValue)) , 〈 z , p 〉 ∈ IEXT(I(owl:onProperty)) |
ICEXT(z) = { x | 〈 x , a 〉 ∈ IEXT(p) } |
〈 z , v 〉 ∈ IEXT(I(owl:hasSelf)) , 〈 z , p 〉 ∈ IEXT(I(owl:onProperty)) |
ICEXT(z) = { x | 〈 x , x 〉 ∈ IEXT(p) } |
〈 z , n 〉 ∈ IEXT(I(owl:minCardinality)) , 〈 z , p 〉 ∈ IEXT(I(owl:onProperty)) |
ICEXT(z) = { x | #{ y | 〈 x , y 〉 ∈ IEXT(p) } ≥ n } |
〈 z , n 〉 ∈ IEXT(I(owl:maxCardinality)) , 〈 z , p 〉 ∈ IEXT(I(owl:onProperty)) |
ICEXT(z) = { x | #{ y | 〈 x , y 〉 ∈ IEXT(p) } ≤ n } |
〈 z , n 〉 ∈ IEXT(I(owl:cardinality)) , 〈 z , p 〉 ∈ IEXT(I(owl:onProperty)) |
ICEXT(z) = { x | #{ y | 〈 x , y 〉 ∈ IEXT(p) } = n } |
〈 z , n 〉 ∈ IEXT(I(owl:minQualifiedCardinality)) , 〈 z , p 〉 ∈ IEXT(I(owl:onProperty)) , 〈 z , c 〉 ∈ IEXT(I(owl:onClass)) |
ICEXT(z) = { x | #{ y | 〈 x , y 〉 ∈ IEXT(p) and y ∈ ICEXT(c) } ≥ n } |
〈 z , n 〉 ∈ IEXT(I(owl:minQualifiedCardinality)) , 〈 z , p 〉 ∈ IEXT(I(owl:onProperty)) , 〈 z , d 〉 ∈ IEXT(I(owl:onDataRange)) |
p ∈ IODP , ICEXT(z) = { x | #{ y ∈ LV | 〈 x , y 〉 ∈ IEXT(p) and y ∈ ICEXT(d) } ≥ n } |
〈 z , n 〉 ∈ IEXT(I(owl:maxQualifiedCardinality)) , 〈 z , p 〉 ∈ IEXT(I(owl:onProperty)) , 〈 z , c 〉 ∈ IEXT(I(owl:onClass)) |
ICEXT(z) = { x | #{ y | 〈 x , y 〉 ∈ IEXT(p) and y ∈ ICEXT(c) } ≤ n } |
〈 z , n 〉 ∈ IEXT(I(owl:maxQualifiedCardinality)) , 〈 z , p 〉 ∈ IEXT(I(owl:onProperty)) , 〈 z , d 〉 ∈ IEXT(I(owl:onDataRange)) |
p ∈ IODP , ICEXT(z) = { x | #{ y ∈ LV | 〈 x , y 〉 ∈ IEXT(p) and y ∈ ICEXT(d) } ≤ n } |
〈 z , n 〉 ∈ IEXT(I(owl:qualifiedCardinality)) , 〈 z , p 〉 ∈ IEXT(I(owl:onProperty)) , 〈 z , c 〉 ∈ IEXT(I(owl:onClass)) |
ICEXT(z) = { x | #{ y | 〈 x , y 〉 ∈ IEXT(p) and y ∈ ICEXT(c) } = n } |
〈 z , n 〉 ∈ IEXT(I(owl:qualifiedCardinality)) , 〈 z , p 〉 ∈ IEXT(I(owl:onProperty)) , 〈 z , d 〉 ∈ IEXT(I(owl:onDataRange)) |
p ∈ IODP , ICEXT(z) = { x | #{ y ∈ LV | 〈 x , y 〉 ∈ IEXT(p) and y ∈ ICEXT(d) } = n } |
5.7 Semantic Conditions for Datatype Restrictions
Table 5.7 lists the semantic conditions for datatype restrictions, which are used to define sub datatypes of existing datatypes by restricting the original datatype via a set of facet-value pairs. For information and an example on facets, see Section 3.4.
Note that if no facet-value pair is applied to a given datatype at all, then the resulting datatype will be equivalent to the original datatype. Note further that, if a facet-value pair is applied to a datatype without being a member of the datatype's facet space, then the ontology cannot be satisfied and will therefore be inconsistent. In particular, a datatype restriction with one or more specified facet-value pairs will result in an inconsistent ontology, if applied to a datatype having an empty facet space (usually, a non-empty facet space only exists for those datatypes belonging to the datatype map).
The set IFS is defined by IFS(d) := { 〈 I(F) , v 〉 | 〈 F , v 〉 ∈ FS(d) } , where d is a datatype, F is the IRI of a facet, and v is a value of the facet. This set corresponds to the facet space, FS, of d, as defined in Section 4.1, but rather consists of pairs of the denotation of a facet and its value.
The mapping IF2V is defined by IF2V(d)(〈 I(F) , v 〉) := F2V(d)(〈 F , v 〉) , where d is a datatype, F is the IRI of a facet, and v is a value of the facet. This mapping corresponds to the facet-to-value mapping, F2V, of d, as defined in Section 4.1, resulting in the same subsets of the value space VS(d), but rather applies to pairs of the denotation of a facet and its value.
Informative notes: The semantic condition is an "if-then" condition, since the treated language construct has the status of a datarange expression of OWL 2. The "if-then" condition only lists those consequences on its right hand side that are specific for the condition, i.e. consequences that do not already follow by other means. See the notes on the form of semantic conditions for further information on these topics.
if | then |
---|---|
s sequence of z_{1} , … , z_{n} ∈ IR , f_{1} , … , f_{n} ∈ IP , 〈 z , d 〉 ∈ IEXT(I(owl:onDatatype)) , 〈 z , s 〉 ∈ IEXT(I(owl:withRestrictions)) , 〈 z_{1} , v_{1} 〉 ∈ IEXT(f_{1}) , … , 〈 z_{n} , v_{n} 〉 ∈ IEXT(f_{n}) |
z , d ∈ IDC , f_{1} , … , f_{n} ∈ IODP , v_{1} , … , v_{n} ∈ LV , 〈 f_{1} , v_{1} 〉 , … , 〈 f_{n} , v_{n} 〉 ∈ IFS(d) , ICEXT(z) = ICEXT(d) ∩ IF2V(d)(〈 f_{1} , v_{1} 〉) ∩ … ∩ IF2V(d)(〈 f_{n} , v_{n} 〉) |
5.8 Semantic Conditions for the RDFS Vocabulary
Table 5.8 extends the semantic conditions for parts of the RDFS vocabulary, including subclass axioms, subproperty axioms, domain axioms and range axioms, as originally defined in Section 4.1 of [RDF Semantics]. Only the additional semantic conditions are given here and the other conditions on the RDF and RDFS vocabularies are retained.
Informative notes: All the semantic conditions are "iff" conditions, since the treated language constructs have the status of axioms of OWL 2. See the notes on the form of semantic conditions for further information on this topic. Note that the original semantics for these RDFS axioms only provide for weaker "if-then" semantic conditions.
〈 c_{1} , c_{2} 〉 ∈ IEXT(I(rdfs:subClassOf)) | iff | c_{1} , c_{2} ∈ IC , ICEXT(c_{1}) ⊆ ICEXT(c_{2}) |
---|---|---|
〈 p_{1} , p_{2} 〉 ∈ IEXT(I(rdfs:subPropertyOf)) | p_{1} , p_{2} ∈ IP , IEXT(p_{1}) ⊆ IEXT(p_{2}) | |
〈 p , c 〉 ∈ IEXT(I(rdfs:domain)) | p ∈ IP , c ∈ IC , ∀ x , y : 〈 x , y 〉 ∈ IEXT(p) implies x ∈ ICEXT(c) | |
〈 p , c 〉 ∈ IEXT(I(rdfs:range)) | p ∈ IP , c ∈ IC , ∀ x , y : 〈 x , y 〉 ∈ IEXT(p) implies y ∈ ICEXT(c) |
5.9 Semantic Conditions for Equivalence and Disjointness Axioms
Table 5.9 lists the semantic conditions for specifying that two individuals are equal or different from each other, and that either two classes or two properties are equivalent or disjoint with each other. Also treated here are disjoint union axioms that allow for stating that a given class is equivalent to the union of a given collection of mutually disjoint classes.
Informative notes: All the semantic conditions are "iff" conditions, since the treated language constructs have the status of axioms of OWL 2. See the notes on the form of semantic conditions for further information on this topic.
〈 a_{1} , a_{2} 〉 ∈ IEXT(I(owl:sameAs)) | iff | a_{1} = a_{2} |
---|---|---|
〈 a_{1} , a_{2} 〉 ∈ IEXT(I(owl:differentFrom)) | a_{1} ≠ a_{2} | |
〈 c_{1} , c_{2} 〉 ∈ IEXT(I(owl:equivalentClass)) | c_{1} , c_{2} ∈ IC , ICEXT(c_{1}) = ICEXT(c_{2}) | |
〈 c_{1} , c_{2} 〉 ∈ IEXT(I(owl:disjointWith)) | c_{1} , c_{2} ∈ IC , ICEXT(c_{1}) ∩ ICEXT(c_{2}) = ∅ | |
〈 p_{1} , p_{2} 〉 ∈ IEXT(I(owl:equivalentProperty)) | p_{1} , p_{2} ∈ IP , IEXT(p_{1}) = IEXT(p_{2}) | |
〈 p_{1} , p_{2} 〉 ∈ IEXT(I(owl:propertyDisjointWith)) | p_{1} , p_{2} ∈ IP , IEXT(p_{1}) ∩ IEXT(p_{2}) = ∅ | |
if s sequence of c_{1} , … , c_{n} ∈ IR then | ||
〈 c , s 〉 ∈ IEXT(I(owl:disjointUnionOf)) | iff | c , c_{1} , … , c_{n} ∈ IC , ICEXT(c) = ICEXT(c_{1}) ∪ … ∪ ICEXT(c_{n}) , ICEXT(c_{j}) ∩ ICEXT(c_{k}) = ∅ for each 1 ≤ j ≤ n and each 1 ≤ k ≤ n such that j ≠ k |
5.10 Semantic Conditions for N-ary Axioms
Table 5.10 lists the semantic conditions for specifying n-ary axioms, i.e. that several individuals are mutually different from each other, and that either several classes or several properties are mutually disjoint with each other.
Note that there are two alternative ways to specify owl:AllDifferent axioms, by using either the property owl:members that is used for all other constructs, too, or by applying the legacy property owl:distinctMembers. There is no difference in the formal meaning of these two variants.
Informative notes: The semantic conditions essentially represent "iff" conditions, since the treated language constructs have the status of axioms of OWL 2. However, there are actually two such semantic conditions for each language construct, due to the multi-triple RDF encoding of these language constructs. The actual "if-then" conditions only list those consequences on their right hand side that are specific for the respective condition, i.e. consequences that do not already follow by other means. See the notes on the form of semantic conditions for further information on these topics.
if | then |
---|---|
s sequence of a_{1} , … , a_{n} ∈ IR , z ∈ ICEXT(I(owl:AllDifferent)) , 〈 z , s 〉 ∈ IEXT(I(owl:distinctMembers)) |
a_{j} ≠ a_{k} for each 1 ≤ j ≤ n and each 1 ≤ k ≤ n such that j ≠ k |
if | then exists z ∈ IR |
s sequence of a_{1} , … , a_{n} ∈ IR , a_{j} ≠ a_{k} for each 1 ≤ j ≤ n and each 1 ≤ k ≤ n such that j ≠ k |
z ∈ ICEXT(I(owl:AllDifferent)) , 〈 z , s 〉 ∈ IEXT(I(owl:distinctMembers)) |
if | then |
s sequence of a_{1} , … , a_{n} ∈ IR , z ∈ ICEXT(I(owl:AllDifferent)) , 〈 z , s 〉 ∈ IEXT(I(owl:members)) |
a_{j} ≠ a_{k} for each 1 ≤ j ≤ n and each 1 ≤ k ≤ n such that j ≠ k |
if | then exists z ∈ IR |
s sequence of a_{1} , … , a_{n} ∈ IR , a_{j} ≠ a_{k} for each 1 ≤ j ≤ n and each 1 ≤ k ≤ n such that j ≠ k |
z ∈ ICEXT(I(owl:AllDifferent)) , 〈 z , s 〉 ∈ IEXT(I(owl:members)) |
if | then |
s sequence of c_{1} , … , c_{n} ∈ IR , z ∈ ICEXT(I(owl:AllDisjointClasses)) , 〈 z , s 〉 ∈ IEXT(I(owl:members)) |
c_{1} , … , c_{n} ∈ IC , ICEXT(c_{j}) ∩ ICEXT(c_{k}) = ∅ for each 1 ≤ j ≤ n and each 1 ≤ k ≤ n such that j ≠ k |
if | then exists z ∈ IR |
s sequence of c_{1} , … , c_{n} ∈ IC , ICEXT(c_{j}) ∩ ICEXT(c_{k}) = ∅ for each 1 ≤ j ≤ n and each 1 ≤ k ≤ n such that j ≠ k |
z ∈ ICEXT(I(owl:AllDisjointClasses)) , 〈 z , s 〉 ∈ IEXT(I(owl:members)) |
if | then |
s sequence of p_{1} , … , p_{n} ∈ IR , z ∈ ICEXT(I(owl:AllDisjointProperties)) , 〈 z , s 〉 ∈ IEXT(I(owl:members)) |
p_{1} , … , p_{n} ∈ IP , IEXT(p_{j}) ∩ IEXT(p_{k}) = ∅ for each 1 ≤ j ≤ n and each 1 ≤ k ≤ n such that j ≠ k |
if | then exists z ∈ IR |
s sequence of p_{1} , … , p_{n} ∈ IP , IEXT(p_{j}) ∩ IEXT(p_{k}) = ∅ for each 1 ≤ j ≤ n and each 1 ≤ k ≤ n such that j ≠ k |
z ∈ ICEXT(I(owl:AllDisjointProperties)) , 〈 z , s 〉 ∈ IEXT(I(owl:members)) |
5.11 Semantic Conditions for Sub Property Chains
Table 5.11 lists the semantic conditions for sub property chains, which allow for specifying complex property subsumption axioms.
As an example, one can define a sub property chain axiom, for which the chain consisting of the extensions of the properties ex:hasFather and ex:hasBrother is covered by the extension of the property ex:hasUncle.
Informative notes: The semantic condition is an "iff" condition, since the treated language construct has the status of an axiom of OWL 2. See the notes on the form of semantic conditions for further information on this topic. The semantics has been specified in a way to allow for a sub property chain axiom to be satisfiable without requiring the existence of a property that represents the property chain.
if s sequence of p_{1} , … , p_{n} ∈ IR then | ||
---|---|---|
〈 p , s 〉 ∈ IEXT(I(owl:propertyChainAxiom)) | iff | p ∈ IP , p_{1} , … , p_{n} ∈ IP , ∀ y_{0} , … , y_{n} : 〈 y_{0} , y_{1} 〉 ∈ IEXT(p_{1}) and … and 〈 y_{n-1} , y_{n} 〉 ∈ IEXT(p_{n}) implies 〈 y_{0} , y_{n} 〉 ∈ IEXT(p) |
5.12 Semantic Conditions for Inverse Property Axioms
Table 5.12 lists the semantic conditions for inverse property axioms. The inverse of a given property is the corresponding property with subject and object swapped for each property assertion built from it.
Informative notes: The semantic condition is an "iff" condition, since the treated language construct has the status of an axiom of OWL 2. See the notes on the form of semantic conditions for further information on this topic.
〈 p_{1} , p_{2} 〉 ∈ IEXT(I(owl:inverseOf)) | iff | p_{1} , p_{2} ∈ IP , IEXT(p_{1}) = { 〈 x , y 〉 | 〈 y , x 〉 ∈ IEXT(p_{2}) } |
---|
5.13 Semantic Conditions for Property Characteristics
Table 5.13 lists the semantic conditions for property characteristics.
If a property is functional, then at most one distinct value can be assigned to any given individual via this property. An inverse functional property can be regarded as a "key" property, i.e. no two different individuals can be assigned the same value via this property. A reflexive property relates every individual in the universe to itself, whereas an irreflexive property does not relate any individual with itself at all. If two individuals are related by a symmetric property, then this property also relates them by the reverse relationship, while this is never the case for an asymmetric property. A transitive property that relates an individual a with an individual b, and the latter with an individual c, also relates a with c.
Informative notes: All the semantic conditions are "iff" conditions, since the treated language constructs have the status of axioms of OWL 2. See the notes on the form of semantic conditions for further information on this topic.
p ∈ ICEXT(I(owl:FunctionalProperty)) | iff | p ∈ IP , ∀ x , y_{1} , y_{2} : 〈 x , y_{1} 〉 ∈ IEXT(p) and 〈 x , y_{2} 〉 ∈ IEXT(p) implies y_{1} = y_{2} |
---|---|---|
p ∈ ICEXT(I(owl:InverseFunctionalProperty)) | p ∈ IP , ∀ x_{1} , x_{2} , y : 〈 x_{1} , y 〉 ∈ IEXT(p) and 〈 x_{2} , y 〉 ∈ IEXT(p) implies x_{1} = x_{2} | |
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) implies 〈 y , x 〉 ∈ IEXT(p) | |
p ∈ ICEXT(I(owl:AsymmetricProperty)) | p ∈ IP , ∀ x , y : 〈 x , y 〉 ∈ IEXT(p) implies 〈 y , x 〉 ∉ IEXT(p) | |
p ∈ ICEXT(I(owl:TransitiveProperty)) | p ∈ IP , ∀ x , y , z : 〈 x , y 〉 ∈ IEXT(p) and 〈 y , z 〉 ∈ IEXT(p) implies 〈 x , z 〉 ∈ IEXT(p) |
5.14 Semantic Conditions for Keys
Table 5.14 lists the semantic conditions for Keys.
Keys provide an alternative to inverse functional properties (see Section 5.13). They allow for defining a property as a key local to a given class: the specified property will have the features of a key only for individuals within the class, and no assumption is made about individuals external to the class, or for which it is unknown whether they are instances of the class. Further, it is possible to define "compound keys", i.e. several properties can be combined into a single key applicable to composite values. Please note that Keys are not functional by default under the OWL 2 RDF-Based Semantics.
Informative notes: The semantic condition is an "iff" condition, since the treated language construct has the status of an axiom of OWL 2. See the notes on the form of semantic conditions for further information on this topic.
if s sequence of p_{1} , … , p_{n} ∈ IR then | ||
---|---|---|
〈 c , s 〉 ∈ IEXT(I(owl:hasKey)) | iff | c ∈ IC , p_{1} , … , p_{n} ∈ IP , ∀ x , y , z_{1} , … , z_{n} : if x ∈ ICEXT(c) and y ∈ ICEXT(c) and 〈 x , z_{k} 〉 ∈ IEXT(p_{k}) and 〈 y , z_{k} 〉 ∈ IEXT(p_{k}) for each 1 ≤ k ≤ n then x = y |
5.15 Semantic Conditions for Negative Property Assertions
Table 5.15 lists the semantic conditions for negative property assertions. They allow to state that an individual a_{1} does not stand in a relationship p with another individual a_{2}.
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 Section 5.3.
Informative notes: The semantic conditions essentially represent "iff" conditions, since the treated language constructs have the status of axioms of OWL 2. However, there are actually two such semantic conditions for each language construct, due to the multi-triple RDF encoding of these language constructs. The actual "if-then" conditions only list those consequences on their right hand side that are specific for the respective condition, i.e. consequences that do not already follow by other means. See the notes on the form of semantic conditions for further information on these topics.
if | then |
---|---|
〈 z , a_{1} 〉 ∈ IEXT(I(owl:sourceIndividual)) , 〈 z , p 〉 ∈ IEXT(I(owl:assertionProperty)) , 〈 z , a_{2} 〉 ∈ IEXT(I(owl:targetIndividual)) |
〈 a_{1} , a_{2} 〉 ∉ IEXT(p) |
if | then exists z ∈ IR |
a_{1} ∈ IR , p ∈ IP , a_{2} ∈ IR , 〈 a_{1} , a_{2} 〉 ∉ IEXT(p) |
〈 z , a_{1} 〉 ∈ IEXT(I(owl:sourceIndividual)) , 〈 z , p 〉 ∈ IEXT(I(owl:assertionProperty)) , 〈 z , a_{2} 〉 ∈ IEXT(I(owl:targetIndividual)) |
if | then |
〈 z , a 〉 ∈ IEXT(I(owl:sourceIndividual)) , 〈 z , p 〉 ∈ IEXT(I(owl:assertionProperty)) , 〈 z , v 〉 ∈ IEXT(I(owl:targetValue)) |
p ∈ IODP , 〈 a , v 〉 ∉ IEXT(p) |
if | then exists z ∈ IR |
a ∈ IR , p ∈ IODP , v ∈ LV , 〈 a , v 〉 ∉ IEXT(p) |
〈 z , a 〉 ∈ IEXT(I(owl:sourceIndividual)) , 〈 z , p 〉 ∈ IEXT(I(owl:assertionProperty)) , 〈 z , v 〉 ∈ IEXT(I(owl:targetValue)) |
6 Appendix: Axiomatic Triples (Informative)
The RDF Semantics specification [RDF Semantics] defines so called "axiomatic triples" as part of the semantics of RDF and RDFS. Unlike the RDF Semantics, the OWL 2 RDF-Based Semantics does not provide any axiomatic triples. It might not be possible to give a set of RDF triples that captures all "axiomatic aspects" of the OWL 2 RDF-Based Semantics, just as one cannot expect to define the whole OWL 2 RDF-Based Semantics specification in terms of RDF entailment rules only. Furthermore, axiomatic triples for the OWL 2 RDF-Based Semantics could, in principle, contain arbitrarily complex class or property expressions, e.g. the union of several classes, and by this it becomes non-obvious which one of several possible inequivalent sets of axiomatic triples should be selected. However, the OWL 2 RDF-Based Semantics includes many semantic conditions that can in a sense be regarded to be "axiomatic", and thus can be considered a replacement for the missing axiomatic triples. After an overview on axiomatic triples for RDF and RDFS in Section 6.1, the Sections 6.2 and 6.3 will discuss how the "axiomatic" semantic conditions of the OWL 2 RDF-Based Semantics relate to axiomatic triples, resulting in an example set of axiomatic triples that is compatible with the OWL 2 RDF-Based Semantics.
6.1 Axiomatic Triples in RDF
In RDF and RDFS [RDF Semantics], axiomatic triples are used to provide basic meaning to all the vocabulary terms of the respective language. This formal meaning is independent of any given RDF graph, and it even holds for vocabulary terms, which do not occur in a graph that is interpreted by an RDF or RDFS interpretation. As a consequence, all the axiomatic triples of RDF and RDFS are entailed by the empty graph, when being interpreted under the semantics of RDF or RDFS, respectively.
Examples of RDF and RDFS axiomatic triples are:
(1) rdf:type rdf:type rdf:Property .
(2) rdf:type rdfs:domain rdfs:Resource .
(3) rdf:type rdfs:range rdfs:Class .
(4) rdfs:Datatype rdfs:subClassOf rdfs:Class .
(5) rdfs:isDefinedBy rdfs:subPropertyOf rdfs:seeAlso .
As shown by these examples, axiomatic triples are typically used by the RDF Semantics specification to determine the part of the universe the denotation of a vocabulary term belongs to (1). In the case of a property, the domain (2) and range (3) is specified as well. Also, in some cases, hierarchical relationships between classes (4) or properties (5) of the vocabulary are determined by axiomatic triples.
Under the OWL 2 RDF-Based Semantics, all the axiomatic triples of RDF and RDFS could, in principle, be replaced by "axiomatic" semantic conditions that have neither premises nor bound variables. By specifically applying the semantic conditions for the RDFS vocabulary given in Section 5.8, the example axiomatic triples (1) – (5) can be equivalently restated as:
I(rdf:type) ∈ ICEXT(I(rdf:Property)) ,
IEXT(I(rdf:type)) ⊆ ICEXT(I(rdfs:Resource)) × ICEXT(I(rdfs:Class)) ,
ICEXT(I(rdfs:Datatype)) ⊆ ICEXT(I(rdfs:Class)) ,
IEXT(I(rdfs:isDefinedBy)) ⊆ IEXT(I(rdfs:seeAlso)) .
All the axiomatic triples of RDF and RDFS can be considered "simple" in the sense that they have in their object position only single terms from the RDF and RDFS vocabularies, and no complex class or property expressions can appear there.
6.2 Axiomatic Triples for the Classes of the RDF-Based Semantics
The semantic conditions for Classes in Section 5.2 can be considered as corresponding to a set of axiomatic triples for the classes of the OWL 2 RDF-Based Semantics.
First, for each IRI E occurring in the first column of Table 5.2, which specifies the semantic conditions for classes, if the second column contains an entry of the form "I(E) ∈ S" for some set S, then this entry corresponds to some RDF triple of the form "E rdf:type C", where C is the IRI of some class with ICEXT(I(C)) = S. In the table, S will always be either the part IC of all classes, or some sub part of IC. Hence, in a corresponding RDF triple the IRI C will typically be one of "rdfs:Class", "owl:Class" (S=IC in both cases) or "rdfs:Datatype" (S=IDC).
For example, the semantic condition for the IRI "owl:FunctionalProperty", given by
I(owl:FunctionalProperty) ∈ IC ,
would have the corresponding axiomatic triple
owl:FunctionalProperty rdf:type rdfs:Class .
Further, for each IRI E in the first column of the table, if the third column contains an entry of the form "ICEXT(I(E)) ⊆ S" (or "ICEXT(I(E)) = S") for some set S, then this entry corresponds to some RDF triple of the form "E rdfs:subClassOf C" (or "E owl:equivalentClass C"), where C is the IRI of some class with ICEXT(I(C)) = S. In every case, S will be either one of the parts of the universe of I or the empty set.
For example, the semantic condition
ICEXT(I(owl:FunctionalProperty)) ⊆ IP
would have the corresponding axiomatic triple
owl:FunctionalProperty rdfs:subClassOf rdf:Property .
In addition, the semantic conditions for the parts of the universe in Section 5.1 have to be taken into account. In particular, if an entry in the second column of Table 5.1, which specifies the semantic conditions for the parts of the universe, is of the form "S_{1} ⊆ S_{2}" for some sets S_{1} and S_{2}, then this corresponds to some RDF triple of the form "C_{1} owl:subClassOf C_{2}", where C_{1} and C_{2} are the IRIs of some classes with ICEXT(I(C_{1})) = S_{1} and ICEXT(I(C_{2})) = S_{2}, respectively, according to Section 5.2.
Just as stated in Section 6.1 for the RDF axiomatic triples, all the axiomatic triples for classes can be considered "simple" in the sense that they will have in their object position only single terms from the RDF, RDFS and OWL 2 RDF-Based vocabularies (Section 3.2).
Note that some of the axiomatic triples obtained in this way already follow from the semantics of RDF and RDFS, as defined in [RDF Semantics].
6.3 Axiomatic Triples for the Properties of the RDF-Based Semantics
The semantic conditions for Properties in Section 5.3 can be considered as corresponding to a set of axiomatic triples for the properties of the OWL 2 RDF-Based Semantics.
First, for each IRI E occurring in the first column of Table 5.3, which specifies the semantic conditions for properties, if the second column contains an entry of the form "I(E) ∈ S" for some set S, then this entry corresponds to some RDF triple of the form "E rdf:type C", where C is the IRI of some class with ICEXT(I(C)) = S. In the table, S will always be either the part IP of all properties, or some sub part of IP. Hence, in a corresponding RDF triple the IRI C will typically be one of "rdf:Property", "owl:ObjectProperty", (S=IP in both cases), "owl:DatatypeProperty" (S=IODP), "owl:AnnotationProperty" (S=IOAP) or "owl:OntologyProperty" (S=IOXP).
For example, the semantic condition for the IRI "owl:disjointWith", given by
I(owl:disjointWith) ∈ IP ,
would have the corresponding axiomatic triple
owl:disjointWith rdf:type rdf:Property .
Further, for each IRI E in the first column of the table, if the third column contains an entry of the form "IEXT(I(E)) ⊆ S_{1} × S_{2}" for some sets S_{1} and S_{2}, then this entry corresponds to some RDF triples of the forms "E rdfs:domain C_{1}" and "E rdfs:range C_{2}", where C_{1} and C_{2} are the IRIs of some classes with ICEXT(I(C_{1})) = S_{1} and ICEXT(I(C_{2})) = S_{2}, respectively. Note that the sets S_{1} and S_{2} do not always correspond to any of the parts of the universe of I.
For example, the semantic condition
IEXT(I(owl:disjointWith)) ⊆ IC × IC
would have the corresponding axiomatic triples
owl:disjointWith rdfs:domain rdfs:Class .
owl:disjointWith rdfs:range rdfs:Class .
Exceptions are the semantic conditions "IEXT(I(owl:topObjectProperty)) = IR × IR" and "IEXT(I(owl:topDataProperty)) = IR × LV", since the exactly specified property extensions of these properties cannot be expressed solely by domain and range axiomatic triples. For example, the domain and range axiomatic triples for owl:sameAs are equal to those for owl:topObjectProperty, but the property extension of owl:sameAs is different from that of owl:topObjectProperty.
Just as stated in Section 6.1 for the RDF axiomatic triples, all the axiomatic triples for properties can be considered "simple" in the sense that they will have in their object position only single terms from the RDF, RDFS and OWL 2 RDF-Based vocabularies (Section 3.2).
7 Appendix: Relationship to the Direct Semantics (Informative)
This section compares the OWL 2 RDF-Based Semantics with the OWL 2 Direct Semantics [OWL 2 Direct Semantics]. While the OWL 2 RDF-Based Semantics is based on the RDF Semantics specification [RDF Semantics], the OWL 2 Direct Semantics is a description logic style semantics. Several fundamental differences exist between the two semantics, but there is also a strong relationship basically stating that the OWL 2 RDF-Based Semantics is able to reflect all logical conclusions of the OWL 2 Direct Semantics. This means that the OWL 2 Direct Semantics can in a sense be regarded as a sub semantics of the OWL 2 RDF-Based Semantics.
Technically, the comparison will be performed by comparing the sets of entailments that hold for each of the two semantics, respectively. The definition of an OWL 2 RDF-Based entailment was given in Section 4.3 of this document, while the definition of an OWL 2 Direct entailment is provided in Section 2.5 of [OWL 2 Direct Semantics]. In both cases, entailments are defined for pairs of ontologies, and such an ordered pair of two ontologies will be called an entailment query in this section.
Comparing the two semantics by means of entailments will only be meaningful if the entailment queries allow for applying both the OWL 2 RDF-Based Semantics and the OWL 2 Direct Semantics to them. In order to ensure this, the comparison will be restricted to entailment queries, for which the left-hand side and right-hand side ontologies are both OWL 2 DL ontologies in RDF graph form. These are RDF graphs that can be transformed by applying the reverse OWL 2 RDF mapping [OWL 2 RDF Mapping] into corresponding OWL 2 DL ontologies in Functional Syntax form according to the Functional style syntax defined in [OWL 2 Specification], and which must further meet all the restrictions on OWL 2 DL ontologies that are specified in Section 3 of [OWL 2 Specification]. In fact, these restrictions must be mutually met by both ontologies that occur in an entailment query, i.e. all these restrictions need to be satisfied as if the two ontologies would be part of a single ontology. Any entailment query that adheres to the conditions defined here will be called an OWL 2 DL entailment query.
Ideally, the relationship between the OWL 2 RDF-Based Semantics and the OWL 2 Direct Semantics would be of the form that every OWL 2 DL entailment query that is an OWL 2 Direct entailment is also an OWL 2 RDF-Based entailment. However, this desirable relationship cannot hold in general due to a variety of differences that exist between the OWL 2 RDF-Based Semantics and the OWL 2 Direct Semantics, as demonstrated in Section 7.1.
Fortunately, the problems resulting from these semantic differences can be overcome in a way that for every OWL 2 DL entailment query there is another one for which the desired entailment relationship indeed holds, and the new entailment query is semantically equivalent to the original entailment query under the OWL 2 Direct Semantics. This is the gist of the the OWL 2 Correspondence Theorem, which will be presented in Section 7.2. The proof of this theorem, given in Section 7.3, will further demonstrate that such a substitute OWL 2 DL entailment query can always be algorithmically constructed by means of simple syntactic transformations.
7.1 Semantic Differences
This section will show that differences exist between the OWL 2 RDF-Based Semantics and the OWL 2 Direct Semantics, and it will be demonstrated how these semantic differences complicate a comparison of the two semantics in terms of entailments. An example OWL 2 DL entailment query will be given, which will happen to be an OWL 2 Direct entailment without being an OWL 2 RDF-Based entailment. The section will explain the different reasons and will provide a resolution of each of them. It will turn out that the example entailment query can be syntactically transformed into another OWL 2 DL entailment query that is both an OWL 2 Direct entailment and an OWL 2 RDF-Based entailment, while being semantically unchanged compared to the original entailment query under the OWL 2 Direct Semantics. This example will motivate the OWL 2 Correspondence Theorem in Section 7.2 and its proof in Section 7.3.
The example entailment query consists of the following pair 〈 G_{1}^{*} , G_{2}^{*} 〉 of RDF graphs:
G_{1}^{*} :
(1) ex:o1 rdf:type owl:Ontology .
(2) ex:c1 rdf:type owl:Class .
(3) ex:c2 rdf:type owl:Class .
(4) ex:c1 rdfs:subClassOf ex:c2 .
G_{2}^{*} :
(1) ex:o2 rdf:type owl:Ontology .
(2) ex:c1 rdf:type owl:Class .
(3) ex:c2 rdf:type owl:Class .
(4) ex:c3 rdf:type owl:Class .
(5) ex:c1 rdfs:subClassOf _:x .
(6) _:x rdf:type owl:Class .
(7) _:x owl:unionOf ( ex:c2 ex:c3 ) .
(8) ex:c3 rdfs:label "c3" .
Both G_{1}^{*} and G_{2}^{*} are OWL 2 DL ontologies in RDF graph form and can therefore be mapped by the reverse RDF Mapping [OWL 2 RDF Mapping] into the following two OWL 2 DL ontologies in Functional Syntax form F(G_{1}^{*}) and F(G_{2}^{*}):
F(G_{1}^{*}) :
(1) Ontology( ex:o1
(2) Declaration( Class( ex:c1 ) )
(3) Declaration( Class( ex:c2 ) )
(4) SubClassOf( ex:c1 ex:c2 )
(5) )
F(G_{2}^{*}) :
(1) Ontology( ex:o2
(2) Declaration( Class( ex:c1 ) )
(3) Declaration( Class( ex:c2 ) )
(4) Declaration( Class( ex:c3 ) )
(5) SubClassOf( ex:c1 ObjectUnionOf( ex:c2 ex:c3 ) )
(6) AnnotationAssertion( rdfs:label ex:c3 "c3" )
(7) )
It follows that F(G_{1}^{*}) OWL 2 Direct entails F(G_{2}^{*}). To show this, only the axioms (4) of F(G_{1}^{*}) and (5) of F(G_{2}^{*}) have to be considered. None of the other statements in the two ontologies are relevant for this OWL 2 Direct entailment to hold, since they do not have a formal meaning under the OWL 2 Direct Semantics. However, it turns out that the RDF graph G_{1}^{*} does not OWL 2 RDF-Based entail G_{2}^{*}, for reasons discussed in detail now.
Reason 1: An annotation in F(G_{2}^{*}). The ontology F(G_{2}^{*}) contains an annotation (6). The OWL 2 Direct Semantics does not give a formal meaning to annotations. In contrast, under the OWL 2 RDF-Based Semantics every RDF triple occurring in an RDF graph has a formal meaning, including the corresponding annotation triple (8) in G_{2}^{*}. Since this annotation triple only occurs in G_{2}^{*} but not in G_{1}^{*}, there will exist OWL 2 RDF-Based interpretations that satisfy G_{1}^{*} without satisfying triple (8) of G_{2}^{*}. Hence, G_{1}^{*} does not OWL 2 RDF-Based entail G_{2}^{*}.
Resolution of Reason 1. The annotation triple (8) in G_{2}^{*} will be removed, which will avoid requiring OWL 2 RDF-Based interpretations to interpret this triple. The changed RDF graphs will still be OWL 2 DL ontologies in RDF graph form, since annotations are strictly optional in OWL 2 DL ontologies. Also, this operation will not change the formal meaning of the ontologies under the OWL 2 Direct Semantics, since annotations do not have a formal meaning under this semantics.
Reason 2: An entity declaration exclusively in F(G_{2}^{*}). The ontology F(G_{2}^{*}) contains an entity declaration for the class IRI ex:c3 (4), for which there is no corresponding entity declaration in F(G_{1}^{*}). The OWL 2 Direct Semantics does not give a formal meaning to entity declarations, while the OWL 2 RDF-Based Semantics gives a formal meaning to the corresponding declaration triple (4) in G_{2}^{*}. The consequences are analog to those described for reason 1.
Resolution of Reason 2. The declaration triple (4) in G_{2}^{*} will be copied to G_{1}^{*}. An OWL 2 RDF-Based interpretation that satisfies the modified graph G_{1}^{*} will then also satisfy the declaration triple. The changed RDF graphs will still be OWL 2 DL ontologies in RDF graph form, since adding the entity declaration does not hurt any of the restrictions on OWL 2 DL ontologies. Also, this operation will not change the formal meaning of the ontologies under the OWL 2 Direct Semantics, since entity declarations do not have a formal meaning under this semantics.
Reason 3: Different ontology IRIs in F(G_{1}^{*}) and F(G_{2}^{*}). The ontology IRIs for the two ontologies, given by (1) in F(G_{1}^{*}) and by (1) in F(G_{2}^{*}), differ from each other. The OWL 2 Direct Semantics does not give a formal meaning to ontology headers, while the OWL 2 RDF-Based Semantics gives a formal meaning to the corresponding header triples (1) in G_{1}^{*} and (1) in G_{2}^{*}. Since these header triples differ from each other, the consequences are analog to those described for reason 1.
Resolution of Reason 3. The IRI in the subject position of the header triple (1) in G_{2}^{*} is changed into a blank node. Due to the existential semantics of blank nodes under the OWL 2 RDF-Based Semantics this new triple will then be entailed by triple (1) in G_{1}^{*}. The changed RDF graphs will still be OWL 2 DL ontologies in RDF graph form, since an ontology IRI is optional for an OWL 2 DL ontology. (Note, however, that it would have been an error to simply remove triple (1) from G_{2}^{*}, since an OWL 2 DL ontology is required to contain an ontology header.) Also, this operation will not change the formal meaning of the ontologies under the OWL 2 Direct Semantics, since ontology headers do not have a formal meaning under this semantics.
Reason 4: A class expression in F(G_{2}^{*}). Axiom (5) of F(G_{2}^{*}) contains a class expression that represents the union of the two classes denoted by ex:c2 and ex:c3. Within G_{2}^{*}, this class expression is represented by the triples (6) and (7), both having the blank node "_:x" in their respective subject position. The way the OWL 2 RDF-Based Semantics interprets these two triples differs from the way the OWL 2 Direct Semantics treats the class expression in axiom (5) of F(G_{2}^{*}).
The OWL 2 Direct Semantics treats classes as sets, i.e. subsets of the universe. Thus, the IRIs ex:c2 and ex:c3 in F(G_{2}^{*}) denote two sets, and the class expression in axiom (5) of F(G_{2}^{*}) therefore represents the set that consists of the union of these two sets.
The OWL 2 RDF-Based Semantics, on the other hand, treats classes as individuals, i.e. members of the universe. While every class under the OWL 2 RDF-Based Semantics represents a certain subset of the universe, namely its class extension, this set is actually distinguished from the class itself. For two given classes it is ensured under the OWL 2 RDF-Based Semantics, just as for the OWL 2 Direct Semantics, that the union of their class extensions will always exist as a subset of the universe. However, there is no guarantee that there will also exist an individual in the universe that has this set union as its class extension.
Under the OWL 2 RDF-Based Semantics, triple (7) of G_{2}^{*} claims that a class exists being the union of two other classes. But since the existence of such a union class is not ensured by G_{1}^{*}, there will be OWL 2 RDF-Based interpretations that satisfy G_{1}^{*} without satisfying triple (7) of G_{2}^{*}. Hence, G_{1}^{*} does not OWL 2 RDF-Based entail G_{2}^{*}.
Resolution of Reason 4. The triples (6) and (7) of G_{2}^{*} are copied to G_{1}^{*} together with the new triple "_:x owl:equivalentClass _:x". If an OWL 2 RDF-Based interpretation satisfies the modified graph G_{1}^{*}, then the triples (6) and (7) of G_{2}^{*} will also be satisfied. The changed RDF graphs will still be OWL 2 DL ontologies in RDF graph form, since the whole set of added triples encodes a proper OWL 2 DL axiom. Further, for the IRI ex:c3, which occurs in the union class expression but not in G_{1}^{*}, an entity declaration is added to G_{1}^{*} by the resolution of reason 2. Also, this operation will not change the formal meaning of the ontologies under the OWL 2 Direct Semantics, since the added equivalence axiom is a tautology under this semantics.
Note that it would have been an error to simply copy the triples (6) and (7) of G_{2}^{*} to G_{1}^{*}, without also adding the new triple "_:x owl:equivalentClass _:x". This would have produced a class expression that has no connection to any axiom in the ontology. An OWL 2 DL ontology is basically a set of axioms and does not allow for the occurrence of "dangling" class expressions. This is the reason for actually "embedding" the class expression in an axiom. It would have also been wrong to use an arbitrary axiom for such an embedding, since it has to be ensured that the formal meaning of the original ontology does not change under the OWL 2 Direct Semantics. However, any tautological axiom that contains the original class expression would have been sufficient for this purpose as well.
Complete Resolution: The transformed entailment query.
Combining the resolutions of all the above reasons leads to the following new pair of RDF graphs 〈 G_{1} , G_{2} 〉:
G_{1} :
(1) ex:o1 rdf:type owl:Ontology .
(2) ex:c1 rdf:type owl:Class .
(3) ex:c2 rdf:type owl:Class .
(4) ex:c3 rdf:type owl:Class .
(5) ex:c1 rdfs:subClassOf ex:c2 .
(6) _:x owl:equivalentClass _:x .
(7) _:x rdf:type owl:Class .
(8) _:x owl:unionOf ( ex:c2 ex:c3 ) .
G_{2} :
(1) _:o rdf:type owl:Ontology .
(2) ex:c1 rdf:type owl:Class .
(3) ex:c2 rdf:type owl:Class .
(4) ex:c3 rdf:type owl:Class .
(5) ex:c1 rdfs:subClassOf _:x .
(6) _:x rdf:type owl:Class .
(7) _:x owl:unionOf ( ex:c2 ex:c3 ) .
The following list reiterates the changes compared to the original RDF graphs G_{1}^{*} and G_{2}^{*}:
- Resolution of Reason 1 (annotation): Triple (8) in G_{2}^{*} has been removed, i.e. there is no corresponding annotation triple in G_{2}.
- Resolution of Reason 2 (entity declaration): Triple (4) in G_{2}^{*} has been copied to G_{1}^{*}, becoming triple (4) in G_{1}.
- Resolution of Reason 3 (ontology IRIs): The IRI in the subject position of triple (1) in G_{2}^{*} has been changed into a blank node, becoming triple (1) in G_{2}.
- Resolution of Reason 4 (class expression): Triples (6) and (7) in G_{2}^{*} have been copied to G_{1}^{*} together with the new triple "_:x owl:equivalentClass _:x", becoming triples (6), (7) and (8) in G_{1}.
G_{1} and G_{2} are again OWL 2 DL ontologies in RDF graph form and can be mapped by the reverse RDF Mapping to the following OWL 2 DL ontologies in Functional Syntax form F(G_{1}) and F(G_{2}):
F(G_{1}) :
(1) Ontology( ex:o1
(2) Declaration( Class( ex:c1 ) )
(3) Declaration( Class( ex:c2 ) )
(4) Declaration( Class( ex:c3 ) )
(5) SubClassOf( ex:c1 ex:c2 )
(6) EquivalentClasses( ObjectUnionOf( ex:c2 ex:c3 ) ObjectUnionOf( ex:c2 ex:c3 ) )
(7) )
F(G_{2}) :
(1) Ontology(
(2) Declaration( Class( ex:c1 ) )
(3) Declaration( Class( ex:c2 ) )
(4) Declaration( Class( ex:c3 ) )
(5) SubClassOf( ex:c1 ObjectUnionOf( ex:c2 ex:c3 ) )
(6) )
As said earlier, all the applied changes preserve the formal meaning of the original OWL 2 DL ontologies under the OWL 2 Direct Semantics. Hence, it is still the case that F(G_{1}) OWL 2 Direct entails F(G_{2}). However, due to the syntactic transformation the situation has changed for the OWL 2 RDF-Based Semantics. It is now possible to show, by following the lines of argumentation for the resolutions of the different reasons given above, that G_{1} OWL 2 RDF-Based entails G_{2} as well.
7.2 Correspondence Theorem
This section presents the OWL 2 Correspondence Theorem, which compares the semantic expressivity of the OWL 2 RDF-Based Semantics with that of the OWL 2 Direct Semantics. The theorem basically states that the OWL 2 RDF-Based Semantics is able to reflect all the semantic conclusions of the OWL 2 Direct Semantics, where the notion of a "semantic conclusion" is technically expressed in terms of an entailment.
However, as discussed in Section 7.1, there exist semantic differences between the OWL 2 RDF-Based Semantics and the OWL 2 Direct Semantics, which do not allow for stating that any OWL 2 DL entailment query that is an OWL 2 Direct entailment will always also be an OWL 2 RDF-Based entailment. Nevertheless, it can still be ensured that any given OWL 2 DL entailment query can be substituted by another OWL 2 DL entailment query in a way that for the substitute entailment query the desired relationship will really hold, while preserving the formal meaning compared to the original entailment query under the OWL 2 Direct Semantics.
In fact, the theorem only makes the seemingly weak assertion that such a substitute entailment query will always exist. But the actual proof of the theorem in Section 7.3 will be more concrete in that it will substitute each given OWL 2 DL entailment query with a variant that can be algorithmically constructed by applying a set of simple syntactic transformations to the original entailment query. One can get an idea of how this works from Section 7.1.
Technical note on corresponding datatype maps:
A distinction exists between the format of an OWL 2 RDF-Based datatype map, as defined by Definition 4.1, and the format of an OWL 2 Direct datatype map, as defined in Section 2.1 of [OWL 2 Direct Semantics]. It is, however, possible to translate between an OWL 2 RDF-Based datatype map D and the corresponding OWL 2 Direct datatype map F(D) in the following way:
Let D be an OWL 2 RDF-Based datatype map according to Definition 4.1. The corresponding OWL 2 Direct datatype map [OWL 2 Direct Semantics] F(D) := ( N_{DT} , N_{LS} , N_{FS} , ⋅ ^{DT} , ⋅ ^{LS} , ⋅ ^{FS} ) is given by
- Datatype Names: N_{DT} is defined as the set of all IRIs u, for which there is a datatype d, such that 〈 u , d 〉 ∈ D.
- Lexical Space: For each datatype name u ∈ N_{DT}, N_{LS}(u) := LS(d), where 〈 u , d 〉 ∈ D.
- Facet Space: For each datatype name u ∈ N_{DT}, N_{FS}(u) := FS(d), where 〈 u , d 〉 ∈ D.
- Value Space: For each datatype name u ∈ N_{DT}, (u) ^{DT} := VS(d), where 〈 u , d 〉 ∈ D.
- Lexical-to-Value Mapping: For each datatype name u ∈ N_{DT} and each lexical form a ∈ N_{LS}(u), (〈 a , u 〉) ^{LS} := L2V(d)(a), where 〈 u , d 〉 ∈ D.
- Facet-to-Value Mapping: For each datatype name u ∈ N_{DT} and each pair 〈 F , v 〉 ∈ N_{FS}(u), (〈 F , v 〉) ^{FS} := F2V(d)(〈 F , v 〉), where 〈 u , d 〉 ∈ D.
Theorem 7.1 (OWL 2 Correspondence Theorem):
Let D be an OWL 2 RDF-Based datatype map according to Definition 4.1, with F(D) being the OWL 2 Direct datatype map according to Section 2.1 of [OWL 2 Direct Semantics] that corresponds to D according to the technical note on corresponding datatype maps. Let G_{1}^{*} and G_{2}^{*} be RDF graphs that are OWL 2 DL ontologies in RDF graph form, with F(G_{1}^{*}) and F(G_{2}^{*}) being the OWL 2 DL ontologies in Functional Syntax form [OWL 2 Specification] that result from applying the reverse OWL 2 RDF mapping [OWL 2 RDF Mapping] to G_{1}^{*} and G_{2}^{*}, respectively. Let F(G_{1}^{*}) and F(G_{2}^{*}) mutually meet the restrictions on OWL 2 DL ontologies as specified in Section 3 of [OWL 2 Specification].
Then, there exist RDF graphs G_{1} and G_{2} that are OWL 2 DL ontologies in RDF graph form, such that all the following conditions hold, with F(G_{1}) and F(G_{2}) being the OWL 2 DL ontologies in Functional Syntax form that result from applying the reverse OWL 2 RDF mapping to G_{1} and G_{2}, respectively:
- (1) F(G_{1}) and F(G_{2}) mutually meet the restrictions on OWL 2 DL ontologies;
- (2) F(G_{1}) OWL 2 Direct entails F(G_{1}^{*}) with respect to F(D), if and only if F(G_{1}^{*}) OWL 2 Direct entails F(G_{1}) with respect to F(D);
- (3) F(G_{2}) OWL 2 Direct entails F(G_{2}^{*}) with respect to F(D), if and only if F(G_{2}^{*}) OWL 2 Direct entails F(G_{2}) with respect to F(D);
- (4) if F(G_{1}) OWL 2 Direct entails F(G_{2}) with respect to F(D), then G_{1} OWL 2 RDF-Based entails G_{2} with respect to D.
7.3 A Proof for the Correspondence Theorem
This is a sketch of a proof for Theorem 7.1 (OWL 2 Correspondence Theorem), stated in Section 7.2. The proof sketch provides the basic line of argumentation for showing the theorem. However, for complexity reasons, some technical aspects of the theorem are only coarsely treated, and the proof sketch also refrains from taking the full amount of language constructs of OWL 2 into account. A complete proof can make use of the observation that the definitions of the OWL 2 Direct Semantics and the OWL 2 RDF-Based Semantics are actually closely aligned for all the different language constructs of OWL 2.
The proof sketch will make use of an approach that will be called "balancing" throughout this appendix, and which will now be introduced. A concrete example for how this approach can be applied is given in Section 7.1.
Definition (Balanced): A pair of RDF graphs 〈 G_{1} , G_{2} 〉 is called balanced, if and only if G_{1} and G_{2} are OWL 2 DL ontologies in RDF graph form, such that all the following additional conditions hold, with F(G_{1}) and F(G_{2}) being the OWL 2 DL ontologies in Functional Syntax form [OWL 2 Specification] that result from applying the reverse OWL 2 RDF mapping [OWL 2 RDF Mapping] to G_{1} and G_{2}, respectively:
- (1) F(G_{1}) and F(G_{2}) mutually meet the restrictions on OWL 2 DL ontologies as specified in Section 3 of [OWL 2 Specification];
- (2) for every IRI or blank node x occurring in G_{1} or G_{2}, there is a declaration triple (Table 7 in [OWL 2 RDF Mapping]) in the graph for every entity type (Section 5.8 of [OWL 2 Specification]) of x (there are no missing entity declarations);
- G_{2} does not contain
- (3) RDF encodings of annotations (Sections 3.2.2 and 3.2.3, and Table 17 in [OWL 2 RDF Mapping]);
- (4) deprecation triples (Table 16 in [OWL 2 RDF Mapping]);
- (5) G_{2} contains exactly one ontology header (Table 4 in [OWL 2 RDF Mapping]) consisting of a single RDF triple of the form "b rdf:type owl:Ontology", where b is a blank node;
- any subgraph g of G_{2} that is the RDF encoding of one of the following OWL 2 constructs is also a subgraph of G_{1}:
- (6) entity declaration (Table 7 in [OWL 2 RDF Mapping]);
- (7) property expression (Table 11 in [OWL 2 RDF Mapping]);
- (8) class expression (Tables 13 and 15 in [OWL 2 RDF Mapping]);
- (9) data range expression (Tables 12 and 14 in [OWL 2 RDF Mapping]).
Balancing Lemma: An algorithm exists that terminates on every input and that has the following input/output behavior:
Let the input of the algorithm be a pair of RDF graphs 〈 G_{1}^{*} , G_{2}^{*} 〉, where G_{1}^{*} and G_{2}^{*} are OWL 2 DL ontologies in RDF graph form, with F(G_{1}^{*}) and F(G_{2}^{*}) being the OWL 2 DL ontologies in Functional Syntax form [OWL 2 Specification] that result from applying the reverse OWL 2 RDF mapping [OWL 2 RDF Mapping] to G_{1}^{*} and G_{2}^{*}, respectively. Let F(G_{1}^{*}) and F(G_{2}^{*}) mutually meet the restrictions on OWL 2 DL ontologies as specified in Section 3 of [OWL 2 Specification].
Then the output of the algorithm will be a pair of RDF graphs 〈 G_{1} , G_{2} 〉, where G_{1} and G_{2} are OWL 2 DL ontologies in RDF graph form, such that for any OWL 2 RDF-Based datatype map D according to Definition 4.1 all the following conditions hold, with F(G_{1}) and F(G_{2}) being the OWL 2 DL ontologies in Functional Syntax form that result from applying the reverse OWL 2 RDF mapping to G_{1} and G_{2}, respectively, and with F(D) being the OWL 2 Direct datatype map according to Section 2.1 of [OWL 2 Direct Semantics] that corresponds to D according to the technical note on corresponding datatype maps in Section 7.2:
- (1) the pair 〈 G_{1} , G_{2} 〉 is balanced;
- (2) F(G_{1}) OWL 2 Direct entails F(G_{1}^{*}) with respect to F(D), and F(G_{1}^{*}) OWL 2 Direct entails F(G_{1}) with respect to F(D);
- (3) F(G_{2}) OWL 2 Direct entails F(G_{2}^{*}) with respect to F(D), and F(G_{2}^{*}) OWL 2 Direct entails F(G_{2}) with respect to F(D).
Proof of the Balancing Lemma:
Let G_{1}^{*} and G_{2}^{*} be OWL 2 DL ontologies in RDF graph form, with F(G_{1}^{*}) and F(G_{2}^{*}) being the corresponding OWL 2 DL ontologies in Functional Syntax form that result from applying the reverse OWL 2 RDF mapping to G_{1}^{*} and G_{2}^{*}, respectively, such that F(G_{1}^{*}) and F(G_{2}^{*}) mutually meet the restrictions on OWL 2 DL ontologies. The resulting RDF graphs G_{1} and G_{2} are constructed as follows.
The initial versions of G_{1} and G_{2} are copies of G_{1}^{*} and G_{2}^{*}, respectively.
A preprocessing step will substitute all blank nodes in G_{1} for fresh blank nodes that do not occur in G_{2}. One can therefore assume from now on that G_{1} and G_{2} have no common blank nodes.
Since G_{1} and G_{2} are OWL 2 DL ontologies in RDF graph form, the canonical parsing process for computing the reverse OWL 2 RDF mapping, as described in Section 3 of [OWL 2 RDF Mapping], can be applied to map the graphs G_{1} and G_{2} to corresponding OWL 2 DL ontologies in Functional Syntax form. For the resulting ontologies it is then algorithmically possible to determine for every occurring IRI and anonymous individual all the entity types. By this, all missing declaration triples are added to G_{1} and G_{2}.
Further, since G_{1} and G_{2} are OWL 2 DL ontologies in RDF graph form, the canonical parsing process can also be applied to safely identify all subgraphs of G_{1} and G_{2} that correspond to language constructs described in [OWL 2 Specification], including all the language constructs considered in the theorem.
Based on these observations, the following steps are performed on every subgraph g ⊆ G_{2} that has been identified by the canonical parsing process:
- (a) If g is the RDF encoding of an annotation, then g will be removed from G_{2}.
- (b) If g is a deprecation triple, then g will be removed from G_{2}.
- (c) If g is an ontology header (which may include ontology properties, such as import directives), then g is substituted in G_{2} by a triple of the form "x rdf:type owl:Ontology", where x is a fresh blank node. At the end of the process, all but one of these triples will be removed from G_{2}.
- (d) If g is the RDF encoding of an entity declaration, then g is copied to G_{1}.
- (e) If g is the RDF encoding of a property expression with root blank node x, then g together with the RDF triple "x owl:equivalentProperty x" is added to G_{1}.
- (f) If g is the RDF encoding of a class expression with root blank node x, then g together with the RDF triple "x owl:equivalentClass x" is added to G_{1}.
- (g) If g is the RDF encoding of a data range expression with root blank node x, then:
- if g is part of a data property restriction expression, then nothing needs to be done, since this case is covered by the treatment of class expressions in (f);
- if g is part of a datatype definition, then G_{2} contains a triple "u owl:equivalentClass x" with some IRI u that is declared as a datatype, and then the triple and g are copied to G_{1};
- otherwise, g is part of at least one data property range axiom. One such property p is chosen randomly, and the RDF encoding r of a universal property restriction expression on property p is created for the datarange expression rooted by node x. Let the RDF graph r have fresh root blank node y. r together with the RDF triple "y owl:equivalentClass y" is added to G_{1}.
In the following it is shown that all the claims of the theorem hold.
A: Existence of a terminating algorithm. An algorithm exists for mapping the input pair 〈 G_{1}^{*} , G_{2}^{*} 〉 to the output pair 〈 G_{1} , G_{2} 〉, since the canonical parsing process for the determination of the missing entity declarations and for the identification of the language construct subgraphs is described in the form of an algorithm in [OWL 2 RDF Mapping]. All other operations described above can obviously be performed algorithmically. The algorithm terminates, since the canonical parsing process terminates (including termination on invalid input), and since all other operations described above are executed by a finite number of steps, respectively.
B: The resulting RDF graphs are OWL 2 DL ontologies. Since the original RDF graphs G_{1}^{*} and G_{2}^{*} are OWL 2 DL ontologies in RDF graph form, this is also the case for G_{1} and G_{2}, since each of the steps above transforms a pair of OWL 2 DL ontologies in RDF graph form again into a pair of OWL 2 DL ontologies in RDF graph form, for the following reasons:
- The substitution of existing blank nodes by fresh blank nodes does not change the structure of an OWL 2 DL ontology in RDF graph form.
- If an entity has some entity type but the corresponding entity declaration is omitted, then it may be added without harm.
- Annotations and deprecation statements can always be removed from an OWL 2 DL ontology, as done by (a) and (b), since they are non-required language constructs.
- Any OWL 2 DL ontology requires the existence of an ontology header, but does not require the existence of an ontology IRI, so it is sufficient to replace an ontology header by (c).
- G_{1} contains entity declarations for every IRI occurring in G_{1}, since by (d) all entity declarations from G_{2}^{*} have been copied to G_{1}, and only IRIs from both G_{1}^{*} and G_{2}^{*} can occur in G_{1} via (e), (f) and (g). It is not a problem to have entity declarations for IRIs that are not further used in an OWL 2 DL ontology.
- Adding a datatype definition to an OWL 2 DL ontology, as done by (g), will lead to a new OWL 2 DL ontology (note that the corresponding datatype declaration from G_{2}^{*} has been copied to G_{1} as well).
- Adding syntactically valid OWL 2 DL axioms to an OWL 2 DL ontology, as done by (e), (f) and (g), will lead to a new OWL 2 DL ontology.
C: The resulting pair of RDF graphs is balanced. Property (1) of the theorem requires that the pair 〈 G_{1} , G_{2} 〉 is balanced. The following list checks that all the properties of the definition are satisfied.
- Property (1): F(G_{1}) and F(G_{2}) mutually meet the restrictions on OWL 2 DL ontologies, since the restrictions are mutually met by the original ontologies, and since only declarations and expressions that already existed in G_{2}^{*} are added to G_{1} by (d), (e), (f) and (g). The removal of annotations by (a) and deprecation triples by (b) from G_{2}^{*}, as well as the replacement of the ontology header of G_{2}^{*} by (c) do not hurt any syntactic restrictions either.
- Property (2): All missing entity declaration triples have been added to G_{1} and G_{2}.
- Properties (3) and (4): G_{2} does not contain any RDF encodings of annotations nor deprecation triples due to their removal by (a) and (b), respectively.
- Property (5): G_{2} contains exactly one ontology header consisting of a single triple of the form "b rdf:type owl:Ontology", where b is a blank node, due to the replacement of the existing ontology headers by (c).
- Property (6): Each RDF encoding of an entity declaration in G_{1} also occurs in G_{2}, due to their copying by (d).
- Properties (7), (8) and (9): Each RDF encoding of a property, class or data range expression in G_{1} also occurs in G_{2}, due to their adding by (e), (f) and (g), respectively.
D: The resulting ontologies are semantically equivalent with the original ontologies. Property (2) of the theorem requires that F(G_{1}) is semantically equivalent with F(G_{1}^{*}). This is the case, since F(G_{1}) differs from F(G_{1}^{*}) only by
- additional entity declarations (due to the addition of all missing entity declarations and due to (d)), which have no formal meaning under the OWL 2 Direct Semantics;
- datatype definitions (due to (g)), which only introduce a new name for a data range expression;
- additional OWL 2 DL axioms (due to (e), (f) and (g)), which are all, by construction, tautologies under the OWL 2 Direct Semantics.
Further, property (3) of the theorem requires that F(G_{2}) is semantically equivalent with F(G_{2}^{*}). This is the case, since F(G_{2}) differs from F(G_{2}^{*}) only by additional entity declarations, and missing annotations including deprecation annotations (due to (a) and (b)), which all have no formal meaning under the OWL 2 Direct Semantics.
End of the Proof of the Balancing Lemma.
In the following, the correspondence theorem will be proven.
Assume that the premises of the correspondence theorem hold for given RDF graphs G_{1}^{*} and G_{2}^{*}. This allows for applying the balancing lemma, which provides the existence of certain RDF graphs G_{1} and G_{2} that are OWL 2 DL ontologies in RDF graph form. Hence, it is possible to build OWL 2 DL ontologies in Functional Syntax form F(G_{1}) and F(G_{2}) by applying the reverse OWL 2 RDF mapping to G_{1} and G_{2}, respectively.
The balancing lemma further provides that the pair 〈 G_{1} , G_{2} 〉 is balanced.
The claimed property (1) of the correspondence theorem follows directly from property (1) of the balancing lemma and from property (1) of the "Balanced"-definition. The claimed properties (2) and (3) of the correspondence theorem follow directly from properties (2) and (3) of the balancing lemma, respectively.
The rest of this proof will treat the claimed property (4) of the correspondence theorem, which states that if F(G_{1}) OWL 2 Direct entails F(G_{2}) with respect to F(D), then G_{1} OWL 2 RDF-Based entails G_{2} with respect to D.
Let I be an OWL 2 RDF-Based interpretation w.r.t. an OWL 2 RDF-Based datatype map D of a vocabulary V_{I} that covers all the names (IRIs and literals) occurring in the RDF graphs G_{1} and G_{2}, and let I OWL 2 RDF-Based satisfy G_{1}. It will be shown that I OWL 2 RDF-Based satisfies G_{2}.
As a first step, an OWL 2 Direct interpretation J w.r.t. the corresponding OWL 2 Direct datatype map F(D) will be constructed for a vocabulary V_{J} that covers all the names (IRIs and literals) occurring in the OWL 2 DL ontologies in Functional Syntax form F(G_{1}) and F(G_{2}). J will be defined in a way such that it closely corresponds to I on those parts of the vocabularies V_{I} and V_{J} that cover G_{1} and G_{2}, and F(G_{1}) and F(G_{2}), respectively.
G_{1} and G_{2} are OWL 2 DL ontologies in RDF graph form that are mapped by the reverse RDF mapping to F(G_{1}) and F(G_{2}), respectively. This means that the same literals are used in both G_{1} and F(G_{1}), and in both G_{2} and F(G_{2}), respectively. Further, since the pair 〈 G_{1} , G_{2} 〉 is balanced, according to property (2) of the "Balanced"-definition there are entity declarations in F(G_{1}) and F(G_{2}) for all the entity types of every non-built-in IRI occurring in G_{1} and G_{2}, respectively. For each entity declaration of the form Declaration(T(u)) in F(G_{1}) and F(G_{2}), where T is the entity type for some IRI u, a typing triple of the form u rdf:type t exists in G_{1} or G_{2}, respectively, where t denotes the class representing the part of the universe that corresponds to T; and vice versa.
Since the pair 〈 G_{1} , G_{2} 〉 is balanced, all the entity declarations of F(G_{2}) are also contained in F(G_{1}), and therefore all the typing triples of G_{2} that correspond to some entity declaration in F(G_{2}) are also contained in G_{1}. Since I OWL 2 RDF-Based satisfies G_{1}, all these "declaring" typing triples are OWL 2 RDF-Based satisfied by I, and thus all non-built-in IRIs in G_{1} and G_{2} are actually instances of their declared parts of the universe.
Based on these observations, the OWL 2 Direct interpretation J and its vocabulary V_{J} for the datatype map F(D) can now be defined.
The vocabulary V_{J} := ( V_{C} , V_{OP} , V_{DP} , V_{I} , V_{DT} , V_{LT} , V_{FA} ) is defined as follows.
- The set V_{C} of class names contains all IRIs that are declared as classes in F(G_{1}).
- The set V_{OP} of object property names contains all IRIs that are declared as object properties in F(G_{1}).
- The set V_{DP} of data property names contains all IRIs that are declared as data properties in F(G_{1}).
- The set V_{I} of individual names contains all IRIs that are declared as named individuals in F(G_{1}).
The sets V_{DT} of datatype names, V_{LT} of literals, and V_{FA} of facet-literal pairs are defined according to Section 2.1 of [OWL 2 Direct Semantics] w.r.t. the datatype map F(D). Specifically, V_{DT} includes all IRIs that are declared as datatypes in F(G_{1}).
The interpretation J := ( Δ_{I} , Δ_{D} , ⋅ ^{C} , ⋅ ^{OP} , ⋅ ^{DP} , ⋅ ^{I} , ⋅ ^{DT} , ⋅ ^{LT} , ⋅ ^{FA} ) is defined as follows. The object and data domains of J are identified with the universe IR and the set of data values LV of I, respectively, i.e., Δ_{I} := IR and Δ_{D} := LV. The datatype interpretation function ⋅ ^{DT}, the literal interpretation function ⋅ ^{LT}, and the facet interpretation function ⋅ ^{FA} are defined according to Section 2.2 of [OWL 2 Direct Semantics]. Specifically, ⋅ ^{DT} interprets all IRIs that are declared as datatypes in F(G_{1}) according the following definition. For every non-built-in IRI u occurring in F(G_{1}):
- If u is declared as a named individual, then set u^{I} := I(u), since the graph contains the triple "u rdf:type owl:NamedIndividual", i.e., I(u) ∈ IR.
- If u is declared as a class, then set u^{C} := ICEXT(I(u)), since the graph contains the triple "u rdf:type owl:Class", i.e., I(u) ∈ IC.
- If u is declared as a datatype, then set u^{DT} := ICEXT(I(u)), since the graph contains the triple "u rdf:type rdfs:Datatype", i.e., I(u) ∈ IDC.
- If u is declared as an object property, then set u^{OP} := IEXT(I(u)), since the graph contains the triple "u rdf:type owl:ObjectProperty", i.e., I(u) ∈ IP.
- If u is declared as a data property, then set u^{DP} := IEXT(I(u)), since the graph contains the triple "u rdf:type owl:DatatypeProperty", i.e., I(u) ∈ IODP.
Note that G_{1} may also contain declarations of annotation properties, but they will not be interpreted by the OWL 2 Direct Semantics and are therefore ignored here. This will not lead to problems, since the pair 〈 G_{1} , G_{2} 〉 is balanced, and therefore G_{2} does not contain any annotations.
Further, note that the definition of J is compatible with the concept of a non-separated vocabulary in OWL 2 DL (also called "punning", see Section 5.9 of [OWL 2 Specification]). Since G_{1} and G_{2} are OWL 2 DL ontologies in RDF graph form, it is allowed that the same IRI u is declared to be all of an individual name, and a class name, and either an object property name or a data property name. According to I, the IRI u will always denote the same individual in the universe IR, where I(u) will be both a class and a property. Under J, however, the individual name u will denote an individual, the class name u will denote a subset of Δ_{I}, and the property name u will denote a subset of Δ_{I} × Δ_{I}.
Literals occurring in G_{1} and G_{2} are mapped by the OWL 2 RDF mapping to the same literals in the corresponding interpreted language constructs of F(G_{1}) and F(G_{2}), which comprise data enumerations, has-value restrictions with a data value, cardinality restrictions, datatype restrictions, data property assertions, and negative data property assertions. Also, the semantics of literals is strictly analog for both the OWL 2 RDF-Based Semantics and the OWL 2 Direct Semantics. Therefore, literals need no further treatment in this proof.
Based on the premise that I OWL 2 RDF-Based satisfies G_{1}, it has to be shown that J OWL 2 Direct satisfies F(G_{1}). For this to hold it will be sufficient to show that J OWL 2 Direct satisfies every axiom occurring in F(G_{1}). Let A be an axiom occurring in F(G_{1}), and let g_{A} be the subgraph of G_{1} that is mapped to A by the reverse OWL 2 RDF mapping. It is possible to prove that J OWL 2 Direct satisfies A by showing that the meaning, which is given to A by the OWL 2 Direct Semantics, is compatible with the semantic relationship that, according to J, holds between the denotations of the names occurring in A. The basic idea is as follows:
Since I OWL 2 RDF-Based satisfies G_{1}, all the triples occurring in g_{A} are OWL 2 RDF-Based satisfied by I. Also, since I is an OWL 2 RDF-Based interpretation, all the OWL 2 RDF-Based semantic conditions are met by I. Hence, the left-to-right directions of all the semantic conditions that are "matched" by the triples in g_{A} will apply. This will reveal certain semantic relationships that, according to I, hold between the denotations of the names occurring in g_{A}. These semantic relationships are, roughly speaking, the semantic consequences of the axiom that is encoded by the triples in g_{A}.
Since the denotations w.r.t. J of all the names occurring in A have been defined in terms of the denotations and class and property extensions w.r.t. I of the same names occurring in g_{A}, and since the meaning of the axiom A w.r.t. the OWL 2 Direct Semantics turns out to be fully covered by the semantic consequences of the subgraph g_{A} w.r.t. the OWL 2 RDF-Based Semantics, one can eventually show that J OWL 2 Direct satisfies A.
A special note is necessary for anonymous individuals occurring in an assertion A. These have the form of the same blank node b both in A and in g_{A}. Both the OWL 2 RDF-Based Semantics and the OWL 2 Direct Semantics treat blank nodes as existential variables in an ontology. Since I satisfies g_{A}, b can be mapped to an individual x in IR such that g_{A} becomes true under I (see Section 1.5 in [RDF Semantics] for the precise definition on how blank nodes are treated in RDF based languages). The same mapping from b to x can also be used for J in order to OWL 2 Direct satisfy A.
This basic idea is now demonstrated in more detail for a single example axiom A in F(G_{1}), which can be taken as a hint on how a complete proof could be constructed in principle. A complete proof would need to take every language construct of OWL 2 into account, as well as additional aspects such as datatype maps and facets. As in the example below, such a proof can make use of the observation that the definitions of the OWL 2 Direct Semantics and the OWL 2 RDF-Based Semantics are actually closely aligned for all the different language constructs of OWL 2.
Let A = SubClassOf(ex:c1 ObjectUnionOf(ex:c2 ex:c3)) for IRIs ex:c1, ex:c2 and ex:c3 that are declared to be classes elsewhere in F(G_{1}).
Due to the reverse OWL 2 RDF Mapping, g_{A} has the form
g_{A} :
ex:c1 rdfs:subClassOf _:x .
_:x rdf:type owl:Class .
_:x owl:unionOf ( ex:c2 ex:c3 ) .
Since I is an OWL 2 RDF-Based interpretation, it meets all the OWL 2 RDF-Based semantic conditions. Since I OWL 2 RDF-Based satisfies G_{1}, all the triples in g_{A} are OWL 2 RDF-Based satisfied, and this triggers the left-to-right directions of the semantic conditions for subclass axioms (rdfs:subClassOf) and union class expressions (owl:unionOf). This reveals that the denotations of the names in g_{A} are actually classes
I(ex:c1) ∈ IC ,
I(ex:c2) ∈ IC ,
I(ex:c3) ∈ IC ,
and that the following semantic relationship holds between the extensions of these classes:
ICEXT(I(ex:c1)) ⊆ ICEXT(I(ex:c2)) ∪ ICEXT(I(ex:c3)) .
From applying the definition of J follows that the following semantic relationship, w.r.t. J, holds between the denotations of the class names occurring in A:
(ex:c1) ^{C} ⊆ (ex:c2) ^{C} ∪ (ex:c3) ^{C} .
This semantic relationship equals the meaning of the axiom A = SubClassOf(ex:c1 ObjectUnionOf(ex:c2 ex:c3)) w.r.t. the OWL 2 Direct Semantics. Hence, J OWL 2 Direct satisfies A.
Since J OWL 2 Direct satisfies F(G_{1}), and since F(G_{1}) OWL 2 Direct entails F(G_{2}), it follows that J OWL 2 Direct satisfies F(G_{2}).
The next step will be to show that I OWL 2 RDF-Based satisfies G_{2}. For this to hold, I needs to OWL 2 RDF-Based satisfy all the triples occurring in G_{2}, taking into account the premise that an OWL 2 RDF-Based interpretation is required to meet all the OWL 2 RDF-Based semantic conditions.
Since the pair 〈 G_{1} , G_{2} 〉 is balanced, G_{2} contains a single ontology header consisting of a single triple "b rdf:type owl:Ontology" with a blank node b, and it does neither contain annotations nor deprecation statements. Hence, F(G_{2}) only consists of entity declarations and axioms, and does not have any ontology IRI and no ontology version, annotations or import directives. Further, since G_{2} is an OWL 2 DL ontology in RDF graph form, every triple occurring in G_{2}, which is not the ontology header triple, belongs to some subgraph of G_{2} that is mapped by the reverse OWL 2 RDF mapping to one of the entity declarations or axioms contained in F(G_{2}).
For the ontology header triple "b rdf:type owl:Ontology" in G_{2}: Since G_{1} is an OWL 2 DL ontology in RDF graph form, G_{1} contains an ontology header containing a triple "x rdf:type owl:Ontology", where x is either an IRI or a blank node. Since I OWL 2 RDF-Based satisfies G_{1}, this particular triple is satisfied by I. From the semantic conditions of "Simple Entailment", as defined in [RDF Semantics], follows that the triple "b rdf:type owl:Ontology" with the existentially interpreted blank node b is satisfied by I, too.
For entity declarations, let A be an entity declaration in F(G_{2}), and let g_{A} be the corresponding subgraph of G_{2}. Since the pair 〈 G_{1} , G_{2} 〉 is balanced, A occurs in F(G_{1}), and hence g_{A} is a subgraph of G_{1}. Since I OWL 2 RDF-Based satisfies G_{1}, I in particular OWL 2 RDF-Based satisfies g_{A}.
For axioms, let A be an axiom in F(G_{2}), and let g_{A} be the corresponding subgraph of G_{2}. It is possible to prove that I OWL 2 RDF-Based satisfies g_{A}, by showing that all the premises for the right-to-left hand side of the particular semantic conditions, which are associated with the sort of axiom represented by g_{A}, are met. This will allow to apply the semantic condition, from which will follow that all the triples in g_{A} are OWL 2 RDF-Based satisfied by I. The premises of the semantic condition generally require that the denotations of all the non-built-in names in g_{A} are contained in the appropriate part of the universe, and that the semantic relationship that is expressed on the right hand side of the semantic condition actually holds between the denotations of all these names w.r.t. I. Special care has to be taken regarding the blank nodes occurring in g_{A}. The basic idea is as follows:
For every non-built-in IRI u occurring in g_{A}, u also occurs in A. Since the pair 〈 G_{1} , G_{2} 〉 is balanced, property (2) of the "Balanced"-definition provides that there are entity declarations in F(G_{2}) for all the entity types of u, each being of the form E := "Declaration(T(u))" for some entity type T. From the reverse RDF mapping follows that for each such declaration E a typing triple e exists in G_{2}, being of the form e := "u rdf:type t", where t is the name of a class representing the part of the universe corresponding to the entity type T. It has already been shown that for E being an entity declaration in F(G_{2}), and e being the corresponding subgraph in G_{2}, I OWL 2 RDF-Based satisfies e. Hence, I(u) is an individual contained in the appropriate part of the universe.
Further, since J OWL 2 Direct satisfies F(G_{2}), J OWL 2 Direct satisfies A. Therefore, the semantic relationship that is represented by A according to the OWL 2 Direct Semantics actually holds between the denotations of the names occurring in A w.r.t. J. Since the denotations of these names w.r.t. J have been defined in terms of the denotations and class and property extensions w.r.t. I of the same names in G_{2}, by applying the definition of J it will turn out that the analog relationship also holds between the denotations of the same names occurring in g_{A}.
Finally, for the blank nodes occurring in g_{A}, it becomes clear from the fact that G_{2} is an OWL 2 DL ontology in RDF graph form that only certain kinds of subgraphs of g_{A} can occur having blank nodes.
- Case 1: A blank node corresponds to some anonymous individual in A (for A being one of a class assertion, object property assertion or data property assertion, according to Sections 5.6, 9.5 and 11.2 in [OWL 2 Specification]). The same blank node is used in A, and J interprets it as an existential variable. This renders the semantic relationship that is expressed by A into an existential assertion. After applying the definition of J, the analog existential assertion holds w.r.t. I, with the same blank node as the same existential variable in g_{A}.
- Case 2: A blank node is the "root" node of the multi-triple RDF encoding g_{A} of A (for g_{A} being an n-ary axiom from Section 5.10, or a negative property assertion from Section 5.15). The right-to-left direction of the semantic condition for this kind of axiom is of a form that the triples in g_{A} containing the blank node will be OWL 2 RDF-Based satisfied after all the premises of the semantic condition are met.
- Case 3: A blank node is the "root" node of the multi-triple RDF encoding g_{E} of an expression in A (for g_{E} being either a sequence, or one of a boolean connective from Section 5.4, an enumeration from Section 5.5, a property restriction from Section 5.6, or a datatype restriction from Section 5.7). Since the pair 〈 G_{1} , G_{2} 〉 is balanced, g_{E} also occurs in G_{1}. Since I OWL 2 RDF-Based satisfies G_{1}, g_{E} is OWL 2 RDF-Based satisfied, either, taking into account that blank nodes are existential variables. Hence, the left-to-right direction of the respective semantic condition for the particular sort of expression can be applied. This can be done for all the expressions occurring in g_{A}, and g_{A} can be seen as a directed acyclic graph with the triples encoding the actual axiom on top, and the different component expressions being connected via blank nodes. Eventually, one can see that all the premises of the right-to-left direction of the semantic condition for the axiom encoded by g_{A} hold.
This basic idea is now demonstrated in more detail for a single example axiom A in F(G_{2}), which can be taken as a hint on how a complete proof could be constructed in principle. A complete proof would need to take every language construct of OWL 2 into account, as well as additional aspects such as datatype maps and facets. As in the example below, such a proof can make use of the observation that the definitions of the OWL 2 Direct Semantics and the OWL 2 RDF-Based Semantics are actually closely aligned for all the different language constructs of OWL 2.
Let A = SubClassOf(ex:c1 ObjectUnionOf(ex:c2 ex:c3)) for IRIs ex:c1, ex:c2 and ex:c3 that are declared to be classes elsewhere in F(G_{2}).
Due to the reverse OWL 2 RDF Mapping, g_{A} has the form
g_{A} :
ex:c1 rdfs:subClassOf _:x .
_:x rdf:type owl:Class .
_:x owl:unionOf ( ex:c2 ex:c3 ) .
The entity declarations for the class names ex:c1, ex:c2 and ex:c3 occurring in both A and g_{A} correspond to the typing triples
ex:c1 rdf:type owl:Class .
ex:c2 rdf:type owl:Class .
ex:c3 rdf:type owl:Class .
in G_{2}, respectively. Based on the premise that the pair 〈 G_{1} , G_{2} 〉 is balanced, all these typing triples are OWL 2 RDF-Based satisfied by I. Hence, all the IRIs denote classes:
I(ex:c1) ∈ IC ,
I(ex:c2) ∈ IC and
I(ex:c3) ∈ IC .
Since J OWL 2 Direct satisfies A, the following semantic relationship holds between the denotations of the class names in A w.r.t. J:
(ex:c1) ^{C} ⊆ (ex:c2) ^{C} ∪ (ex:c3) ^{C} .
Applying the definition of J results in the following semantic relationship w.r.t. I that holds between the denotations of the names in g_{A}:
ICEXT(I(ex:c1)) ⊆ ICEXT(I(ex:c2)) ∪ ICEXT(I(ex:c3)) .
The subgraph g_{E} of g_{A}, given by
g_{E} :
_:x rdf:type owl:Class .
_:x owl:unionOf ( c2 c3 ) .
corresponds to a union class expression in A. Since the pair 〈 G_{1} , G_{2} 〉 is balanced, g_{E} is also a subgraph of G_{1} (it will be assumed that the same blank nodes are used in both instances of g_{E} in order to simplify the argument). Since both G_{1} and G_{2} are OWL 2 DL ontologies in RDF graph form, the blank nodes occurring in g_{E} do not occur outside of g_{E}, neither in G_{1} nor in G_{2}.
Since I OWL 2 RDF-Based satisfies G_{1}, according to the semantic conditions for RDF graphs with blank nodes (see Section 1.5 of [RDF Semantics]), a mapping B from blank(g_{E}) to IR exists, where blank(g_{E}) is the set of all blank nodes in g_{E}, such that the extended interpretation I+B OWL 2 RDF-Based satisfies all the triples in g_{E}. An analog argument holds for all the blank nodes occurring in the sequence expression ( c2 c3 ).
This allows to apply the left-to-right direction of the semantic condition for union class expressions (owl:unionOf), providing:
[I+B](_:x) ∈ IC ,
ICEXT([I+B](_:x))
=
ICEXT(I(ex:c2))
∪
ICEXT(I(ex:c3)) .
Together with the intermediate results from above, it follows:
I(ex:c1) ∈ IC ,
[I+B](_:x) ∈ IC ,
ICEXT(I(ex:c1))
⊆
ICEXT([I+B](_:x)) .
Therefore, all the premises are met to apply the right-to-left direction of the semantic condition of subclass axioms (rdfs:subClassOf), which results in
〈 I(ex:cl) , [I+B](_:x) 〉 ∈ IEXT(I(rdfs:subClassOf)) .
So, the triple
ex:c1 rdfs:subClassOf _:x .
is OWL 2 RDF-Based satisfied by I+B, where "_:x" is the same blank node as the root blank node of the union class expression in g_{A}.
Hence, w.r.t. existential blank node semantics, I OWL 2 RDF-Based satisfies all the triples in g_{A}.
To conclude, for every OWL 2 RDF-Based interpretation I that OWL 2 RDF-Based satisfies G_{1} it turns out that I also OWL 2 RDF-Based satisfies G_{2}. Hence, G_{1} OWL 2 RDF-Based entails G_{2}.
Q.E.D.
8 Appendix: Comprehension Conditions (Informative)
The correspondence theorem in Section 7.2 shows that it is possible for the OWL 2 RDF-Based Semantics to reflect all the entailments of the OWL 2 Direct Semantics [OWL 2 Direct Semantics], provided that one allows for certain "harmless" syntactic transformations on the RDF graphs being considered. This makes numerous potentially desirable and useful entailments available that would otherwise be outside the scope of the OWL 2 RDF-Based Semantics, for the technical reasons discussed in Section 7.1. It seems natural to ask for similar entailments even when an entailment query does not formally consist of OWL 2 DL ontologies in RDF graph form. However, the correspondence theorem does not apply to such cases, and thus the OWL 2 Direct Semantics cannot be taken as a reference frame for "desirable" or "useful" entailments, or for what it means that a given transformation is "harmless" or not.
As discussed in Section 7.1, a core obstacle for the correspondence theorem to hold were RDF encodings of OWL 2 expressions, such as union class expressions, which appear on the right hand side of an entailment query. Under the OWL 2 RDF-Based Semantics, it is not generally ensured that an individual exists that represents the denotation of such an expression. The "comprehension conditions" defined in this section are additional semantic conditions that provide for the necessary individuals for every possible list, class and property expression. By this, the combination of the normative semantic conditions of the OWL 2 RDF-Based Semantics (Section 5) and the comprehension conditions can be regarded to "simulate" the semantic expressivity of the OWL 2 Direct Semantics on OWL 2 DL entailment queries, while at the same time allowing for the interpretation of arbitrary entailment queries.
The combined semantics is, however, not primarily intended for use in actual implementations. The comprehension conditions add significantly to the complexity and expressivity of the basic semantics and, in fact, lead to formal inconsistency. But the combined semantics can still be seen as a generalized reference frame for "desirable" and "useful" entailments, and this can be used, for example, to evaluate methods that syntactically transform unrestricted entailment queries in order to receive additional entailments under the OWL 2 RDF-Based Semantics. Such a concrete method is, however, outside the scope of this specification.
Note: The conventions in the introduction of Section 5 ("Semantic Conditions") apply to the current section as well.
8.1 Comprehension Conditions for Sequences
Table 8.1 lists the comprehension conditions for sequences, i.e. RDF lists. These comprehension conditions provide the existence of sequences built from any possible combination of individuals contained in the universe.
if | then exists z_{1} , … , z_{n} ∈ IR |
---|---|
a_{1} , … , a_{n} ∈ IR | 〈 z_{1} , a_{1} 〉 ∈ IEXT(I(rdf:first)) , 〈 z_{1} , z_{2} 〉 ∈ IEXT(I(rdf:rest)) , … , 〈 z_{n} , a_{n} 〉 ∈ IEXT(I(rdf:first)) , 〈 z_{n} , I(rdf:nil) 〉 ∈ IEXT(I(rdf:rest)) |
8.2 Comprehension Conditions for Boolean Connectives
Table 8.2 lists the comprehension conditions for boolean connectives (see Section 5.4 for the corresponding semantic conditions). These comprehension conditions provide the existence of complement classes for any class, and of intersections and unions built from any possible set of classes contained in the universe.
if | then exists z ∈ IR |
---|---|
s sequence of c_{1} , … , c_{n} ∈ IC | 〈 z , s 〉 ∈ IEXT(I(owl:intersectionOf)) |
s sequence of c_{1} , … , c_{n} ∈ IC | 〈 z , s 〉 ∈ IEXT(I(owl:unionOf)) |
c ∈ IC | 〈 z , c 〉 ∈ IEXT(I(owl:complementOf)) |
d ∈ IDC | 〈 z , d 〉 ∈ IEXT(I(owl:datatypeComplementOf)) |
8.3 Comprehension Conditions for Enumerations
Table 8.3 lists the comprehension conditions for enumerations (see Section 5.5 for the corresponding semantic conditions). These comprehension conditions provide the existence of enumeration classes built from any possible set of individuals contained in the universe.
if | then exists z ∈ IR |
---|---|
s sequence of a_{1} , … , a_{n} ∈ IR | 〈 z , s 〉 ∈ IEXT(I(owl:oneOf)) |
8.4 Comprehension Conditions for Property Restrictions
Table 8.4 lists the comprehension conditions for property restrictions (see Section 5.6 for the corresponding semantic conditions). These comprehension conditions provide the existence of cardinality restriction classes on any property and for any non-negative integer, as well as value restriction classes on any property and on any class contained in the universe.
Note that the comprehension conditions for self restrictions constrains the right hand side of the produced owl:hasSelf assertions to be the boolean value "true"^^xsd:boolean. This is in accordance with Table 13 in Section 3.2.4 of [OWL 2 RDF Mapping].
if | then exists z ∈ IR |
---|---|
c ∈ IC , p ∈ IP |
〈 z , c 〉 ∈ IEXT(I(owl:someValuesFrom)) , 〈 z , p 〉 ∈ IEXT(I(owl:onProperty)) |
c ∈ IC , s sequence of p_{1} , … , p_{n} ∈ IP |
〈 z , c 〉 ∈ IEXT(I(owl:someValuesFrom)) , 〈 z , s 〉 ∈ IEXT(I(owl:onProperties)) |
c ∈ IC , p ∈ IP |
〈 z , c 〉 ∈ IEXT(I(owl:allValuesFrom)) , 〈 z , p 〉 ∈ IEXT(I(owl:onProperty)) |
c ∈ IC , s sequence of p_{1} , … , p_{n} ∈ IP |
〈 z , c 〉 ∈ IEXT(I(owl:allValuesFrom)) , 〈 z , s 〉 ∈ IEXT(I(owl:onProperties)) |
a ∈ IR , p ∈ IP |
〈 z , a 〉 ∈ IEXT(I(owl:hasValue)) , 〈 z , p 〉 ∈ IEXT(I(owl:onProperty)) |
p ∈ IP | 〈 z , I("true"^^xsd:boolean) 〉 ∈ IEXT(I(owl:hasSelf)) , 〈 z , p 〉 ∈ IEXT(I(owl:onProperty)) |
n ∈ INNI , p ∈ IP |
〈 z , n 〉 ∈ IEXT(I(owl:minCardinality)) , 〈 z , p 〉 ∈ IEXT(I(owl:onProperty)) |
n ∈ INNI , p ∈ IP |
〈 z , n 〉 ∈ IEXT(I(owl:maxCardinality)) , 〈 z , p 〉 ∈ IEXT(I(owl:onProperty)) |
n ∈ INNI , p ∈ IP |
〈 z , n 〉 ∈ IEXT(I(owl:cardinality)) , 〈 z , p 〉 ∈ IEXT(I(owl:onProperty)) |
n ∈ INNI , c ∈ IC , p ∈ IP |
〈 z , n 〉 ∈ IEXT(I(owl:minQualifiedCardinality)) , 〈 z , c 〉 ∈ IEXT(I(owl:onClass)) , 〈 z , p 〉 ∈ IEXT(I(owl:onProperty)) |
n ∈ INNI , d ∈ IDC , p ∈ IODP |
〈 z , n 〉 ∈ IEXT(I(owl:minQualifiedCardinality)) , 〈 z , d 〉 ∈ IEXT(I(owl:onDataRange)) , 〈 z , p 〉 ∈ IEXT(I(owl:onProperty)) |
n ∈ INNI , c ∈ IC , p ∈ IP |
〈 z , n 〉 ∈ IEXT(I(owl:maxQualifiedCardinality)) , 〈 z , c 〉 ∈ IEXT(I(owl:onClass)) , 〈 z , p 〉 ∈ IEXT(I(owl:onProperty)) |
n ∈ INNI , d ∈ IDC , p ∈ IODP |
〈 z , n 〉 ∈ IEXT(I(owl:maxQualifiedCardinality)) , 〈 z , d 〉 ∈ IEXT(I(owl:onDataRange)) , 〈 z , p 〉 ∈ IEXT(I(owl:onProperty)) |
n ∈ INNI , c ∈ IC , p ∈ IP |
〈 z , n 〉 ∈ IEXT(I(owl:qualifiedCardinality)) , 〈 z , c 〉 ∈ IEXT(I(owl:onClass)) , 〈 z , p 〉 ∈ IEXT(I(owl:onProperty)) |
n ∈ INNI , d ∈ IDC , p ∈ IODP |
〈 z , n 〉 ∈ IEXT(I(owl:qualifiedCardinality)) , 〈 z , d 〉 ∈ IEXT(I(owl:onDataRange)) , 〈 z , p 〉 ∈ IEXT(I(owl:onProperty)) |
8.5 Comprehension Conditions for Datatype Restrictions
Table 8.5 lists the comprehension conditions for datatype restrictions (see Section 5.7 for the corresponding semantic conditions). These comprehension conditions provide the existence of datatypes built from restricting any datatype contained in the universe by any possible set of facet-value pairs contained in the facet space (see Section 4.1) of the original datatype.
The set IFS is defined in Section 5.7.
if | then exists z ∈ IR , s sequence of z_{1} , … , z_{n} ∈ IR |
---|---|
d ∈ IDC , f_{1} , … , f_{n} ∈ IODP , v_{1} , … , v_{n} ∈ LV , 〈 f_{1} , v_{1} 〉 , … , 〈 f_{n} , v_{n} 〉 ∈ IFS(d) |
〈 z , d 〉 ∈ IEXT(I(owl:onDatatype)) , 〈 z , s 〉 ∈ IEXT(I(owl:withRestrictions)) , 〈 z_{1} , v_{1} 〉 ∈ IEXT(f_{1}) , … , 〈 z_{n} , v_{n} 〉 ∈ IEXT(f_{n}) |
8.6 Comprehension Conditions for Inverse Property Expressions
Table 8.6 lists the comprehension conditions for inverse property expressions. These comprehension conditions provide the existence of an inverse property for any property contained in the universe.
Inverse property expressions can be used to build axioms with anonymous inverse properties, such as in the graph
_:x owl:inverseOf ex:p .
_:x rdfs:subPropertyOf owl:topObjectProperty .
Note that, to some extent, the OWL 2 RDF-Based Semantics already covers the use of inverse property expressions by means of the semantic conditions of inverse property axioms (see Section 5.12), since these semantic conditions also apply to existential variables on the left hand side of inverse property axioms. However, not all relevant cases are covered by this semantic condition. For example, one might expect the above example graph to be generally true. But the OWL 2 RDF-Based Semantics does not permit this conclusion, since it is not ensured that for every property p there is an individual in the universe that happens to be the inverse property of p.
if | then exists z ∈ IR |
---|---|
p ∈ IP | 〈 z , p 〉 ∈ IEXT(I(owl:inverseOf)) |
9 Appendix: Changes from the OWL 1 RDF-Compatible Semantics (Informative)
This section lists relevant differences between the OWL 2 RDF-Based Semantics and the original specification of the OWL 1 RDF-Compatible Semantics [OWL 1 RDF-Compatible Semantics]. Significant effort has been spent in keeping the design of the OWL 2 RDF-Based Semantics as close as possible to that of the OWL 1 RDF-Compatible Semantics. While this aim was achieved to a large degree, the OWL 2 RDF-Based Semantics actually deviates from the OWL 1 RDF-Compatible Semantics in several aspects, in most cases due to serious technical problems that would arise from a conservative semantic extension. Not listed are the new language constructs and the new datatypes of OWL 2.
The following markers are used:
- [DEV]: A deviation from the OWL 1 RDF-Compatible Semantics that formally breaks backwards compatibility.
- [EXT]: An extension to the OWL 1 RDF-Compatible Semantics that is backwards compatible.
- [NOM]: A change of the nomenclature used in the OWL 1 RDF-Compatible Semantics.
Generalized Graph Syntax [EXT]: The OWL 2 RDF-Based Semantics allows RDF graphs to contain IRIs [RFC 3987] (see Section 2.1), whereas the OWL 1 RDF-Compatible Semantics was restricted to RDF graphs with URIs [RFC 2396]. This change is in accordance with the rest of the OWL 2 specification, see Section 2.4 of [OWL 2 Specification]. In addition, the OWL 2 RDF-Based Semantics MAY be applied to RDF graphs containing "generalized" RDF triples, i.e. triples that can consist of IRIs, literals or blank nodes in all three positions (Section 2.1). In contrast, the OWL 1 RDF-Compatible Semantics was restricted to RDF graphs conforming to the RDF Concepts specification [RDF Concepts]. These limitations of the OWL 1 RDF-Compatible Semantics were actually inherited from the RDF Semantics specification [RDF Semantics]. The relaxations are intended to warrant interoperability with existing and future technologies and tools. Both changes are compatible with the OWL 1 RDF-Compatible Semantics, since all RDF graphs that were legal for the OWL 1 RDF-Compatible Semantics are still legal under the OWL 2 RDF-Based Semantics.
Datatype Facets [EXT]: The basic definitions of a datatype and a D-interpretation, as defined by the RDF Semantics specification and as applied by the OWL 1 RDF-Compatible Semantics, have been extended in Section 4 of the OWL 2 RDF-Based Semantics to take datatype facets into account. Facets are applied in connection with a new language construct of OWL 2, called "datatype restrictions". This change is compatible with the OWL 1 RDF-Compatible Semantics, since Section 5.1 of the RDF Semantics specification explicitly allows for extending the minimal datatype definition provided there.
Correspondence Theorem and Comprehension Conditions [DEV]: The semantic conditions of the OWL 1 RDF-Compatible Semantics included a set of so called "comprehension conditions". The OWL 2 RDF-Based Semantics extends this set by comprehension conditions for the new language constructs of OWL 2, see Section 8. However, the comprehension conditions are not a normative aspect of the OWL 2 RDF-Based Semantics anymore. It has turned out that combining the comprehension conditions with the normative set of semantic conditions in Section 5 would lead to formal inconsistency of the resulting language (Issue 119). Further, in the OWL 1 RDF-Compatible Semantics specification, the comprehension conditions were primarily used to ensure the correctness of the so called "correspondence theorem". However, it became clear that a correspondence theorem along the lines of the original theorem would not work for the relationship between the OWL 2 RDF-Based Semantics and the OWL 2 Direct Semantics [OWL 2 Direct Semantics], since it is not possible to "balance" the differences between the two semantics solely by means of additional semantic conditions (see Section 7.1). Consequently, the correspondence theorem of the OWL 2 RDF-Based Semantics (Section 7.2) follows an alternative approach that replaces the use of the comprehension conditions, and which can be seen as a technical refinement of an idea originally discussed by the WebOnt working group (email). This change is an incompatible deviation from the OWL 1 RDF-Compatible Semantics, since certain aspects of the originally normative definition of the semantics have been removed.
Flawed Semantics of Language Constructs with Argument Lists [DEV]: In the OWL 1 RDF-Compatible Semantics, the semantic conditions for unions, intersections and enumerations of classes had flawed definitions that lead to formal inconsistency of the OWL 1 RDF-Compatible Semantics (Issue 120; see also an unofficial problem description). These semantic conditions have been corrected for the OWL 2 RDF-Based Semantics by changing the form of the semantic conditions, see Section 5.4 and Section 5.5. This change is an incompatible deviation from the OWL 1 RDF-Compatible Semantics, since the semantics has formally been weakened by eliminating a source of inconsistency.
Incomplete Semantics of owl:AllDifferent [EXT]: The OWL 1 RDF-Compatible Semantics missed a certain semantic condition for axioms based on the vocabulary term "owl:AllDifferent" (see also an unofficial problem description). The missing semantic condition has been added to the OWL 2 RDF-Based Semantics in Section 5.10. This change is compatible with the OWL 1 RDF-Compatible Semantics, since the semantics has been conservatively extended.
Aligned Semantics of owl:DataRange and rdfs:Datatype [EXT]: The class owl:DataRange has been made an equivalent class to rdfs:Datatype in the OWL 2 RDF-Based Semantics (see Section 5.2). The main purpose for this change was to allow for the deprecation of the term owl:DataRange in favor of rdfs:Datatype. The relationship between the two classes of the OWL 1 RDF-Compatible Semantics has been analyzed in (email). This change is compatible with the OWL 1 RDF-Compatible Semantics according to this analysis.
Weakened Semantics of Data Value Enumerations [DEV]: The application of the semantic condition for enumerations of data values in Section 5.5 is now restricted to non-empty sets of data values only. This prevents the class owl:Nothing from unintentionally becoming an instance of the class rdfs:Datatype, as analyzed in (email). This weakening of the semantics is an incompatible deviation from the OWL 1 RDF-Compatible Semantics. Note that this change does still permit the definition of an empty enumeration with an explicitly given type rdfs:Datatype.
Terminological Clarifications [NOM]: The document uses the term "OWL 2 RDF-Based Semantics" to refer to the specified semantics only. According to Section 2.1, the term "OWL 2 Full" refers to the whole language that is determined by the set of RDF graphs (also called "OWL 2 Full ontologies") being interpreted using the OWL 2 RDF-Based Semantics. OWL 1 has not been particularly clear on this distinction. Where the OWL 1 RDF-Compatible Semantics specification talked about "OWL Full interpretations", "OWL Full satisfaction", "OWL Full consistency" and "OWL Full entailment", the OWL 2 RDF-Based Semantics Specification talks in Section 4 about "OWL 2 RDF-Based interpretations", "OWL 2 RDF-Based satisfaction", "OWL 2 RDF-Based consistency" and "OWL 2 RDF-Based entailment", respectively, since these terms are related to the OWL 2 RDF-Based Semantics.
Modified Abbreviations [NOM]: The names "R_{I}", "P_{I}", "C_{I}", "EXT_{I}", "CEXT_{I}", "S_{I}", "L_{I}" and "LV_{I}" have been changed to the corresponding names defined in the RDF Semantics document [RDF Semantics], namely "IR", "IP", "IC", "IEXT", "ICEXT", "IS", "IL" and "LV", respectively. Furthermore, all uses of the IRI mapping "IS" have been replaced by the more general interpretation mapping "I", following the conventions in the RDF Semantics document. These changes are intended to support the use of the OWL 2 RDF-Based Semantics document as an incremental editorial extension of the RDF Semantics document. Names for the "parts of the universe" that were exclusively used in the OWL 1 RDF-Compatible Semantics document, such as "IX" or "IODP", have not been changed. Additional names for class extensions, such as "IAD" for the class extension of owl:AllDifferent, have in general not been reused in the document at hand, but the explicit non-abbreviated form, such as "IEXT(I(owl:AllDifferent))", is used instead.
Deprecated Vocabulary Terms [NOM]: The following vocabulary terms have been deprecated as of OWL 2 by the working group, and SHOULD NOT be used in new ontologies anymore:
- owl:DataRange (per resolution of Issue 29)
10 Appendix: Post Last-Call Changes (Informative)
Changes from the Last Call Working Draft of 21 April 2009:
- Renamed annotation vocabulary terms "owl:subject", "owl:predicate" and "owl:object" to "owl:annotatedSource", "owl:annotatedProperty" and "owl:annotatedTarget", respectively, according to an LC response.
- Replaced obsolete facet "rdf:langPattern" by new facet "rdf:langRange" of datatype rdf:text. (diff)
- Changed range of property "owl:annotatedProperty" from IP to IR in order to avoid undesired semantic side effects from annotations. This was an oversight when the original semantic conditions for annotations of axioms and annotations were removed from the document. (diff)
- Several minor editorial corrections and clarifications.
11 Acknowledgments
The starting point for the development of OWL 2 was the OWL1.1 member submission, itself a result of user and developer feedback, and in particular of information gathered during the OWL Experiences and Directions (OWLED) Workshop series. The working group also considered postponed issues from the WebOnt Working Group.
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 Jie Bao (RPI), Ivan Herman (W3C/ERCIM), Peter F. Patel-Schneider (Bell Labs Research, Alcatel-Lucent) and Zhe Wu (Oracle Corporation) for their thorough reviews.
The regular attendees at meetings of the OWL Working Group at the time of publication of this document were: Jie Bao (RPI), Diego Calvanese (Free University of Bozen-Bolzano), Bernardo Cuenca Grau (Oxford University Computing Laboratory), Martin Dzbor (Open University), Achille Fokoue (IBM Corporation), Christine Golbreich (Université de Versailles St-Quentin and LIRMM), Sandro Hawke (W3C/MIT), Ivan Herman (W3C/ERCIM), Rinke Hoekstra (University of Amsterdam), Ian Horrocks (Oxford University Computing Laboratory), Elisa Kendall (Sandpiper Software), Markus Krötzsch (FZI), Carsten Lutz (Universität Bremen), Deborah L. McGuinness (RPI), Boris Motik (Oxford University Computing Laboratory), Jeff Pan (University of Aberdeen), Bijan Parsia (University of Manchester), Peter F. Patel-Schneider (Bell Labs Research, Alcatel-Lucent), Sebastian Rudolph (FZI), Alan Ruttenberg (Science Commons), Uli Sattler (University of Manchester), Michael Schneider (FZI), Mike Smith (Clark & Parsia), Evan Wallace (NIST), Zhe Wu (Oracle Corporation), and Antoine Zimmermann (DERI Galway). We would also like to thank past members of the working group: Jeremy Carroll, Jim Hendler, and Vipul Kashyap.
12 References
- [OWL 2 Direct Semantics]
- OWL 2 Web Ontology Language: Direct Semantics. Boris Motik, Peter F. Patel-Schneider, and Bernardo Cuenca Grau, eds., 2009.
- [OWL 2 RDF Mapping]
- OWL 2 Web Ontology Language: Mapping to RDF Graphs. Peter F. Patel-Schneider and Boris Motik, eds., 2009.
- [OWL 2 Specification]
- OWL 2 Web Ontology Language: Structural Specification and Functional-Style Syntax. Boris Motik, Peter F. Patel-Schneider, and Bijan Parsia, eds., 2009.
- [OWL 1 RDF-Compatible Semantics]
- OWL Web Ontology Language: Semantics and Abstract Syntax, Section 5. RDF-Compatible Model-Theoretic Semantics. Peter F. Patel-Schneider, Patrick Hayes, and Ian Horrocks, eds., W3C Recommendation, 10 February 2004.
- [RDF Concepts]
- Resource Description Framework (RDF): Concepts and Abstract Syntax. Graham Klyne and Jeremy J. Carroll, eds. W3C Recommendation, 10 February 2004, http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/. Latest version available as http://www.w3.org/TR/rdf-concepts/.
- [RDF Semantics]
- RDF Semantics. Patrick Hayes, ed., W3C Recommendation, 10 February 2004, http://www.w3.org/TR/2004/REC-rdf-mt-20040210/. Latest version available as http://www.w3.org/TR/rdf-mt/.
- [RFC 2119]
- RFC 2119: Key words for use in RFCs to Indicate Requirement Levels. Network Working Group, S. Bradner. IETF, March 1997, http://www.ietf.org/rfc/rfc2119.txt
- [RFC 2396]
- RFC 2396 - Uniform Resource Identifiers (URI): Generic Syntax. T. Berners-Lee, R. Fielding, U.C. Irvine and L. Masinter. IETF, August 1998.
- [RFC 3987]
- RFC 3987: Internationalized Resource Identifiers (IRIs). M. Duerst and M. Suignard. IETF, January 2005, http://www.ietf.org/rfc/rfc3987.txt