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

Paul Gearon wrote:
> On Thu, Jun 17, 2010 at 6:19 PM, Norman Gray <norman@astro.gla.ac.uk> wrote:
>> Greetings.
>>
>> What is it that's so wrong/bad/wicked with rdf:List?  Can anyone point me to some reading?
> 
> I wouldn't say wrong, bad or wicked. Indeed, rdf:List is the structure
> of an RDF Collection, while the other option for grouping data is the
> RDF Container (Alt, Seq or Bag). The latter is typically considered to
> by poor modeling, and "everyone knows that" RDF Containers are bad and
> considered poor modeling practice.  :-)
> 
> The main problem with an RDF list is that there is no mechanism in
> SPARQL to query or update them. SPARQL only allows you to form queries
> that explicitly describe connections, while an arbitrary list can have
> any number of elements down its length. That means that you can refer
> to, say, the 2nd, 3rd, or 4th elements in the list, but there is no
> way to refer to ALL the elements in the list, since you don't know how
> long the list is.
> 
> SPARQL 1.1 will fix this problem with "property paths".

Just to clarify, are you saying then that there is, and never was 
anything wrong with rdf:List, and that the deficiency has always been 
with SPARQL, which is addressed in SPARQL 1.1, thus not an issue..?

Best,

Nathan

>> I have the impression that 'everyone knows that' rdf:List is bad in some way, but can't find any explicit account of what's so very wrong with it.  This is a pity, because I find myself wanting to use it.
>>
>> The page at [1] implies in passing that rdf:List represents 'bad modelling practice'.  [2] is an (unanswered) list question about rdf:List making an ontology OWL Full (which is clearly awkward if you want to do reasoning with things, but less so if you simply want to express things).
> 
> 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.
> 
>> [3] suggests ... well, I'm not completely clear what it suggests, but it seems that rdf:List isn't favourite for expressing lists.
>>
>> And what's the alternative, if I want to say in RDF that a particular thing is related to an ordered set of other things -- perhaps an article has a particular sequence of authors?  [4] refers to an OWLList ontology (and a broken link to a rationale).  I follow how that ontology works, but don't get the significance of the apparently minor ways in which it's different from rdf:List.
> 
> The alternative is the Container (rdf:Alt, rdf:Seq or rdf:Bag), but as
> I said, this is considered bad practice. Use rdf:List instead.  :-)
> 
> Regards,
> Paul Gearon
> 
> 
> 

Received on Thursday, 17 June 2010 23:05:02 UTC