Basically agreeing with Pat, see on,
Peter:
> >I claim that this precisely captures the intuitive meaning of my example.
> >Given an OWL KB, I need to be able to determine if an object in that KB
> >satisfies a restriction that is not necessarily mentioned in the KB.
> >I would be prepared to do this somewhat indirectly, as in
> >
> > <John, child, Joe>, <Joe, rdf:type, Person>
> > |= <John, rdf:type, :_2>, <:2, owl:sameAs?, :_1>,
> > <:_1, owl:onProperty, child>, <:_1, owl:hasClass, Person>
> >
> >However, I view any approach that does not come up with some way of doing
> >the above as fundamentally broken.
Pat:
> Yes, this is a very intense disagreement between us. I view your way
> of thinking here as itself totally broken. It insists on reducing all
> of logic to inferences in set theory, a perspective I have never even
> seen expressed before in any forum, logical or otherwise. I have
> always thought of DLs as a restricted form of logic, but you seem to
> have a completely different perspective, in which DL's are a branch
> of set theory,and even elementary logical reasoning has been
> eliminated in favor of set-theoretic constructions.
>
> Can you give us any reason at all why we should take this idea seriously?
>
> Pat
>
Set theory is believed to be a solved problem, but the best solutions (e.g.
ZF) are complicated. I think in the sort of approaches that both Pat and I
have been arguing for, the set theory is solved outside OWL. At some level
the awkward examples occur because DAML+OIL (and OWL) embed a relatively
naive way of talking about sets. If we try and construct a set theory in
this naive way then we hit trouble.
I don't see any harm in continuing to talk naively about sets within OWL, as
long as we don't confuse what we are doing with actually replacing ZF.
As I understand it, in a DL system with datatypes, the datatypes are
represented as some sort of oracle that is invoked when needed. I can
imagine a ZF oracle (hereafter ZFO) that logically corresponds to all purely
set-theoretic DAML+OIL statements that are consistent with a given knowledge
base.
Thus in Peter's example, using my solipsistic reasoning and the oracle,
<John, child, Joe>,
<Joe, rdf:type, Person>,
ZFO
|=
<John, child, Joe>,
<Joe, rdf:type, Person>
<:_1, owl:onProperty, child>,
<:_1, owl:hasClass, Person>
(because this set does exist because ZFO sees that
its existence is consistent with the rest of the model)
|=
<John, rdf:type, :_1>
(as my previous solipsistic message permitted).
I don't believe that the set theoretic needs of an OWL implementation are so
excessive that implementing such an oracle will be stressful in practice;
and until we have feedback that indicates that that is a problem I think we
should ignore the issue.
[I suspect that Peter's paradox does indicate that the fully comprehensive
ZFO is somewhat tricky - but I don't believe this will present real
practical problems in realistic implementation scenarios.]
Jeremy