- From: Benjamin Nowack <bnowack@appmosphere.com>
- Date: Thu, 26 Jul 2007 17:06:47 +0200
- To: Harry Halpin <hhalpin@ibiblio.org>
- Cc: Garret Wilson <garret@globalmentor.com>, Semantic Web <semantic-web@w3.org>, "Bruce D'Arcus" <bdarcus@gmail.com>
(sorry, accidentally sent an incomplete reply, not to the semweb list, though) On 26.07.2007 09:39:28, Harry Halpin wrote: >Bruce D'Arcus wrote: >> Everyone I have talked to has discouraged use of rdf:Seq. Yes, I think that's a reasonable general suggestion, which should cover both collections and containers (i.e. if you can model your domain w/o explicit ordering, great.). But when it comes to seq vs. list, I found seq to be more efficient. >>AFAIK, you >> cannot really query it (rdf:Seq) reliably with SPARQL either, though >>am not sure of that. >Is that true? Oh dear. Anyone have more info? You should be able to do (pseudo-sparql): [[ SELECT ?pos ?name WHERE { <#card4711> vcard:additional-names [ ?pos ?name ] . } ORDER BY ?pos . ]] or (expanded): [[ SELECT ?pos ?name WHERE { <#card4711> vcard:additional-names ?seq . ?seq ?pos ?name . } ORDER BY ?pos . ]] Something like this at least lets you retrieve the names in one query, most stores should even get the sorting right (at least for i<10). SPARQLing rdf:List/rest/nil is more complicated or not possible at all if you don't know the list length. (The query above will include the rdf:type=rdf:Seq triple, but you could get rid of the non-rdf:li information via a FILTER or simple custom code.) best, benjamin -- Benjamin Nowack http://bnode.org/
Received on Thursday, 26 July 2007 15:07:06 UTC