W3C home > Mailing lists > Public > public-owl-wg@w3.org > December 2008

RE: Question re: HasKey entailments

From: Michael Schneider <schneid@fzi.de>
Date: Tue, 30 Dec 2008 14:12:19 +0100
Message-ID: <0EF30CAA69519C4CB91D01481AEA06A0EA707C@judith.fzi.de>
To: "Jim Hendler" <hendler@cs.rpi.edu>, "OWL Working Group WG" <public-owl-wg@w3.org>
Hi Jim!

The idea behind the class a:Person (the first argument) in the HasKey axiom
is /not/ to entail that subjects of the key property a:hasSSN are instances
of the class a:Person. This could easily be achieved by putting an
additional domain axiom on that property a:hasSSN : PropertyDomain(a:hasSSN

Instead, the idea is that the given property a:hasSSN is only "key-ish" for
instances of a:Person. For instances outside of a:Person (or for instances
that are at least not known to be from a:Person), the property a:hasSSN does
not need to be a key. This allows to define a sort of "local key", i.e.
local to some given class, which you cannot define with inverse functional
In the given example, both a:Peter and a:Peter_Griffin are known to be in
class a:Person, and hence the property a:hasSSN really acts as a key for
them: They are entailed to be the same individual, based on the fact that
the objects of the two property assertions are equal ("123-45-6789"). But if
you drop the last axiom, then nothing specific is known about the individual
a:Peter_Griffin, and so the key axiom will not "fire".

To summarize: In order to make a HasKey(C p) axiom fire for two individuals
a and b, two premises must be met:

  (1) The objects x and y in two property assertions "a p x" and "b p y"
must be identical: x = y.

  (2) The individuals a and b must both be instances of the class C.

You can see these two conditions (somewhat buried by other conditions) in
the definitions of the semantics of Keys, both in the Direct Semantics [1]
and the RDF-Based Semantics [2].


[1] <http://www.w3.org/2007/OWL/wiki/Semantics#Keys>

>-----Original Message-----
>From: public-owl-wg-request@w3.org [mailto:public-owl-wg-request@w3.org]
>On Behalf Of Jim Hendler
>Sent: Monday, December 29, 2008 9:58 PM
>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 (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

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 Tuesday, 30 December 2008 13:13:00 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 16:41:54 UTC