- From: Steve Harris <S.W.Harris@ecs.soton.ac.uk>
- Date: Sat, 19 Mar 2005 12:03:01 +0000
- To: RDF Data Access Working Group <public-rdf-dawg@w3.org>
On Fri, Mar 18, 2005 at 04:45:49 +0000, Andy Seaborne wrote:
> 3/ Syntax
>
> SQL's "ORDER BY" clause
>
> XQuery also has an "order by" clause: it specifies the modifiers in full:
> "ascending" and "descending". Each system can take an expression or a
> column name (in SQL's case also a number).
>
>
> Proposed syntax (examples):
>
> SELECT *
> WHERE { :x :p ?v . :x :q ?w }
> ORDER BY ?v ?w
> LIMIT 10
> OFFSET 10
>
>
> Confusion point: SPARQL does not have commas so I omitted them here too but
> then
>
> ORDER BY ?v DESCENDING ?w
>
> is confusing (it means descending-in-?v, ascending-in-?w but is very easy
> to miss read).
>
> Alternative syntax: break from SQL, XQuery and have
> DESC(?v) ?w
> or some other clear association of modifier with expression.
>
> I prefer the (non-SQL) DESC(?x), ASC(xsd:integer(?x)) style for clarity.
Without commas? So do I, I think. I'm not toally happy about the fact that
ASC and DESC appear to be functions, unless they have some defination in
that sense.
> 4/ Ordering Expressions
>
> We have a requirement (3.3) for extensible value testing. Therefore, I put
> in expressions for ordering (like xquery, SQL) which allows types unknown
> to the core language to be ordered. This also allows casting (useful for
> dates in non-xsd:dateTime format or older RDF without datatypes).
>
> ORDER BY xsd:integer(?v)
>
> ORDER BY app:cordOrder(?x, ?y)
>
> Such an ordering function must not cause an evaluation failure. If it
> does, it is not determined whether any results, some results or all the
> results in some junk order are returned.
What does it return? A positional decimal? comparison function style -1,
0, +1?
- Steve
Received on Saturday, 19 March 2005 12:03:04 UTC