- From: Steve Harris <steve.harris@garlik.com>
- Date: Thu, 30 Sep 2010 23:49:34 +0100
- To: Andy Seaborne <andy.seaborne@epimorphics.com>
- Cc: Lee Feigenbaum <lee@thefigtrees.net>, SPARQL Working Group <public-rdf-dawg@w3.org>
On 30 Sep 2010, at 19:19, Andy Seaborne <andy.seaborne@epimorphics.com> wrote:
> On 30/09/10 13:51, Lee Feigenbaum wrote:
>> On 9/30/2010 6:57 AM, Andy Seaborne wrote:
>>> Following a jena-dev question, I wondered what do implementations do
>>> with the following?
>>>
>>> # Duplicate select variable - SPARQL 1.0
>>> SELECT ?s ?s ?p ?o
>>> {
>>> ?s ?p ?o
>>> }
>>
>> Glitter returns the ?s "column" twice, including listing it twice in the
>> <head> of the SRX.
>
> ARQ suppresses the duplicate although that's (now) controlled by a flag and the ARQ test suite passes with either setting. I did have to fix the result set XML readers to cope; the JSON parser handles this at the JSON level.
>
> The tricky case is
>
> SELECT (?x+?y AS ?z) (?2*?x AS ?z)
>
> which is a static error in ARQ
> but this is easier:
>
> SELECT (?x+?y AS ?z) ?z
>
> so of the 4 cases, ARQ only allows only allows
>
> SELECT ?z ?z
>
> and normally it means one variable but switching to two (should!) work.
>
> The SPARQL 1.1 text needs clarification.
>
>>
>>> # Duplicate group by variable
>>> SELECT ?s
>>> {
>>> ?s ?p ?o
>>> } GROUP BY ?s ?s
>>
>> I haven't tried this, but I'd expect this just works the same as GROUP
>> BY ?s - is there a subtlety here that I'm missing?
>
> My reading of the defn of aggregation is that there is a key for the group which is the pair (?s, ?s) not simple ?s (the group key is ExprList - an expression list). That means you'll get exactly the same answers although the route to getting them is slightly different but it's not observable.
Agreed.
- Steve
Received on Thursday, 30 September 2010 22:50:55 UTC