- From: Jim Hendler <hendler@cs.rpi.edu>
- Date: Mon, 29 Dec 2008 15:57:48 -0500
- To: OWL Working Group WG <public-owl-wg@w3.org>
(Since I'm not a member of the WG this can be considered a LC comment
or since my group is in the group, you can consider it an internally
discussible comment)
I was talking to someone about keys and we were looking at the
document section on this (http://www.w3.org/2007/OWL/wiki/Syntax#Keys)
where the example is given of
HasKey( a:Person a:hasSSN )
PropertyAssertion( a:hasSSN a:Peter "123-45-6789" )
ClassAssertion( a:Person a:Peter )
PropertyAssertion( a:hasSSN a:Peter_Griffin "123-45-6789" )
ClassAssertion( a:Person a:Peter_Griffin )
and my colleague asked why the last axiom wasn't entailed by the
HasKey. We went and looked in the model theory, and it says under the
circumstances of the first four expressions HasKey won't apply
(because there's no evidence of a CE for Peter_Griffin) -- so it
appears this is not entailed in the current model theory.
Guess my question is why does one need the additional condition (and
thus the additional axiom) -- wouldn't it follow that if HasKey
relates person's via hasSSN (i.e. the HasKey assertion) that anything
that has that key (the SSN) would have to be a person?
If HasKey would entail that the domain of the property asserted
would be the first argument to the HasKey (which is what seems to be
intended) then wouldn't the fact that X is an element of
(CE)^^C [1] and in fact that it is a Person follow?
Is there a reason we don't do this ?-- would seem to simplify the
use of HasKey without causing an obvious semantic harm that I can see
(and would make its use more intuitive in many cases).
thanks
JH
[1] sorry, my mailer doesn't seem to like the fonts from the document
- see http://www.w3.org/2007/OWL/wiki/Syntax#Keys fpr the
Received on Monday, 29 December 2008 20:58:26 UTC