- From: Jeen Broekstra <jeen@aduna.biz>
- Date: Fri, 27 May 2005 15:20:36 +0200
- To: andy.seaborne@hp.com
- Cc: RDF Data Access Working Group <public-rdf-dawg@w3.org>
Seaborne, Andy wrote: > This is a comment that I forgot to process fully. This points out that > ORDER BY is restrictive in that it only provided for a variable or a > function. > > http://lists.w3.org/Archives/Public/public-rdf-dawg-comments/2005May/0005.html > > > Richard Cyganiak wrote: > >> Comments on http://www.w3.org/2001/sw/DataAccess/rq23/ >> regarding the ORDER BY clause: >> >> >>> From the grammar: >> >> >> | [16] OrderExpression ::= FunctionCall | Var >> | [59] FunctionCall ::= URI '(' ArgList ')' >> >> This doesn't allow expressions like "?a + ?b" in the ORDER BY clause. Is >> this intentional? >> >> If not, this sentence from section 10.1 also needs updating: >> >> | An ordering condition can be a variable or a function call. > > > > There is no reason I can see not to allow an expression but the grammar > need tweaking. Grammar issues aside I'd like to see a use case before we decide to put it in. > But we can't just put "Expression" at this point because this is > ambigous: + and - can occur both as unary and binary operators. We > allow multiple ordering conditions on a single line so > > ORDER BY ?a + ?b > > It's either two ordering conditions: > > ORDER BY ?a > ORDER BY +?b > > or it's one condition > > ORDER BY (?a+?b) > > We already have grouping using ASC/DESC. We choose [] (mildly) because > ASC/DESC aren't functions. We (for consistency) use blank separated > lists of conditions. > > 0/ No change. Don't allow general expressions. > > 1/ change from using [] to using () for ASC and DESC > > ORDER BY (?a+?b) > ORDER BY ASC(?a+?b) > > 2/ Make special cases for () expressions inside and outside []. > > ORDER BY (?a+?b) > ORDER BY ASC[?a+?b] > > 3/ Always require () on expressions which are not simple variables or > function calls: > > ORDER BY (?a+?b) > ORDER BY ASC[(?a+?b)] > > 4/ Only one condition per ORDER BY; multiple ORDER BY clauses. > > > I propose #0 : > For a change to support expressions, #1 is the best in my opinion. Seconded on #0. Jeen
Received on Friday, 27 May 2005 13:21:43 UTC