W3C home > Mailing lists > Public > public-owl-dev@w3.org > October to December 2007

RE: [OWLWG-COMMENT] Example why current RDF mapping for QCRs might hurt OWL-1.1-Full

From: Michael Schneider <schneid@fzi.de>
Date: Mon, 17 Dec 2007 23:32:35 +0100
Message-ID: <0EF30CAA69519C4CB91D01481AEA06A05A5DA1@judith.fzi.de>
To: "Pat Hayes" <phayes@ihmc.us>
Cc: "Owl Dev" <public-owl-dev@w3.org>

Hi Pat!

Many thanks for looking through my reasoning! The rest of this thread moved
a bit in a different direction from what I had expected...

Regarding your suggestion to fix the issue, you claim that it will be
backwards compatible with OWL-1.0. But I do not recognize how this can
really be achieved. Please see below!

Pat Hayes wrote:

>> I wrote:
>>
>>>Let's regard the following OWL-1.1-DL ontology in Functional 
>Syntax, which
>>>makes use of QCRs:
>>>
>>>   (A1) SubClassOf(Human ObjectExactCardinality(2 hasBodyPart Leg))
>>>   (A2) SubClassOf(Dog ObjectExactCardinality(2 hasBodyPart Ear))
>>>   (A3) SubClassOf(Dog ObjectExactCardinality(4 hasBodyPart Leg))
>>>   (A4) ClassAssertion(pluto Dog)
>>>
>>>In natural English:
>>>
>>>   "A human has exactly two legs as body parts (A1),
>>>   while a dog has two ears (A2) and four legs (A3).
>>>   There is also some dog named 'Pluto' (A4)."
>>>
>>>It is clear that this ontology will be satisfiable in 
>OWL-1.1-DL. I will
>>>show that the current RDF mapping of QCRs translates this 
>ontology into an
>>>RDF graph, which will most likely be *inconsistent* under 
>OWL-1.1-Full
>>>semantics. Note that the above ontology does not look very 
>contrieved, so I
>>>expect that the problem shown below will hit many 
>OWL-1.1-Full ontologies.
>>>
>>>Here is my reasoning why the above ontology will probably be 
>inconsistent
>>>under OWL-1.1-Full semantics:
>>>
>>>The RDF translation for axiom (A1) is, under the current RDF 
>mapping for
>>>QCRs, given by (leaving out obvious typing triples):
>>>
>>>   (R11) <Human> rdfs:subClassOf _:x .
>>>
>>>   (R12) _:x rdf:type owl:Restriction .
>>>   (R13) _:x owl:onProperty <hasBodyPart> .
>>>   (R14) _:x owl:cardinality 2 .
>>>   (R15) _:x owl11:onClass <Leg> .
>>>
>>>As Peter has already pointed out, the RDF graph 
>{(R12),(R13),(R14)} is
>>>itself the RDF translation of an *other* OWL construct, which is an
>>>UN-qualified cardinality restriction on property 'hasBodyPart'.
>
>Indeed. Coming to this discussion rather late, 
>and not having followed the threads, I have to 
>say that this is blindingly obvious, and the 
>resulting problems it will produce also 
>blindingly obvious. Clearly, this RDF translation 
>is seriously broken, and should never have been 
>considered for more than a moment.
>
>This might have been more obvious if instead of 
>thinking of the RDF as a mere syntactic 
>transcription of an alien notation, one had tried 
>to extend the current OWL-Full semantics directly.
>
>There are several ways to get around this. The 
>most obvious seems to be to modify R12, by 
>introducing a new class of Q-restrictions, so 
>that the RDF translation becomes
>
>(R'12) _:x rdf:type owl:QRestriction .
>(R'13) _:x owl:onProperty <hasBodyPart> .
>(R'14) _:x owl:cardinality 2 .
>(R'15) _:x owl11:onClass <Leg> .
>
>To keep this 'clean', the other restrictions 
>should be in another new disjoint class, which I 
>will call UQRestriction. Then
>
>(R''12) _:x rdf:type owl:UQRestriction .
>(R'13) _:x owl:onProperty <hasBodyPart> .
>(R'14) _:x owl:cardinality 2 .
>
>is the RDF translation for the other restrictions, and we also have
>
>owl:UQRestriction rdfs:subClassOf owl:Restriction .
>owl:QRestriction rdfs:subClassOf owl:Restriction .
>owl:QRestiction owl:disjointWith owl:UQRestriction .
>
>I believe the appropriate semantic conditions can 
>then be applied without any confusion arising. 
>This is of course backwards compatible with OWL 
>1.0, in which
>
>owl:UQRestriction rdfs:subClassOf owl:Nothing .

I think, you certainly mean

  owl:QRestriction rdfs:subClassOf owl:Nothing .

("there are now QCRs in OWL-1.0 ontologies").

>
>also holds.

First let me check whether I understand your strategy correctly: 

  * Do you mean that the classes QRestriction and UQRestriction, together
with the proposed set of axioms, should be added to the current OWL-1.0 spec
(with the "empty QRestriction" axiom). So there would be a bugfix release
for OWL-1.0 first, before OWL-1.1 gets released? 

  * Or do you mean that the suggested classes and axioms should only be put
into the new OWL-1.1/RDF semantics, leaving OWL-1.0 semantics as it is?

The first of these two options would look unrealistical to me. But for the
second option I do not see how to maintain backwards compatibility to
OWL-1.0. I will refer to a hypothetical RDF compatible OWL-1.1 semantics,
which contains your proposed classes and axioms, by using the name
"OWL-1.1[Pat]". 

Let's look again at our example of an (un-qualified) cardinality
restriction, coming from old OWL-1.0 days:

  (R11) _:x rdf:type owl:Restriction .
  (R12) _:x owl:onProperty <hasBodyPart> .
  (R13) _:x owl:cardinality 2 .

This RDF graph {(R1*)} has clear OWL-1.0 semantics. But I do not see what
{(R1*)} actually means in OWL-1.1[Pat]. What I /need/ to get from this
graph, in order to get backwards compatibility, is that '_:x' denotes a "=1"
cardinality restriction on property p under OWL-1.1[Pat] semantics. What I
/actually/ know is that we /could/ derive this needed information in
OWL-1.1[Pat] from the following RDF graph:

  (R21) _:x rdf:type owl:UQRestriction .
  (R22) _:x owl:onProperty <hasBodyPart> .
  (R23) _:x owl:cardinality 2 .

But what I actually /have/ is {(R1*)} instead of {(R2*)}. 

What I am missing is a semantical "transition path" from {(R1*)} to {(R2*)}.
Or, alternatively, a "direct" set of semantic conditions in OWL-1.1[Pat],
which result in entailments directly from 1.0-style RDF graphs like {(R1*)}.
But I do not find such a "transition path" by examining your suggestion, and
I don't believe that the alternative idea of a "direct" set of semantic
conditions for RDF graphs like {(R1*)} would work. 

An example for such "direct" semantic conditions would be to reuse within
OWL-1.1[Pat] the original OWL-1.0 semantic conditions for cardinality
restrictions (I will call such an ontology language "OWL-1.1[Pat+1.0]").
This would probably be a natural idea (the idea of getting OWL-1.1-Full from
OWL-1.0-Full by simply extending its set of semantic conditions), but it
*won't* work! Because starting, for example, from the QCR

  (R31) _:x rdf:type owl:QRestriction .
  (R32) _:x owl:onProperty <hasBodyPart> .
  (R33) _:x owl:cardinality 2 .
  (R34) _:x owl11:onClass <Leg>

and using the OWL-1.1[Pat] axiom

  owl:QRestriction rdfs:subClassOf owl:Restriction

would OWL-1.1[Pat+1.0]-entail the RDF graph

  (R31') _:x rdf:type owl:Restriction .
  (R32') _:x owl:onProperty <hasBodyPart> .
  (R33') _:x owl:cardinality 2 .
  (R34') _:x owl11:onClass <Leg>
   
Now, the old 1.0-semantic conditions within OWL-1.1[Pat+1.0] would tell from
the sub(!) graph {(R31'),(R32'),(R33')} that _:x is an /un-qualified/
cardinality restriction (see sec. 5.2 in [1], table "Conditions on OWL
restrictions", last entry). So we would finally learn that _:x is both a
qualified restriction and an un-qualified restriction. And from OWL-1.1[Pat]
axiom

  owl:QRestiction owl:disjointWith owl:UQRestriction

we would find that {(R3*)} is an *inconsistent* ontology according to
OWL-1.1[Pat+1.0] semantics.

So, to conclude, I do not see how your suggested solution warrants OWL-1.0
backwards compatibility. And as I demonstrated above, it will not even be
possible to simply /extend/ the existing RDF compatible OWL-1.0 semantics
with your suggestion, because this would, in essence, introduce exactly the
same problem, as it currently exists for the proposed OWL-1.1 RDF mapping of
QCRs.

So, after all, I would still feel more comfortable to follow Peter's
proposed solution, because for his proposal I do not see any bigger
*semantical* problems (at least not at the moment ;-)).


Cheers,
Michael

[1] OWL S&AS - §5: RDF-Compatible Model-Theoretic Semantics
    http://www.w3.org/TR/owl-semantics/rdfs.html

--
Dipl.-Inform. Michael Schneider
FZI Forschungszentrum Informatik Karlsruhe
Abtl. Information Process Engineering (IPE)
Tel  : +49-721-9654-726
Fax  : +49-721-9654-727
Email: Michael.Schneider@fzi.de
Web  : http://www.fzi.de/ipe/eng/mitarbeiter.php?id=555

FZI Forschungszentrum Informatik an der Universität Karlsruhe
Haid-und-Neu-Str. 10-14, D-76131 Karlsruhe
Tel.: +49-721-9654-0, Fax: +49-721-9654-959
Stiftung des bürgerlichen Rechts
Az: 14-0563.1 Regierungspräsidium Karlsruhe
Vorstand: Rüdiger Dillmann, Michael Flor, Jivka Ovtcharova, Rudi Studer
Vorsitzender des Kuratoriums: Ministerialdirigent Günther Leßnerkraus
Received on Monday, 17 December 2007 22:32:51 GMT

This archive was generated by hypermail 2.3.1 : Wednesday, 27 March 2013 09:32:55 GMT