- From: Jeremy Carroll <jjc@hplb.hpl.hp.com>
- Date: Mon, 01 Sep 2003 18:48:22 +0100
- To: "Peter F. Patel-Schneider" <pfps@research.bell-labs.com>
- Cc: jjc@hpl.hp.com, www-webont-wg@w3.org
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