- From: Jeremy Carroll <jjc@hplb.hpl.hp.com>
- Date: Thu, 04 Sep 2003 14:32:00 +0100
- To: Jeremy Carroll <jjc@hplb.hpl.hp.com>
- Cc: "Peter F. Patel-Schneider" <pfps@research.bell-labs.com>, jjc@hpl.hp.com, www-webont-wg@w3.org
The goal of this message is to show that the B1 B2 approach is not
invalidated by our current difficult example:
(This is weaker than showing that B1 B2 is valid; the political goal is
merely to show that it isn't a completely lost cause!)
This msg is intended to be sufficiently straight forward and clear to be
easy to review.
> 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)))))
IndividualValuedProperty(r)
IndividualValuedProperty(rC)
IndividualValuedProperty(rA)
)
>
> Under the current mapping results in something containing:
>
X
> B rdf:type owl:Class .
> A rdf:type owl:Class .
rA rdf:type owl:ObjectProperty .
rC rdf:type owl:ObjectProperty .
r rdf:type owl:ObjectProperty .
> 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:
>
Y
> 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 .
>
As before Y simple-entails X.
i.e.
[[
> (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).
]]
To show that X owl-entails Y, we note that from the comprehension axioms:
{The parts of S&AS used are:
IOR subsetOf IOC
and
If exists x in IOOP and w in IOC then exists y in IOR s.t. <y,x> in
EXT((S(owl:onProperty)) and <y,w> in EXT((S(owl:allValuesFrom)).
}
X simple-entails
B rdf:type owl:Class .
rA rdf:type owl:ObjectProperty .
rC rdf:type owl:ObjectProperty .
r rdf:type owl:ObjectProperty .
which owl-entails (using comprehesion)
rA rdf:type owl:ObjectProperty .
rC rdf:type owl:ObjectProperty .
_:yr2 rdf:type owl:Restriction .
_:yr2 owl:onProperty r .
_:yr2 owl:allValuesFrom B .
_:yr2 rdf:type owl:Class .
which owl-entails (using comprehesion)
_:yr1 rdf:type owl:Restriction .
_:yr1 owl:onProperty rA .
_:yr1 owl:allValuesFrom _:yr2 .
_:yr3 rdf:type owl:Restriction .
_:yr3 owl:onProperty rC .
_:yr3 owl:allValuesFrom _:yr2 .
Hence X owl-entails
> B rdf:type owl:Class .
> A rdf:type owl:Class .
rA rdf:type owl:ObjectProperty .
rC rdf:type owl:ObjectProperty .
r rdf:type owl:ObjectProperty .
> 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 .
_:yr2 rdf:type owl:Restriction .
_:yr2 owl:onProperty r .
_:yr2 owl:allValuesFrom B .
_:yr1 rdf:type owl:Restriction .
_:yr1 owl:onProperty rA .
_:yr1 owl:allValuesFrom _:yr2 .
_:yr3 rdf:type owl:Restriction .
_:yr3 owl:onProperty rC .
_:yr3 owl:allValuesFrom _:yr2 .
Noting that this then owl-entails
_:yr1 owl:equivalentClass _:r1 .
and
_:yr3 owl:equivalentClass _:r3 .
we can further conclude that
A owl:equivalentClass _:yr1 .
and
C owl:equivalentClass _:yr3 .
and by discarding spurious triples and renaming the blank nodes we have the
result.
===
I believe that the technique used in the above demonstration can be
generalized and embedded within the inductive structure of the previous
flawed proof. However, this is non-trivial.
Jeremy
Received on Thursday, 4 September 2003 10:13:54 UTC