W3C home > Mailing lists > Public > public-owl-wg@w3.org > March 2009

RE: A problem with HasKey in the functional-style syntax

From: Michael Schneider <schneid@fzi.de>
Date: Wed, 18 Mar 2009 21:36:11 +0100
Message-ID: <0EF30CAA69519C4CB91D01481AEA06A0011330BD@judith.fzi.de>
To: "Boris Motik" <boris.motik@comlab.ox.ac.uk>
Cc: "W3C OWL Working Group" <public-owl-wg@w3.org>
>-----Original Message-----
>From: public-owl-wg-request@w3.org [mailto:public-owl-wg-request@w3.org]
>On Behalf Of Boris Motik
>Sent: Wednesday, March 18, 2009 6:37 PM
>To: 'W3C OWL Working Group'
>Subject: A problem with HasKey in the functional-style syntax
>
>Hello,
>
>I've just noticed a problem in the functional-style syntax for HasKey.
>The
>current syntax is
>
>HasKey( CE P1 ... Pn )
>
>where Pi are either object or data properties. But this means that the
>axiom is
>not fully typed. Consider, for example, the following axiom:
>
>HasKey( a:MyClass a:MyProperty )
>
>>From this axiom alone, it is not clear whether a:MyProperty is an
>object or a
>data property. Effectively, this means that we haven't addressed
>correctly the
>comment by Matthew Horridge.
>
>My proposal for fixing this is to write the above axiom like this:
>
>HasKey( a:MyClass ObjectPropertyList( a:MyProperty ) )
>
>More generally, the grammar would be like this:
>
>HasKey := 'HasKey' '(' ClassExpression
>    'ObjectPropertyList' '(' { ObjectPropertyExpression } ')' |
>    'DataPropertyList'   '(' { DataPropertyExpression   } ')'
>')'

I don't understand this proposal. It seems to only cover the special cases,
where there are exclusively either object properties or data properties in
the argument list. What about mixtures of object and data properties?

I first also wondered what this does buy us (or Matthew) at all, since this
doesn't make the HasKey axiom "typed". But I think what you mean is that the
declarations will be at least "local" to the axiom here, and won't be spread
around over the whole ontology, as it is currently the case. Is this right?

Then, the obvious idea to me would be to generally allow for "inlined"
entity declarations, as in

  HasKey ( Class(CE) ObjectProperty(P1) DataProperty(P2) ObjectProperty(P3)
DataProperty(P4) )

One can allow this for every type of axiom, and make it mandatory in cases
such as for the properties in HasKey axioms.

Yes, I know, yet another larger change. But is there an alternative? (Maybe
I totally miss the point here?)

Best,
Michael

--
Dipl.-Inform. Michael Schneider
Research Scientist, Dept. Information Process Engineering (IPE)
Tel  : +49-721-9654-726
Fax  : +49-721-9654-727
Email: michael.schneider@fzi.de
WWW  : http://www.fzi.de/michael.schneider
=======================================================================
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, RP Karlsruhe
Vorstand: Prof. Dr.-Ing. Rüdiger Dillmann, Dipl. Wi.-Ing. Michael Flor,
Prof. Dr. Dr. h.c. Wolffried Stucky, Prof. Dr. Rudi Studer
Vorsitzender des Kuratoriums: Ministerialdirigent Günther Leßnerkraus
=======================================================================



Received on Wednesday, 18 March 2009 20:36:56 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Wednesday, 18 March 2009 20:36:56 GMT