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

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

From: Boris Motik <boris.motik@comlab.ox.ac.uk>
Date: Wed, 18 Mar 2009 20:53:40 -0000
To: "'W3C OWL Working Group'" <public-owl-wg@w3.org>
Message-ID: <840B498EE3BF4816BBC9FE2680B46674@wolf>
Hello,

I'm sorry -- you are right; I misplaced the pipe symbol. It should have been
like this:

HasKey := 'HasKey' '(' ClassExpression
    [ 'ObjectPropertyList' '(' { ObjectPropertyExpression } ')' ]
    [ 'DataPropertyList'   '(' { DataPropertyExpression   } ')' ]
')'

We should also add a restriction that there should be at least one (object or
data) property.

This suggestion is motivated by the UML diagram. In fact, to get closer to UML,
we could do this:

HasKey := 'HasKey' '(' ClassExpression
    [ 'ObjectProperties' '(' { ObjectPropertyExpression } ')' ]
    [ 'DataProperties'   '(' { DataPropertyExpression   } ')' ]
')'

I think I'd prefer not to repeat 'ObjectProperty' in front of each property. So
unless anyone objects, I'd go with the latter suggestion.

Thanks again for catching this!

Regards,

	Boris

> -----Original Message-----
> From: Michael Schneider [mailto:schneid@fzi.de]
> Sent: 18 March 2009 20:36
> To: Boris Motik
> Cc: W3C OWL Working Group
> Subject: RE: A problem with HasKey in the functional-style syntax
> 
> >-----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:54:47 GMT

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