W3C home > Mailing lists > Public > public-rdf-dawg@w3.org > January to March 2011

Aggregation Set Functions

From: Steve Harris <steve.harris@garlik.com>
Date: Fri, 11 Feb 2011 10:55:22 +0000
Message-Id: <669FEF10-9EA7-4D11-889C-26F70122BB4D@garlik.com>
To: SPARQL Working Group <public-rdf-dawg@w3.org>
Hi all,

Currently the Set Functions in Aggregates (ie. the underlying functions) are defined like:

Func(M, errors, scalars)

where M a multiset of the values from the group, e.g. if you have SUM(?x) and ?x is 1,2,3 in the group, then M = (1,2,3). But M is defined used ListEvalE(), so all the results which are errors are removed from the multiset.

errors is a count of the errors (which where removed from M).

I think it would be much simpler if instead M included the errors, and the error count argument was dropped, then it would be:

   M = ListEval(exprlist, range(g))

   func(M, scalarvals), for non-DISTINCT
   func(Distinct(M), scalarvals), for DISTINCT

Dave B also complained about the error count argument saying it was redundant in his comment.

I don't quite remember why it was included? I think Andy S might have suggested it, something about future extensibility? But I don't see what function it performs.

So, my question is, can anyone think of a good reason to keep it?

- Steve
Steve Harris, CTO, 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 Friday, 11 February 2011 10:55:57 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 15:01:03 UTC