Web Ontology Language (OWL) Abstract Syntax and Semantics
Section 5. RDFS-Compatible Model-Theoretic Semantics

Editors:
Peter F. Patel-Schneider, Bell Labs Research
Patrick Hayes, IHMC, University of West Florida
Ian Horrocks, Department of Computer Science, University of Manchester

Contents


5. RDFS-Compatible Model-Theoretic Semantics

This model-theoretic semantics for OWL is upward-compatible with the RDFS semantics as defined in the RDF model theory [RDF MT].

5.1. The OWL and RDFS universes

All of the OWL vocabulary is defined on the 'OWL universe', which is a collection of RDFS classes that are intended to circumscribe the domain of application of the OWL vocabulary: owl:Thing, owl:Class and owl:Property. The RDFS class extension of owl:Thing comprises the individuals of the OWL universe. The RDFS class extension of owl:Class comprises the classes of the OWL universe. The RDFS class extension of owl:Property comprises the properties of the OWL universe.

There are two different styles of using OWL. In the more free-wheeling style, called OWL/Full here, these three classes are identified with their RDFS counterparts. In OWL/Full, as in RDFS, resources can be both an individual and a class, or, in fact, even an individual, a class, and a property. In the more restrictive style, called OWL/DL here, these three classes are different from their RDFS counterparts and, moreover, pairwise disjoint.

The OWL/DL style gives up some expressive power in return for decidability of entailment. Further, OWL/DL can be processed by efficient DL reasoners. Both styles of OWL provide entailments that are missing in a naive translation of the DAML+OIL model-theoretic semantics into the RDFS semantics.

The chief differences in practice between the two styles lie in the care that is required to ensure that URI references are actually in the appropriate OWL universe. In OWL/Full, no care is needed, as the OWL universe is the same as the RDFS universe. In OWL/DL, typing information must be provided for many of the URI references used. These localizing assumptions are all trivially true in OWL/Full, and can also be ignored when one uses the OWL abstract syntax. But when writing OWL/DL in n-triples close attention must be paid to which parts of the vocabulary can be 'legally' used to refer to things in the OWL universe.

5.1.1. Qualified Names and URI References

Throughout this section qualified names are used as shorthand for URI references. The namespace identifiers used in such names, namely rdf, rdfs, xsd, and owl, should be used as if they are given their usual definitions.
Throughout this section VRDFS is the RDF and RDFS built-in vocabulary, i.e., rdf:type, rdf:Property, rdfs:Class, rdfs:subClassOf, …, minus rdfs:Literal; and VOWL is the OWL built-in vocabulary, i.e., owl:Class, owl:onProperty, …, minus owl:Thing and owl:Nothing.

Throughout this section D will be a datatyping scheme, i.e., a set of URI references, the datatypes of D, that have class extensions that are subsets of LV and mappings from literal strings to elements of their class extension. A typed literal string is a pair, d,s, consisting of a datatype and a literal string. For d,s a typed literal string, D(d,s) is the element of LV that is the literal value for string s in datatype d.

5.2. OWL Interpretations

The semantics of OWL/DL and OWL/Full are very similar. The common portion of their semantics is thus given first, and the differences left until later.

From the RDF model theory [RDF MT], for V a set of URI references containing the RDF and RDFS vocabulary, an RDFS interpretation over V is a triple I = < RI, EXTI, SI >. Here RI is the domain of discourse or universe, i.e., a set that contains the denotations of URI references. EXTI is used to give meaning to properties, and is a mapping from RI to sets of pairs over RI × (RI∪LV). Finally, SI is a mapping from V to RI that takes a URI reference to its denotation. CEXTI is then defined as CEXTI(c) = { x∈RI | <x,c>∈EXTI(SI(rdf:type)) }. RDFS interpretations must meet several conditions, as detailed in the RDFS model theory. For example, SI(rdfs:subClassOf) must be a transitive relation.

An OWL interpretation, I = < RI, EXTI, SI >, over a vocabulary V, where V includes VRDFS, rdfs:Literal, VOWL, owl:Thing, and owl:Nothing, is an RDFS interpretation over V that satisfies the following conditions:

Relationships between OWL classes

If E is then CEXTI(SI(E))= with
owl:Thing IOTIOT⊆RI
owl:Nothing {}
rdfs:Literal LV
owl:Class IOCIOC⊆CEXTI(SI(rdfs:Class))
owl:Restriction IORIOR⊆IOC
owl:Datatype IDCIDC⊆CEXTI(SI(rdfs:Class))
owl:Property IOPIOP⊆CEXTI(SI(rdf:Property))
owl:ObjectProperty IOOPIOOP⊆IOP
owl:DataTypeProperty IODPIODP⊆IOP
rdf:List ILIL⊆RI

Membership in OWL classes

If E is then SI(E)∈
owl:ThingIOC
owl:NothingIOC
rdfs:LiteralIDC
a datatype of DIDC
rdf:nilIL

Characteristics of members of OWL classes

If E is then if e∈CEXTI(SI(E)) then
owl:ClassCEXTI(e)⊆IOT
owl:DatatypeCEXTI(e)⊆LV
owl:ObjectPropertyEXTI(e)⊆IOT×IOT
owl:DatatypePropertyEXTI(e)⊆IOT×LV

The next constraints are IFF, which may be harder to deal with in OWL/DL, as they extend the various categories of properties to all of owl:Property. However, in OWL/DL ontologies you can neither state that an owl:DatatypeProperty is inverse functional nor ask whether it is, so there should be not adverse consequences.

If E is then c∈CEXTI(SI(E)) iff c∈IOP and
owl:SymmetricProperty <x,y> ∈ EXTI(c) → <y, x>∈EXTI(c)
owl:FunctionalProperty <x,y1> and <x,y2> ∈ EXTI(c) → y1 = y2
owl:InverseFunctionalProperty <x1,y>∈EXTI(c) ∧ <x2,y>∈EXTI(c) → x1 = x2
owl:TransitiveProperty <x,y>∈EXTI(c) ∧ <y,z>∈EXTI(c) → <x,z>∈EXTI(c)

RDFS domains and ranges are strengthened to if-and-only-if over the OWL universe.

If E is then for<x,y>∈CEXTI(SI(E)) iff
rdfs:domainx∈IOP,y∈IOC <z,w>∈EXTI(x) → z∈CEXTI(y)
rdfs:rangex∈IOP,y∈IOC∪IDC <w,z>∈EXTI(x) → z∈CEXTI(y)

Some OWL properties have iff characterizations

If E is then <x,y>∈EXTI(SI(E)) iff
owl:sameClassAs x,y∈IOC ∧ CEXTI(x)=CEXTI(y)
owl:disjointWith x,y∈IOC ∧ CEXTI(x)∩CEXTI(y)={}
owl:samePropertyAs x,y∈IOP ∧ EXTI(x) = EXTI(y)
owl:inverseOf x,y∈IOOP ∧ <u,v>∈EXTI(x) iff <v,u>∈EXTI(y)
owl:sameIndividualAs x = y
owl:sameAs x = y
owl:differentFrom x ≠ y

Some OWL properties have only-if characterizations

We will say that l1 is a sequence of y1,…,yn over C iff n=0 and l1=SI(rdf:nil) or n>0 and l1∈IL and ∃ l2, …, ln ∈ IL such that
<l1,y1>∈EXTI(SI(rdf:first)), y1∈CEXTI(C), <l1,l2>∈EXTI(SI(rdf:rest)), …,
<ln,yn>∈EXTI(SI(rdf:first)), yn∈CEXTI(C), and <ln,SI(rdf:nil)>∈EXTI(SI(rdf:rest)).

If E is then if <x,y>∈EXTI(SI(E)) then
owl:complementOf x,y∈ IOC and CEXTI(x)=IOT-CEXTI(y)
If E is then if <x,l>∈EXTI(SI(E)) then
owl:unionOf x∈IOC and l is a sequence of y1,…yn over IOC and CEXTI(x) = CEXTI(y1)∪…∪CEXTI(yn)
owl:intersectionOf x∈IOC and l is a sequence of y1,…yn over IOC and CEXTI(x) = CEXTI(y1)∩…∩CEXTI(yn)
owl:oneOf x∈CEXTI(rdfs:Class) and l is a sequence of y1,…yn over RI∪LV and CEXTI(x) = {y1,..., yn}
If E isand then if <x,l>∈EXTI(SI(E)) then
owl:oneOfl is a sequence of y1,…yn over LV x∈IDC and CEXTI(x) = {y1,..., yn}
owl:oneOfl is a sequence of y1,…yn over IOT x∈IOC and CEXTI(x) = {y1,..., yn}
If then x∈IOR, y∈IOC, p∈IOP, and CEXTI(x) =
<x,y>∈EXTI(SI(owl:allValuesFrom))) ∧
<x,p>∈EXTI(SI(owl:onProperty)))
{u∈IOT | <u,v>∈EXTI(p) → v∈CEXTI(y) }
<x,y>∈EXTI(SI(owl:someValuesFrom))) ∧
<x,p>∈EXTI(SI(owl:onProperty)))
{u∈IOT | ∃ <u,v>∈EXTI(p) ∧ v∈CEXTI(y) }
<x,y>∈EXTI(SI(owl:hasValue))) ∧
<x,p>∈EXTI(SI(owl:onProperty)))
{u∈IOT | <u, y>∈EXTI(p) }
If then x∈IOR, y∈LV, y is a non-negative integer, p∈IOP, and CEXTI(x) =
<x,y>∈EXTI(SI(owl:minCardinality))) ∧
<x,p>∈EXTI(SI(owl:onProperty)))
{u∈IOT | card({v : <u,v>∈EXTI(p)}) ≥ y }
<x,y>∈EXTI(SI(owl:maxCardinality))) ∧
<x,p>∈EXTI(SI(owl:onProperty)))
{u∈IOT | card({v : <u,v>∈EXTI(p)}) ≤ y }
<x,y>∈EXTI(SI(owl:cardinality))) ∧
<x,p>∈EXTI(SI(owl:onProperty)))
{u∈IOT | card({v : <u,v>∈EXTI(p)}) = y }

RI contains elements corresponding to all possible OWL descriptions and data ranges

The first three conditions require the existence of the finite sequences that are used in some OWL constructs. The remaining conditions require the existence of the OWL descriptions and data ranges.

If there exists then there exists l1,…,ln ∈ IL with
x1, …, xn ∈ IOC <l1,x1> ∈ EXTI(SI(rdf:first)), <l1,l2> ∈ EXTI(SI(rdf:rest)), …
<ln,xn> ∈ EXTI(SI(rdf:first)), <ln,SI(rdf:nil)> ∈ EXTI(SI(rdf:rest))
x1, …, xn ∈ IOT∪LV <l1,x1> ∈ EXTI(SI(rdf:first)), <l1,l2> ∈ EXTI(SI(rdf:rest)), …
<ln,xn> ∈ EXTI(SI(rdf:first)), <ln,SI(rdf:nil)> ∈ EXTI(SI(rdf:rest))
If there exists then there exists y with
l, a sequence of x1,…,xn over IOC y∈IOC, <y,l> ∈ EXTI(SI(owl:unionOf))
l, a sequence of x1,…,xn over IOC y∈IOC, <y,l> ∈ EXTI(SI(owl:intersectionOf))
l, a sequence of x1,…,xn over IOT∪LV y∈CEXTI(SI(rdfs:Class)), <y,l> ∈ EXTI(SI(owl:oneOf))
If there exists then there exists y ∈ IOC with
x ∈ IOC <y,x> ∈ EXTI(SI(owl:complementOf))
If there exists then there exists y ∈ IOR with
x ∈ IOP ∧ w ∈ IOC ∪ IDC <y,x> ∈ EXTI(SI(owl:onProperty)) ∧
<y,w> ∈ EXTI(SI(owl:allValuesFrom))
x ∈ IOP ∧ w ∈ IOC ∪ IDC <y,x> ∈ EXTI(SI(owl:onProperty)) ∧
<y,w> ∈ EXTI(SI(owl:someValuesFrom))
x ∈ IOP ∧ w ∈ IOT ∪ LV <y,x> ∈ EXTI(SI(owl:onProperty)) ∧
<y,w> ∈ EXTI(SI(owl:hasValue))
x ∈ IOP ∧ w ∈ LV ∧ w is a non-negative integer <y,x> ∈ EXTI(SI(owl:onProperty)) ∧
<y,w> ∈ EXTI(SI(owl:minCardinality))
x ∈ IOP ∧ w ∈ LV ∧ w is a non-negative integer <y,x> ∈ EXTI(SI(owl:onProperty)) ∧
<y,w> ∈ EXTI(SI(owl:maxCardinality))
x ∈ IOP ∧ w ∈ LV ∧ w is a non-negative integer <y,x> ∈ EXTI(SI(owl:onProperty)) ∧
<y,w> ∈ EXTI(SI(owl:cardinality))

5.3. OWL/DL

OWL/DL augments the above conditions with a separation of the domain of discourse into several disjoint parts. This separation has two consequences. First, the OWL portion of the domain of discourse becomes standard first-order, in that predicates (classes and properties) and objects are disjoint. Second, the OWL portion of a OWL/DL interpretation can be viewed as a Description Logic interpretation for a particular expressive Description Logic.

A OWL/DL interpretation over a vocabulary V', where V' includes VRDFS, rdfs:Literal, VOWL, owl:Thing, and owl:Nothing, is an OWL interpretation as above that satisfies the following conditions.

The domain of discourse is divided up into several pieces.

LV, IOT, IOC, IDC, IOP, and IL are all pairwise disjoint.
There is a disjoint partition of IOP into IOOP and IODP.
For n ∈ VRDFS∪VOWL - {rdf:nil}, SI(n) ∈ RI - (LV∪IOT∪IOC∪IDC∪IOP∪IL).

5.3.1. OWL/DL Entailment

Now entailment in OWL/DL can be defined.

Let K be an RDF graph and let V be a vocabulary that includes VRDFS, rdfs:Literal, VOWL, owl:Thing, and owl:Nothing. An OWL/DL interpretation of K is an OWL/DL interpretation over V that is also an RDFS interpretation of K.

Let K be a set of n-triples. The imports closure of K is the smallest superset of K such that if the imports closure of K contains a triple of the form x owl:imports y . where x is the empty URI and y is any URI then the imports closure of K contains the n-triples resulting from the RDF parsing of the document, if any, accessible at y into n-triples.

Let K and Q be collections of n-triples and let V be a vocabulary that includes VRDFS, rdfs:Literal, VOWL, owl:Thing, and owl:Nothing. Then K OWL/DL entails Q whenever all OWL/DL interpretations of the RDF graph specified by imports closure of K are also OWL/DL interpretations of the RDF graph specified by imports closure of Q.

5.3.2. Correspondence to the Direct Semantics

One way to automatically obtain typing information for the vocabulary is to use translations into n-triples of certain kinds of OWL ontologies in the abstract syntax, as such translations contain information on which kind of entity a URI reference denotes. This is made more formal below.

A separated OWL vocabulary, V', is a set of URI references with a disjoint partition V' = < VI, VC, VD, VOP, VDP >, where owl:Thing and owl:Nothing are in VC, rdfs:Literal is in VD, and all the elements of D are in VD. Further V' is disjoint from VRDFS∪VOWL.

An OWL abstract ontology with separated names over a separated OWL vocabulary V' = < VI, VC, VD, VOP, VDP > is a set of OWL axioms and facts in the abstract syntax without annotations as in Section 2 where <individualID>s are taken from VI, <classID>s are taken from VC, <datatypeID>s are taken from VD, <individualvaluedPropertyIDs> are taken from VOP, and <datavaluedPropertyID>s are taken from VDP.

Let T be the mapping from OWL ontologies in the abstract syntax to n-triples. Let V' = < VI, VC, VD, VOP, VDP > be a separated OWL vocabulary. Let K and Q be OWL abstract syntax ontologies with separated names over V' and let V = V' ∪ VRDFS ∪ VOWL. Then it is the case that K entails Q if and only if T(K) OWL/DL entails T(Q). The proof is contained in Appendix A.1.

5.4. OWL/Full

OWL/Full augments the common conditions with conditions that force the OWL and RDFS universes to be the same.

A OWL/Full interpretation over a vocabulary V, where V includes VRDFS, rdfs:Literal, VOWL, owl:Thing, and owl:Nothing, is an OWL interpretation as above that satisfies the following conditions.

IOT = RI
IOC = CEXTI(SI(rdfs:Class))
IOP = CEXTI(SI(rdf:Property))

OWL/Full entailment is defined in same manner as OWL/DL entailment.

Let K,C be collections of n-triples such that each of K, C, and K∪C is the translation of some OWL ontology in the abstract syntax with separated vocabulary. Then K OWL/Full entails C if K OWL/DL entails C. An initial sketch of the proof is contained in Appendix A.2.