atom feed1 message in org.w3.public-owl-commentsFwd: Question re: HasKey entailments
FromSent OnAttachments
Ian HorrocksJan 7, 2009 2:47 pm 
Subject:Fwd: Question re: HasKey entailments
From:Ian Horrocks (
Date:Jan 7, 2009 2:47:00 pm

In the subsequent discussion (see [1] and thread) it was agreed that the relevant language features are satisfactory, but it was also stated that the feature needs to be better documented. I have forwarded this to the public comments list so that appropriate action can be taken.



Begin forwarded message:

Resent-From: From: Jim Hendler <> Date: 29 December 2008 20:57:48 GMT To: OWL Working Group WG <> Subject: Question re: HasKey entailments

(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 ( 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 fpr the