Web Ontology Language (OWL) Abstract Syntax and Semantics
Appendix A. Correspondence between Abstract OWL and OWL/DL (Informative)

Editor:
Peter F. Patel-Schneider, Bell Labs Research

Contents


Appendix A. Proofs (Informative)

This appendix contains proofs of theorems contained in the document.

A.1 Correspondence between Abstract OWL and OWL/DL

This section shows that the two semantics for OWL/DL correspond on certain OWL knowledge bases. One semantics used in this section is the direct model theory for abstract OWL knowledge bases given in the direct model-theoretic semantics section of this document. The other semantics is the extension of the RDFS semantics given in the RDFS-compatible model-theoretic semantics section of this document.

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 that have class extensions that are subsets of LV and mappings from strings to elements of their class extension.
Throughout this section T will be the mapping from OWL abstract knowledge bases to n-triples.

A separated OWL vocabulary is a set of URI references V 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 KB with separated names over a separated OWL vocabulary V = <VI, VC, VD, VOP, VDP> is a set of OWL axioms and facts 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 V = <VI, VC, VD, VOP, VDP> be a separated OWL vocabulary. Then T(V) is the set of n-triples that contains exactly <v,rdf:type,owl:Thing > for v ∈ VI, <v,rdf:type,owl:Class > for v ∈ VC, <v,rdf:type,owl:Datatype > for v ∈ VD, <v,rdf:type,owl:ObjectProperty > for v ∈ VOP, and <v,rdf:type,owl:DatatypeProperty > for v ∈ VDP.

The theorem to be proved is:
Let V' be a separated OWL vocabulary. Let K,Q be abstract OWL knowledge bases with separated names over V'. Then K OWL entails Q iff T(K),T(V') OWL/DL entails T(Q).

Actually, a slightly stronger correspondence can be shown, but this is enough for now, as the presence of annotations and imports causes even more complications.

A.1.1 Lemma 1

Let V' = <VI, VC, VD, VOP, VDP> be a separated OWL vocabulary.
Let V = VI ∪ VC ∪ VD ∪ VOP ∪ VDP ∪ VRDFS ∪ VOWL.
Let I'= <R,S,EC,ER> be an abstract OWL interpretation over V'.
Let I = <RI,SI,EXTI> be an OWL/DL interpretation over V of T(V'). Let CEXTI have its usual meaning.
If R=CEXTI(SI(owl:Thing)), S(v)=SI(v) for v ∈ VI, EC(v)=CEXTI(SI(v)) for v∈VC∪VD, and ER(v)=EXTI(SI(v)) for v∈VOP∪VDP
then for d any abstract OWL description or data range over V', I OWL/DL satisfies T(d) and
for any E mapping all the blank nodes of T(d) into RI where I+E OWL/DL satisfies T(d),

  1. CEXTI(SI(M(T(d)))) = EC(d),
  2. if d is a description then SI(M(T(d)))∈CEXTI(SI(owl:Class)), and
  3. if d is a data range then SI(M(T(d)))∈CEXTI(SI(owl:Datatype)).

Proof

The proof of the lemma is by a structural induction. Throughout the proof, let IOT = CEXTI(SI(owl:Thing)), IOC = CEXTI(SI(owl:Class)), IDC = CEXTI(SI(owl:Datatype)), IOOP = CEXTI(SI(owl:ObjectProperty)), IODP = CEXTI(SI(owl:DatatypeProperty)), and IL = CEXTI(SI(rdf:List)).

To make the induction work, it is necessary to show that for any d a description or data range with sub-constructs the n-triples of T(d) contains n-triples for each of the sub-constructs that do not share any blank nodes with n-triples from the other sub-constructs. This can easily be verified from the rules for T.

If p∈VOP then I satisfies p∈IOOP. Then, as I is an OWL/DL interpretation, I satisfies <p,SI(owl:Thing)>∈EXTI(SI(rdfs:domain)) and <p,SI(owl:Thing)>∈EXTI(SI(rdfs:range)). Thus I satisfies T(p). Similarly for p∈VDP.

Base Case: v ∈ VC, including owl:Thing and owl:Nothing
As v∈VC and I satisfies T(V), thus SI(v)∈CEXTI(SI(owl:Class)). Because I is an OWL/DL interpretation CEXTI(SI(v))⊆IOT, so <SI(v),SI(owl:Thing)>∈EXTI(SI(rdfs:subClassOf)). Thus I OWL/DL satisfies T(v). As M(T(v)) is v, thus CEXTI(SI(M(T(v))))=EC(v). Finally, from above, SI(v)∈IOC.
Base Case: v ∈ VD, including rdfs:Literal
As v∈VD and I satisfies T(V), thus SI(v)∈CEXTI(SI(owl:Datatype)). Because I is an OWL/DL interpretation CEXTI(SI(v))⊆LV, so <SI(v),SI(rdfs:Literal)>∈EXTI(SI(rdfs:subClassOf)). Thus I OWL/DL satisfies T(v). As M(T(v)) is v, thus CEXTI(SI(M(T(v))))=EC(v). Finally, from above SI(v)∈IDC.
Base Case: d=oneOf(i1…in), where the ij are individual IDs
As ij∈VI for 1≤j≤n and I satisfies T(V), thus SI(ij)∈IOT. The second comprehension principle for sequences then requires that there is some l∈IL that is a sequence of SI(i1),…,SI(in) over IOT. For any l that is a sequence of SI(i1),…,SI(in) over IOT the comprehension principle for oneOf requires that there is some y∈CEXTI(SI(rdfs:Class)) such that <y,l> ∈ EXTI(IS(owl:oneOf)). From the third characterization of oneOf, y∈IOC. Therefore I satisfies T(d). For any I+E that satisfies T(d), CEXTI(I+E(M(T(d)))) = {SI(i1),…,SI(in)} = EC(d). Finally, I+E(M(T(d)))∈IOC.
Base Case: d=oneOf(v1…vn), where the vi are typed data values
As vj is a typed data value for 1≤j≤n SI(vj)∈LV. The second comprehension principle for sequences then requires that there is some l∈IL that is a sequence of SI(v1),…,SI(vn) over LV. For any l that is a sequence of SI(v1),…,SI(vn) over LV the comprehension principle for oneOf requires that there is some y∈CEXTI(SI(rdfs:Class)) such that <y,l> ∈ EXTI(IS(owl:oneOf)). From the second characterization of oneOf, y∈IOC. Therefore I satisfies T(d). For any I+E that satisfies T(d), CEXTI(I+E(M(T(d)))) = {SI(i1),…,SI(in)} = EC(d). Finally, I+E(M(T(d)))∈IDC.
Base Case: d=restriction(p value(i)), with p∈VOP∪VDP and i an individualID
As p∈VOP∪VDP, from above I satisfies T(p). As I satisfies T(V'), SI(p)∈IOOP∪IODP. As i∈VI and I satisfies T(V'), SI(i)∈IOT. From a comprehension principle for restriction, I satisfies T(d). For any E such that I+E satisfies T(d), CEXTI(I+E(M(T(d)))) = { x∈IOT | <x,SI(i)> ∈ EXTI(p) } = { x∈R | <x,S(i)> ∈ ER(p) } = EC(d). Finally, I+E(M(T(d)))∈IOC.
Base Case: d=restriction(p value(i)), with p∈VOP∪VDP and i a typed data value.
Similar.
Base Case: d=restriction(p minCardinality(n)), with p∈VOP∪VDP and n a non-negative integer
Similar.
Base Case: d=restriction(p maxCardinality(n)), with p∈VOP∪VDP and n a non-negative integer
Similar.
Base Case: d=restriction(p Cardinality(n)), with p∈VOP∪VDP and n a non-negative integer
Similar.
Inductive Case: d=complementOf(d')
From the induction hypothesis, I satisfies T(d'). As d' is a description, from the induction hypothesis any extension of I, I+E, that satisfies T(d') has has I+E(M(T(d'))) = EC(d') and I+E(M(T(d')))∈IOC. The comprehension principle for complementOf then requires that there is a y∈IOC such that I+E satisfies <y,e>∈EXTI(SI(owl:complementOf)) so I satisfies T(d). For any I+E that satisfies T(d), CEXTI(I+E(M(T(d)))) = IOT-CEXTI(I+E(M(T(d)))) = R-EC(d') = EC(d). Finally, I+E(M(T(d)))∈IOC.
Inductive Case: d = unionOf(d1 … dn)
From the induction hypothesis, I satisfies di for 1≤i≤n so there is an extension of I, Ei, that maps all the blank nodes in T(di) into domain elements such that I+Ei satisfies T(di). As the blank nodes in T(di) are disjoint from the blank nodes of T(dj) for i≠j, I+E1+…+En, and thus I, satisfies T(di)∪…∪T(dn). Each di is a description, so from the induction hypothesis, I+E1+…+En(M(T(di)))∈IOC. The first comprehension principle for sequences then requires that there is some l∈IL that is a sequence of I+E1+…+En(M(T(d1))),…, I+E1+…+En(M(T(dn))) over IOC. The comprehension principle for unionOf then requires that there is some y∈IOC such that <y,l>∈EXTI(SI(owl:unionOf)) so I satisfies T(d).
For any I+E that satisfies T(d), I+E satisfies T(di) so CEXTI(I+E(di)) = EC(di)). Then CEXTI(I+E(M(T(d)))) = CEXTI(I+E(d1))∪…∪CEXTI(I+E(dn)) = EC(d1)∪…∪EC(dn) = EC(d). Finally, SI(M(T(d)))∈IOC.
Inductive Case: d = intersectionOf(d1 … dn)
Similar.
Inductive Case: d = restriction(p x1 x2 … xn)
As p∈VOP∪VDP, from above I satisfies T(p). From the induction hypothesis, I satisfies restriction(p xi) for 1≤i≤n so there is an extension of I, Ei, that maps all the blank nodes in T(restriction(p xi)) into domain elements such that I+Ei satisfies T(restriction(p xi)). As the blank nodes in T(restriction(p xi)) are disjoint from the blank nodes of T(restriction(p xj)) for i≠j, I+E1+…+En, and thus I, satisfies T(restriction(p x1))∩…∩T(restriction(p xn)). Each restriction(p xi) is a description, so from the induction hypothesis, M(T(restriction(p xi)))∈IOC. The first comprehension principle for sequences then requires that there is some l∈IL that is a sequence of I+E1+…+En(M(T(restriction(p xi))),…, I+E1+…+En(M(T(restriction(p xi))) over IOC. The comprehension principle for intersectionOf then requires that there is some y∈IOC such that <y,l>∈EXTI(SI(owl:intersectionOf)) so I satisfies T(d).
For any I+E that satisfies T(d) I+E satisfies T(di) so CEXTI(I+E(di)) = EC(di)). Then CEXTI(I+E(M(T(d)))) = CEXTI(I+E(restriction(p xi)))∩…∩ CEXTI(I+E(restriction(p xn))) = EC(restriction(p xi))cup;…∪EC(restriction(p xi)) = EC(d). Finally, SI(M(T(d)))∈IOC.
Inductive Case: d = restriction(p allValuesFrom(d')), with p∈VOP∪VDP and d' a description
As p∈VOP∪VDP, from above I satisfies T(p). From the induction hypothesis, I satisfies T(d'). As d' is a description, from the induction hypothesis, any extension of I, I+E, that satisfies T(d') has I+E(M(T(d'))) = EC(d') and I+E(M(T(d')))∈IOC. As p∈VOP∪VDP and I satisfies T(V'), SI(p)∈IOOP∪IODP. A comprehension principle for restriction then requires that I satisfies the n-triples in T(d) that are not in T(d') or T(p) in a way that shows that I satisfies T(d).
For any I+E that satisfies T(d), CEXTI(I+E(M(T(d)))) = {x∈IOT | ∀ y∈IOT : <x,y>∈EXTI(p) → y∈CEXTI(M(T(d')))} = {x∈R | ∀ y∈R : <x,y>∈ER(p) → y∈EC(d')} = EC(d). Finally, I+E(M(T(d)))∈IOC.
Inductive Case: d = restriction(p someValuesFrom(d)) with p∈VOP∪VDP and d' a description
Similar.
Inductive Case: d = restriction(p allValuesFrom(d)) with p∈VOP∪VDP and d' a data range
Similar.
Inductive Case: d = restriction(p someValuesFrom(d)) with p∈VOP∪VDP and d' a data range
Similar.

A.1.2 Lemma 2

Let V', V, I', and I be as in Lemma 1. Let D be an OWL directive over V'. Then I satisfies T(D) iff I' satisfies D.

Proof

Case: D = Class(foo complete d1 … dn).

Let d=intersectionOf(d1 … dn). As d is a description over V', thus I satisfies T(d) and for any E mapping the blank nodes of T(d) such that I+E satisfies T(d), CEXTI(I+E(M(T(d)))) = EC(d). Thus for some E mapping the blank nodes of T(d) such that I+E satisfies T(d), CEXTI(I+E(M(T(d)))) = EC(d) and I+E(M(T(d))∈IOC.

If I' satisfies D then EC(foo) = EC(d). From above, there is some E such that CEXTI(I+E(M(T(d)))) = EC(d) = EC(foo) = CEXTI(SI(foo)) and I+E(M(T(d))∈IOC. Because I satisfies T(V), SI(foo))∈IOC, thus <SI(foo),I+E(M(T(d)))> ∈ EXTI(SI(owl:sameClassAs)). Therefore I satisfies T(D).

If I satisfies T(D) then I satisfies T(intersectionOf(d1 … dn)). Thus there is some E as above such that <SI(foo),I+E(M(T(d)))> ∈ EXTI(SI(owl:sameClassAs)). Thus EC(d) = CEXTI(I+E(M(T(d)))) = CEXTI(SI(foo)) = EC(foo). Therefore I' satisfies D.

Case: D = Class(foo partial d1 … dn)

Let d=intersectionOf(d1 … dn). As d is a description over V', thus I satisfies T(d) and for any E mapping the blank nodes of T(d) such that I+E satisfies T(d), CEXTI(I+E(M(T(d)))) = EC(d). Thus for some E mapping the blank nodes of T(d) such that I+E satisfies T(d), CEXTI(I+E(M(T(d)))) = EC(d) and I+E(M(T(d))∈IOC.

If I' satisfies D then EC(foo) ⊆ EC(d) From above, there is some E such that CEXTI(I+E(M(T(d)))) = EC(d) ⊇ EC(foo) = CEXTI(SI(foo)) and I+E(M(T(d))∈IOC. Because I satisfies T(V), SI(foo))∈IOC, thus <SI(foo),I+E(M(T(d)))> ∈ EXTI(SI(rdfs:subClassOf)). Therefore I satisfies T(D).

If I satisfies T(D) then I satisfies T(intersectionOf(d1 … dn)). Thus there is some E as above such that <SI(foo),I+E(M(T(d)))> ∈ EXTI(SI(rdfs:subClassOf)). Thus EC(d) = CEXTI(I+E(M(T(d)))) ⊇ CEXTI(SI(foo)) = EC(foo). Therefore I' satisfies D.

Case: D = EnumeratedClass(foo i1 … in)

Let d=oneOf(i1 … in). As d is a description over V' so I satisfies T(d) and for some E mapping the blank nodes of T(d) such that I+E satisfies T(d), CEXTI(I+E(M(T(d)))) = EC(d).

If I' satisfies D then EC(foo) = EC(d). From above, there is some E such that CEXTI(I+E(M(T(d)))) = EC(d) = EC(foo) = CEXTI(SI(foo)) and I+E(M(T(d))∈IOC. Because I satisfies T(V), SI(foo))∈IOC, thus <SI(foo),I+E(M(T(d)))> ∈ EXTI(SI(owl:sameClassAs)). Therefore I satisfies T(D).

If I satisfies T(D) then I satisfies T(intersectionOf(d1 … dn)). Thus there is some E as above such that <SI(foo),I+E(M(T(d)))> ∈ EXTI(SI(owl:sameClassAs)). Thus EC(d) = CEXTI(I+E(M(T(d)))) = CEXTI(SI(foo)) = EC(foo). Therefore I' satisfies D.

Case: D= DisjointClasses(d1 … dn)

As di is a description over V' therefore I satisfies T(di) and for any E mapping the blank nodes of T(di) such that I+E satisfies T(di), CEXTI(I+E(M(T(di)))) = EC(di).

If I satisfies T(D) then for each 1≤i≤n there is some Ei such that I satisfies <I+Ei(M(T(di))),I+Ej(M(T(dj)))> ∈ EXTI(SI(owl:disjointWith)) for each 1≤i<j≤n. Thus EC(di)∩EC(dj) = {}, for i≠j. Therefore I' satisfies D.

If I' satisfies D then EC(di)∪EC(dj) = {} for i≠j. For any Ei and Ej as above <I+Ei+Ej(M(T(di))),I+Ei+Ej(M(T(dj)))< ∈ EXTI(SI(owl:disjointWith)), for i≠j. As at least one Ei exists for each i, and the blank nodes of the T(dj) are all disjoint, I+E1+…+En satisfies T(DisjointClasses(d1 … dn)). Therefore I satisfies T(D).

Case: D = EquivalentClasses(d1 … dn)
Similar.
Case: D = SubClassOf(d1 d2)
Somewhat similar.
Case: D = IndividualProperty(p super(s1) … super(sn) domain(d1) … domain(dm) range(r1) … range(rl) [inverse(i)] [Symmetric] [Functional] [InverseFunctional] [OneToOne] [Transitive])

As di for 1≤i≤m is a description over V' therefore I satisfies T(di) and for any E mapping the blank nodes of T(di) such that I+E satisfies T(di), CEXTI(I+E(M(T(di)))) = EC(di). Similarly for ri for 1≤i≤l.

If I' satisfies D, then, as p∈VOP, I satisfies SI(p)∈IOOP. Then, as I is an OWL/DL interpretation, I satisfies <SI(p),SI(owl:Thing)>∈EXTI(SI(rdfs:domain)) and <SI(p),SI(owl:Thing)>∈EXTI(SI(rdfs:range)). Also, ER(p)⊆ER(si) for 1≤i≤n, so EXTI(SI(p))=ER(p) ⊆ ER(si)=EXTI(SI(si)) and I satisfies <SI(p),SI(si)>∈EXTI(SI(rdfs:subPropertyOf)). Next, ER(p)⊆EC(di)×R for 1≤i≤m, so <z,w>∈ER(p) → z∈EC(di) and for any E such that I+E satisfies T(di), <z,w>∈EXTI(p) → z∈CEXTI(I+E(M(T(di)))) and thus <SI(p),I+E(M(T(di)))>∈EXTI(SI(rdfs:domain)). Similarly for ri) for 1≤i≤l.

If I' satisfies D and inverse(i) is in D, then ER(p) and ER(i) are converses. Thus <u,v>∈ER(p) iff <v,u>∈ER(i) so <u,v>∈EXTI(p) iff <v,u>∈EXTI(i) and I satisfies <SI(p),SI(i)>∈EXTI(SI(owl:inverseOf)). If I' satisfies D and Symmetric is in D, then ER(p) is symmetric. Thus if <x,y>∈ ER(p) then <y,x>∈ER(p) so if <x,y> ∈ EXTI(p) then <y, x>∈EXTI(p). and thus I satisfies p∈CEXTI(SI(owl:Symmetric)). Similarly for Functional, InverseFunctional, and Transitive. Thus if I' satisfies D then I satisfies T(D).

If I satisfies T(D) then, for 1≤i≤n, <SI(p),SI(si)>∈EXTI(SI(rdfs:subPropertyOf)). so ER(p)=EXTI(SI(p)) ⊆ EXTI(SI(si))=ER(si). Also, for 1≤i≤m, for some E such that I+E satisfies T(di), <SI(p),I+E(M(T(di)))>∈EXTI(SI(rdfs:domain)) so <z,w>∈EXTI(p) → z∈CEXTI(I+E(M(T(di)))). Thus <z,w>∈ER(p) → z∈EC(di) and ER(p)⊆EC(di)×R. Similarly for ri) for 1≤i≤l.

If I satisfies T(D) and inverse(i) is in D, then I satisfies <SI(p),SI(i)>∈EXTI(SI(owl:inverseOf)). Thus <u,v>∈EXTI(p) iff <v,u>∈EXTI(i) so <u,v>∈ER(p) iff <v,u>∈ER(i) and ER(p) and ER(i) are converses. If I satisfies D and Symmetric is in D, then I satisfies p∈CEXTI(SI(owl:Symmetric)) so if <x,y> ∈ EXTI(p) then <y, x>∈EXTI(p). Thus if <x,y>∈ ER(p) then <y,x>∈ER(p) and ER(p) is symmetric. Similarly for Functional, InverseFunctional, and Transitive. Thus if I satisfies T(D) then I' satisfies D.

Case: D = DataProperty(p super(s1) … super(sn) domain(d1) … domain(dm) range(r1) … range(rl) [Functional])
Similar.
Case: D = EquivalentProperties(p1 … pn), for pi∈VOP

As pi∈VOP and I satisfies T(V'), SI(pi)∈IOP. If I satisfies T(D) then <SI(pi),SI(pj)> ∈ EXTI(SI(owl:samePropertyAs)), for each 1≤i<j≤n. Therefore EXTI(pi) = EXTI(pj), for each 1≤i<j≤n; CR(pi) = CR(pj), for each 1≤i<j≤n; and I' satisfies D.

If I' satisfies D then CR(pi) = CR(pj), for each 1≤i<j≤n. Therefore EXTI(pi) = EXTI(pj), for each 1≤i<j≤n. From the OWL/DL definition of owl:samePropertyAs, <SI(pi),SI(pj)> ∈ EXTI(SI(owl:samePropertyAs)), for each 1≤i<j≤n. Thus I satisfies T(D).

Case: D = SubPropertyOf(p1 p2)
Somewhat similar, but simpler.
Case: D = SameIndividual(i1 … in)
Similar to SamePropertyAs.
Case: D = DifferentIndividuals(i1 … in)
Similar to SamePropertyAs.
Case: D = Individual(i type(t1) … type(tn) value(p1 v1) … value(pn vn))

If I satisfies T(D) then there is some E that maps each blank node in T(D) such that I+E satisfies T(D). A simple examination of T(D) shows that the mappings of E plus the mappings for the individual IDs in D, which are all in IOT, show that I' satisfies D.

If I' satisfies D then for each Individual construct in D there must be some element of R that makes the class memberships and relationships true in D. The n-triples in T(D) then fall into three categories. 1/ Type relationships to owl:Thing, which are true in I because the elements above belong to R. 2/ Type relationships to OWL descriptions, which are true in I because they are true in I', from Lemma 1. 3/ OWL property relationships, which are true in I' because they are true in I. Thus I satisfies T(D).

A.1.3 Lemma 3

Let V' = <VI, VC, VD, VOP, VDP> be a separated OWL vocabulary. Let V = VI ∪ VC ∪ VD ∪ VOP ∪ VDP ∪ VRDFS ∪ VOWL. Then for every OWL/DL interpretation I = < RI, EXTI, SI > over V that satisfies T(V') there is an abstract OWL interpretation I' over V' such that for any OWL abstract KB K over V, I' abstract OWL satisfies K iff I OWL/DL satisfies T(K).

Proof

  1. Let CEXTI be defined as usual from I. The required abstract OWL interpretation will be I' = < CEXTI(SI(owl:Thing)), S, EC, ER > where S(n) = SI(n) for n∈VI, EC(n) = CEXTI(SI(n)) for n∈VC∪VD, and ER(n) = EXTI(SI(n)) for n∈VOP∪VDP.

  2. V', V, I', and I meet the requirements of Lemma 2, so for any directive D over V' I satisfies T(D) iff I' satisfies D.
  3. Satisfying an abstract KB is just satisfying its directives and satisfying the translation of an abstract KB is just satisfying all the n-triples so I OWL/DL satisfies T(K) iff I' abstract OWL satisfies K.

A.1.4 Lemma 4

Let V' = <VI, VC, VD, VOP, VDP> be a separated OWL vocabulary. Let V = VI ∪ VC ∪ VD ∪ VOP ∪ VDP ∪ VRDFS ∪ VOWL. Then for every Abstract OWL interpretation I' = < U, S, EC, ER > over V' there is an OWL/DL interpretation I over V that satisfies T(V') such that for any abstract OWL KB K over V', I OWL/DL satisfies T(K) iff I' abstract OWL satisfies K.

Proof

  1. Construct I = < RI, EXTI, SI > as follows:
  2. CEXTI(rdfs:range) = {};
    EXTI(rdfs:range) = { <x,y> : x∈OP y∈IOC ∧ ∀ z, <w,z> ∈ EXTI(x) → z ∈ CEXTI(y); } ∪ [RDFS ranges]
    CEXTI(rdfs:subClassOf) = {};
    EXTI(rdfs:subClassOf) = { <x,y> : x,y∈IOC ∧ CEXTI(x) ⊆ CEXTI(y) } ∪ [RDFS subclasses]
    CEXTI(rdfs:subPropertyOf) = {};
    EXTI(rdfs:subPropertyOf) = { <x,y> : x,y∈OP ∧ EXTI(x) ⊆ EXTI(y) } ∪ [RDFS subproperties]
    CEXTI(rdf:type) = {}, EXTI(rdf:type) is determined by CEXTI. Then I is an OWL/DL interpretation because the conditions for the class extensions in OWL/DL match up with the conditions for class-like OWL abstract syntax constructs.
  3. V', V, I', and I meet the requirements of Lemma 2, so for any directive D over V' I satisfies T(D) iff I' satisfies D.
  4. Satisfying an abstract KB is just satisfying its directives and satisfying the translation of an abstract KB is just satisfying all the n-triples so I OWL/DL satisfies T(K) iff I' abstract OWL satisfies K.

A.1.5 Correspondence Theorem

Let V' be a separated OWL vocabulary. Let K,Q be abstract OWL knowledge bases with separated names over V'. Then K OWL entails Q iff T(K),T(V') OWL/DL entails T(Q).

Proof

Suppose K OWL entails Q. Let I be an OWL/DL interpretation that satisfies T(K),T(V'). Then from Lemma 3, there is some abstract OWL interpretation I' such that for any abstract OWL knowledge base X over V', I satisfies T(X) iff I' satisfies X. Thus I' satisfies K. Because K OWL entails Q, I' satisfies Q, so I satisfies T(Q). Thus T(K),T(V') OWL/DL entails T(Q).

Suppose T(K),T(V') OWL/DL entails T(Q). Let I' be an abstract OWL interpretation that satisfies K. Then from Lemma 4, there is some OWL/DL interpretation I that satisfies T(V') such that for any abstract OWL knowledge base X over V', I satisfies T(X) iff I' satisfies X. Thus I satisfies T(K). Because T(K),T(V') OWL/DL entails T(Q), I satisfies T(Q), so I' satisfies Q. Thus K abstract OWL entails Q.


A.2 Correspondence between OWL/DL and OWL/Full

This section contains a poof sketch concerning the relationship between OWL/DL and OWL/Full. This proof has not been fully worked out. Significant effort may be required to finish the proof and some details of the relationship may have to change.

Let K be a collection of n-triples. An OWL interpretation of of K is an OWL interpretation (from Section 5.2) that is an RDFS interpretation of K.

Lemma: Let K be an OWL KB in the abstract syntax with separated vocabulary. Then for every OWL interpretation of T(K) there is an OWL/DL interpretation (as in Section 5.3) of T(K), and vice versa.

Proof sketch: As all OWL/DL interpretations are OWL interpretations, the reverse direction is obvious.

Let I = < RI, EXTI, SI > be an OWL interpretation of T(K). Let I' = < RI', EXTI', SI' > be an OWL interpretation of T(K). Let RI' = CEXTI(SI(owl:Thing)) + CEXTI(SI(owl:ObjectProperty)) + CEXTI(SI(owl:IndividualProperty)) + CEXTI(SI(owl:Class)) + CEXTI(SI(rdf:List)) + RI, where + is disjoint union. Define EXTI' so as to separate the various roles of the copies. Define SI' so as to map vocabulary into the appropriate copy. This works because K has a separated vocabulary, so SI can be split according the the roles, and there are no inappropriate relationships in EXTI. In essence the first component of RI' is OWL individuals, the second component of RI' is OWL datatype properties, the third component of RI' is OWL object properties, the fourth component of RI' is OWL classes, the fifth component of RI' is RDF lists, and the sixth component of RI' is everything else.

Theorem: Let K,C be collections of n-triples such that each of K, C, and K∪C is the translation of some OWL KB in the abstract syntax with separated vocabulary. Then K OWL/Full entails C if K OWL/DL entails C.

Proof: From the above lemma and because all OWL/Full interpretations are OWL interpretations.

Comment: The only if direction cannot be proved without showing that OWL/Full has no semantic oddities, which has not yet been done.