Re: What is it that's wrong with rdf:List

On Jun 18, 2010, at 12:22 PM, Sandro Hawke wrote:

> On Fri, 2010-06-18 at 10:38 +0200, Michael Schneider wrote:
>> Paul Gearon wrote:
>>> I haven't looked at your references yet, but both OWL Lite and OWL  
>>> DL
>>> have constructs in them that are expressed in RDF using a list. So
>>> using a list does not force a model to become OWL Full.
>> OWL DL (and OWL Lite) does /not/ allow the use of RDF lists as / 
>> semantic
>> entities/, that is, you cannot use lists in statements like
>>    ex:journey ex:visitedCities ( ex:Berlin ex:London ex:Paris ) .
>> OWL DL uses RDF lists as part of the RDF encoding of its syntactic
>> constructs. For example, an intersection of classes is encoded by  
>> something
>> like
>>    _:x rdf:type owl:Class .
>>    _:x owl:intersectionOf ( :c1 :c2 ) .
>> So lists may only occur in these well-defined contexts. Every other  
>> use of
>> RDF lists is disallowed in OWL DL.
> This is such a bug in OWL DL.   :-(    I think I keep blotting it from
> my memory, it's so painful.
> As part of that, I don't remember any discussion of this in the OWL
> Working Group.

My recollection is that the List machinery was put into RDF *in order*  
to make it possible to encode OWL syntax in RDF. Originally, OWL was  
planning to use the RDF containers, but they just weren't adequate.

But I agree, it is a crock to have "used up" the general List  
vocabulary, when it is so extremely useful. It is hard now to keep the  
details straight in memory, but I think it simply did not occur to me  
(as an RDF group member) that the OWL-DL police would be so anal about  
syntactic restrictions: I tended to think of OWL as being (what turned  
out to be) OWL-Full all along. If I had thought of this, I would have  
argued for using a specialized OWL-expression vocabulary for the OWL  
encoding, leaving the rdf:LIst namespaces for general use. But its  
easy to be wise in retrospect.

>  Michael, do you have any idea how hard this would be to
> fix?  Naively, it seems to me like the OWL Functional Syntax could be
> extracted using the RDF list vocabulary when it's appropriate (eg as  
> the
> object of owl:intersectionOf), and the other RDF List triples could be
> treated as normal data.
> To rephrase: OWL could use/restrict owl:first/owl:rest/owl:nil and for
> backward compatibility it could convert between these and the rdf:
> versions for its own syntactic structures.
> Maybe there's a concern about someone making a subproperty of  
> rdf:first
> or something, but some counter-intuitive behavior if someone does that
> seems like a paltry concern compared to what we have now.

I agree, this is a very good idea. But it may be too late to change,  
now. It might be simpler to just let OWL have rdf:List and modify RDF  
by using a new vocabulary for general use.


>   -- Sandro

IHMC                                     (850)434 8903 or (650)494 3973
40 South Alcaniz St.           (850)202 4416   office
Pensacola                            (850)202 4440   fax
FL 32502                              (850)291 0667   mobile

Received on Friday, 18 June 2010 17:44:17 UTC