Re: another aggregates test case...

On 2010-06-09, at 10:23, Andy Seaborne wrote:
> 
> On 09/06/2010 10:08 AM, Steve Harris wrote:
>>> which leads me to a fairly natural interpretation of
>>> >
>>> >  SELECT ?s ?p
>>> >  {
>>> >     ?s ?p ?p
>>> >  } GROUP BY ?s ?p
>>> >
>>> >  as "null aggregation"
>> I don't understand the term "null aggregation".
> 
> It is a term earlier in the thread to capture the idea that SELECT/GROUP with no aggregators mentioned fitted into the current framework with an implicit aggregator that did nothing.

This is captured in the current draft with:

"Definition: Group

Group evaluates a list of expressions against a solution sequence, producing a set of partial functions from keys to solution sequences.

The behaviour of Group is different when ExprList is empty.

Group((), Ω) = { 1 -> Ω }

Group(ExprList, Ω) = { ListEval(ExprList, μ) -> { μ' | μ' in Ω, ListEval(ExprList, μ) = ListEval(ExprList, μ') } | μ in Ω }"

http://www.w3.org/TR/2010/WD-sparql11-query-20100601/#aggregateAlgebra

"1" is just some arbitrary value that I plucked from thin air. I could have invented a new symbol, but that's arguably less clear. I guess the empty list would have been a good choice too.

- Steve

-- 
Steve Harris, Garlik Limited
1-3 Halford Road, Richmond, TW10 6AW, UK
+44 20 8439 8203  http://www.garlik.com/
Registered in England and Wales 535 7233 VAT # 849 0517 11
Registered office: Thames House, Portsmouth Road, Esher, Surrey, KT10 9AD

Received on Wednesday, 9 June 2010 12:43:49 UTC