- From: Nathan <nathan@webr3.org>
- Date: Fri, 18 Jun 2010 00:03:53 +0100
- To: Paul Gearon <gearon@ieee.org>
- CC: Norman Gray <norman@astro.gla.ac.uk>, Semantic Web <semantic-web@w3.org>
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