- From: Dan Connolly <connolly@w3.org>
- Date: Mon, 15 Aug 2005 08:29:42 -0500
- To: Steve Harris <S.W.Harris@ecs.soton.ac.uk>
- Cc: DAWG public list <public-rdf-dawg@w3.org>
On Mon, 2005-08-15 at 11:05 +0100, Steve Harris wrote: > I now have a crude implementation of ORDER BY, but I'm finding the > arbitrary ordering specified in the language spec. a bit inconvientient. > > For example, if you have: > > SELECT ?v > WHERE { ?x rdf:value ?v . > FILTER(datatype(?v) = xsd:decimal) } > ORDER BY DESC(?v) > LIMIT 10 > > you might hope to get the highest v's back, but to my reading of the > spec you will get back the one with the most 9s at the start, or something > similar, as the ordering is lexical. Where do you see that? I see "If the ordering condition is a named variable, RDF Literals are compared with the "<" operator (see below) where possible." -- http://www.w3.org/2001/sw/DataAccess/rq23/#solutionsResults v1.464 of 2005/08/10 15:51:50 also in http://www.w3.org/TR/2005/WD-rdf-sparql-query-20050721/ and < is defined in the table below... A <B numeric numeric op:numeric-less-than(A, B) xs:boolean > One way to get that might be allow casting in the ORDER BY constraint > (ORDER BY DESC(xsd:decimal(?v)), but that adds complexity, and I'm not a > fan of that. Another would be to relax the constraints on what the order > must be (eg, to just ensuring that its consistant), to allow the > implementations to do something sensible. > > The current spec. seems to lead you to something which is quite > complicated to implement, but the complexity doesn't add much capability. > > - Steve -- Dan Connolly, W3C http://www.w3.org/People/Connolly/ D3C2 887B 0F92 6005 C541 0875 0F91 96DE 6E52 C29E
Received on Monday, 15 August 2005 13:29:46 UTC