Re: problem with B1 B2

Summary: ball still in my court.


Hi

I *do* appreciate such concise criticism, even if the content is unwelcome.

I am still trying to understand this - I will try to echo back what I think 
Peter is driving at.

Peter F. Patel-Schneider wrote:

> [[There may be some infelicities in this message, as I do not have full
> internet connectivity just now. I believe that the main points are correct,
> however.]]
> 
> Unfortunately, the B1-B2 extension to the mapping rules results in
> incomparable mappings for OWL DL ontologies.  (One reason that I took so
> long in getting to this point was that I was trying to fix details of
> Jeremy's message, and thus wasn't getting to the real problem.)
> 
> The main problem is that the following assumption from Jeremy is not
> correct: 
> 
> | The only possible syntactic uses of bnodes
> | corresponding to descriptions in OWL DL occur
> | either in triples whose OWL Full semantics
> | depends only on the class extension of the bnode,
> | or on rdf:first triples in lists which are the object
> | of owl:unionOf and owl:intersectionOf triples.
> 
> Descriptions can, of course, be part of other descriptions, as in 
> 
> Class(A complete restriction(r allValuesFrom(restriction(r allValuesFrom(B)))))
> 
> where one restriction is part of the other restriction.
> 
> Now consider the following ontology
> 
> Ontology(
> Class(B partial)
> Class(A complete restriction(r allValuesFrom(restriction(r allValuesFrom(B)))))
> Class(C complete restriction(r allValuesFrom(restriction(r allValuesFrom(B)))))
> )
> 
> Under the current mapping results in something containing:
> 
> B rdf:type owl:Class .
> A rdf:type owl:Class .
> A owl:equivalentClass _:r1 .
> _:r1 rdf:type owl:Restriction .
> _:r1 owl:onProperty r .
> :_r1 owl:allValuesFrom _:r2 .
> _:r2 rdf:type owl:Restriction .
> _:r2 owl:onProperty r .
> :_r2 owl:allValuesFrom B .
> C rdf:type owl:Class .
> C owl:equivalentClass _:r3 .
> _:r3 rdf:type owl:Restriction .
> _:r3 owl:onProperty r .
> :_r3 owl:allValuesFrom _:r4 .
> _:r4 rdf:type owl:Restriction .
> _:r4 owl:onProperty r .
> :_r4 owl:allValuesFrom B .
> 
> 
> Under the B1/B2 proposal there could be a mapping to:
> 
> B rdf:type owl:Class .
> A rdf:type owl:Class .
> A owl:equivalentClass _:r1 .
> _:r1 rdf:type owl:Restriction .
> _:r1 owl:onProperty r .
> :_r1 owl:allValuesFrom _:r2 .
> _:r2 rdf:type owl:Restriction .
> _:r2 owl:onProperty r .
> :_r2 owl:allValuesFrom B .
> C rdf:type owl:Class .
> C owl:equivalentClass _:r3 .
> _:r3 rdf:type owl:Restriction .
> _:r3 owl:onProperty r .
> :_r3 owl:allValuesFrom _:r2 .
> 
> 
> These two RDF graphs are not equivalent under the OWL RDFS semantics, which
> causes the correspondence theorem to break down.

(This sentence is untrue, see below)

> 
> peter
> 


Calling the first set of triples X, and the second Y.

In Y

A is related by owl:equivalentClass to some restriction which is related by 
owl:allValuesFrom to some restriction (_:r2).
B is related by owl:equivalentClass to some restriction which is related by 
owl:allValuesFrom to the same restriction (_:r2).

In X this above fact is not trivially true; and Peter is (if I understand 
correctly) arguing that I have not shown that this is in fact a necessary 
consequence of what we know about X. (Although he makes the stronger 
statement that is *not* a necessary consequence).

I first demonstrate that Peter's statement is false, and then I suggest a 
strengthening of his example which undermines my demonstration.

a) Y trivially simple-entails X.
(By duplicating some of the triples and substituting the variable _:r2 with 
the new variable _:r4 in some of the triples - both steps being sound 
according to simple entailment).

b) X owl-entails Y

By defn of owl:Restriction and owl:equivalentClass we have,

_:r2 owl:equivalentClass _:r4

Hence we also have

_:r1 owl:equivalentClass _:r3

Hence X owl entails
 > B rdf:type owl:Class .
 > A rdf:type owl:Class .
 > A owl:equivalentClass _:r1 .
 > _:r1 rdf:type owl:Restriction .
 > _:r1 owl:onProperty r .
 > :_r1 owl:allValuesFrom _:r2 .
 > _:r2 rdf:type owl:Restriction .
 > _:r2 owl:onProperty r .
 > :_r2 owl:allValuesFrom B .
 > C rdf:type owl:Class .
 > C owl:equivalentClass _:r1 .

which simple entails Y (as before)


===

This demonstration
a) is not a special case of my supposedly general proof of B1 B2
and
b) will not work with the modified example as follows:


 > Now consider the following ontology
 >
 > Ontology(
 > Class(B partial)
 > Class(A complete restriction(rA allValuesFrom(restriction(r 
allValuesFrom(B)))))
 > Class(C complete restriction(rC allValuesFrom(restriction(r 
allValuesFrom(B)))))
 > )
 >
 > Under the current mapping results in something containing:
 >
 > B rdf:type owl:Class .
 > A rdf:type owl:Class .
 > A owl:equivalentClass _:r1 .
 > _:r1 rdf:type owl:Restriction .
 > _:r1 owl:onProperty rA .
 > _:r1 owl:allValuesFrom _:r2 .
 > _:r2 rdf:type owl:Restriction .
 > _:r2 owl:onProperty r .
 > _:r2 owl:allValuesFrom B .
 > C rdf:type owl:Class .
 > C owl:equivalentClass _:r3 .
 > _:r3 rdf:type owl:Restriction .
 > _:r3 owl:onProperty rC .
 > _:r3 owl:allValuesFrom _:r4 .
 > _:r4 rdf:type owl:Restriction .
 > _:r4 owl:onProperty r .
 > _:r4 owl:allValuesFrom B .
 >
 >
 > Under the B1/B2 proposal there could be a mapping to:
 >
 > B rdf:type owl:Class .
 > A rdf:type owl:Class .
 > A owl:equivalentClass _:r1 .
 > _:r1 rdf:type owl:Restriction .
 > _:r1 owl:onProperty rA .
 > _:r1 owl:allValuesFrom _:r2 .
 > _:r2 rdf:type owl:Restriction .
 > _:r2 owl:onProperty r .
 > _:r2 owl:allValuesFrom B .
 > C rdf:type owl:Class .
 > C owl:equivalentClass _:r3 .
 > _:r3 rdf:type owl:Restriction .
 > _:r3 owl:onProperty rC .
 > _:r3 owl:allValuesFrom _:r2 .
 >

I will consider this new example in more depth and respond again.

Jeremy

Received on Monday, 1 September 2003 13:53:38 UTC