Re: Suggestion to change RDF encoding of HasKey axioms [RE: I've implemented the change to the syntax of HasKey]

Ouch. I fell into the same trap again:-( Yes, I remember the QCR problem!

I must admit, having thought through all this: I do not like it.
Sorry....:-( What this solution means is that if I have only object
properties p1 an p2 as keys (or properties that I do not care the type
of) I still have to say

[ a owl:Key ;
  owl:keyClass <C> ;
  owl:keyObjectProperties (p1 p2) ;
  owl:keyDataProperties ()
]

Ie, I _have_ to put the empty list for data properties even if, at that
point, I do not really care about data properties. This is highly error
prone, let alone ugly in RDF. Error prone because we can bet that people
will forget to add that empty list, in which case the keys would not work.

What I could imagine is:

1. keep the old C owl:hasKey (p1 p2 p3 ... ) encoding with the
assumption that the backward mapping to FS maps p1, p2, ... p3 to object
properties
2. _add_ the encoding you propose as an alternative in case I really
really care that about the category of the properties, ie, I want to
have an ontology that would be DL.

But I do not think I would like to have alternative #1 only...

Why did we have this whole thing again? Oh yes, the comment of Matthew
on explicit typing of properties. Sigh... Maybe we should re-discuss
this? (/me ducks:-)

Ivan


Michael Schneider wrote:
>> -----Original Message-----
>> From: Ivan Herman [mailto:ivan@w3.org]
> 
>> So, just as a thought experiment: why not say that, by default,
>> properties listed in a hasKey are object properties (ie, I can put there
>> a list of properties, simply), but I can have a separate list which
>> explicitly lists datatype properties? Ie,
>>
>> - if I want to have FS-compatible encoding, I would separate these two
>> and make the encoding proper in FS
>> - if I do not really care about FS, I would probably disregard the
>> datatype property part of keys and just use the list of properties.
>>
>> Ivan
> 
> This would not properly work. 
> 
> Say the combination of knowing some person and the date since knowing him would make a key. You might encode this as
> 
>   (1) _:x rdf:type owl:Key .
>   (2) _:x owl:keyClass foaf:Person .
>   (3) _:x owl:keyObjectProperties ( foaf:knows ) .
>   (4) _:x owl:keyDataProperties ( ex:since ) .
> 
> Now, let's say you have the following data:
> 
>   ex:alice rdf:type foaf:Person ;
>            foaf:knows ex:charly ;
>            ex:since "2003-08-17"^^xsd:date .
> 
>   ex:bob rdf:type foaf:Person ;
>          foaf:knows ex:charly ;
>          ex:since "1994-04-12"^^xsd:date .
> 
> With your approach of an *optional* data property list, you'll be surprised to learn that
> 
>   ex:alice owl:sameAs ex:bob .
> 
> Why? Because you would have actually created *two* key axioms. The triples
> 
>   (1), (2), (3)
> 
> would also make a valid encoding for a key axiom, stating that two foaf:PersonS are the same, if they foaf:knows the same person.
> 
> We had a similar problem in the past with the RDF encoding for QCRs, when they were encoded just as cardinality restrictions with an additional owl:onClass property. Doing such "monotonic extension" of existing RDF encodings will generally call for trouble.
> 
> Cheers,
> 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
> =======================================================================
> 

-- 

Ivan Herman, W3C Semantic Web Activity Lead
Home: http://www.w3.org/People/Ivan/
mobile: +31-641044153
PGP Key: http://www.ivan-herman.net/pgpkey.html
FOAF: http://www.ivan-herman.net/foaf.rdf

Received on Saturday, 21 March 2009 14:21:35 UTC