Last Modified by Carroll based on the published WD

OWL-Lite Semantics based on 5. RDFS-Compatible Model-Theoretic Semantics

Using this model-theoretic semantics for OWL Lite defines owl-lite-entailment, such whenever A owl-lite-entails B then A owl-entails B (both OWL DL and OWL Full). A specific OWL Lite reasoner MAY find more entailments than this, but MUST not find entailments that are not Owl Full entailments.

OWL Lite is a subset of OWL DL, and the semantics is a minor modification of the OWL DL semantics. The goals are:

Some classic T-Box style problems, such as classification, are non-objectives. A reasoner that supports classification can be OWL Lite conformant, but is not required.

5.2. OWL Lite Interpretations

Change control from here on

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 IFFIf-Then, 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 if c∈CEXTI(SI(E)) iff then 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.

Some OWL properties have iffif-then characterizations

If E is then if <x,y>∈EXTI(SI(E)) iffthen
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}

Todo: think about oneof

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

Maybe the comprehension principle on lists should go too. Leaving it in for now.

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))

All of the following comprehension principls go, except possibly that for intersection, my preference is for it to go, too.

If there exists then there exists y with
l, a sequence of x,…,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 Lite follows the following rules for 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.

Is imports part of OWL Lite?

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.