- From: Steve Harris <steve.harris@garlik.com>
- Date: Wed, 2 Mar 2011 10:07:57 +0000
- To: Birte Glimm <birte.glimm@comlab.ox.ac.uk>
- Cc: SPARQL Working Group <public-rdf-dawg@w3.org>
- Message-Id: <7BB8B59B-550C-4C47-A3A4-4911350A0F97@garlik.com>
Hi Birte, On 2011-03-01, at 13:59, Birte Glimm wrote: > Hi Steve, > I have some comment for the updaed version too (see below). I still would prefer 11.6 to have a more complete example, e.g., showing the query which required the agrregate join. All queries require AggregateJoin, it's used to turn the grouped solution sequence as used by aggregates, into a solution sequence that can be projected etc. I added a line of text to hopefully make this clearer, but it's a complex section, so easy to miss. "This is required to transform the aggregates solution multisets into solution multisets as used in the rest of the algebra." > 11.3 > ... > >HAVING expressions > there is an extra > now Fixed. > 11.6 > ...evaluating the Aggregate function*s* which share a key. Changed to "evaluating the Aggregate expressions which share a key", as I think that's probably clearer. > 11.7 > Note that the *bindgins* > <y> should probably be <http://example.com/data/#y> or :y (if abbreviated) Those have been fixed. Thanks, Steve > On 28 February 2011 23:04, Steve Harris <steve.harris@garlik.com> wrote: > Thanks Birte, that's very helpful. > > I've just committed version 1.212 which addresses these problems. > > I've also added an example showing how error are handled, and fixed some more typographical errors. > > - Steve > > On 2011-02-25, at 22:06, Birte Glimm wrote: > > > Steve, others, > > I have now reviewed Section 11 (Aggregates) and I attach my comments below. Mostly there are some typos and smaller corrections, but I can't make sense out of 11.6. I gues at least an example is need and probably a bit of text to put that subsection into context. > > Best regards, > > Birte > > > > 11 Aggregates > > ... > > Aggregates are used where the querier wishes to see a result which is > > compute*d* (not computer) > > > > 11.1 > > ... > > In aggregate queries and sub-queries variables that appear in the query > > pattern, but are not grouped by ... > > "not grouped by" sounds a bit strange to me, I would prefer just "but > > are not grouped" or "but not in the GROUP BY clause" > > > > "It should be noted that <link>as per functions</link>, aggregate expressions must > > be alised inorder to project them from queries or subqueries. In the > > example obove this is done using the variable ?totalPrice. It is an > > error for aggregates to project variables with a name already used in > > other aggregate projections." > > > > For me the link does not work. > > Should "alised" be aliased? > > obove <- above > > > > 11.2 > > ... > > "Within GROUP BY clases the assignment keyword, AS, may be used. Such > > as GROUP BY (?x + ?y AS ?z). " > > clases <- clauses > > Such as... Is not really a complete sentence and rather belongs to the previous > > sentence. > > > > ... > > "We can then Apply the set function Avg() to the group solutions, using the Aggregation() algebra function, as Aggregation((?y), Avg, {}, G), giving:..." > > apply (lowercase) > > I wondered what the empty set in the Aggregation() algebra function > > was, but in order to get any clues, one has to click on the link and > > read the algebra section. Maybe one can shortly comment on that > > already informally in Section 11.2 or choose an example that also uses > > that feature? > > > > 11.4 > > ... > > "Note that it would not be legal to project STR(?z) as this is not a > > simple variable expression." > > I guess it would be legal to select ?newZ if I were to use (STR(?z) AS > > ?newZ) right? If so, it would be nice to point that out too. > > > > "Other expresisons, not using GROUP BY variables, or aggregates may have non-deterministic values projected from their groups using the SAMPLE() aggeregate." > > aggeregate <- aggregate > > > > 11.5 > > "The set functions which underlie SPARQL aggregates all have a common > > signature: SetFunc(M, err), or SetFunc(M, err, scalarvals, ...) where M is a > > multiset of lists, err is a value indicating whether the evaluation of any of the > > expressions evaluated with respect to Ω " > > Here we have scalarvals again, so it might really be helpful to say a > > bit about that in the example in 11.2. Also I find Sigma a bit out of > > ontext here, it's the first time used in this section. Could the text > > not just say "a solution sequence"? > > > > "The name is retained due to the comonality with SQL Set Functions, > > which also operate over multisets." > > commonality > > > > "... Systems may choose to expand this set with *local using extensions*, using the same notation as for functions and casts. " > > local extensions? > > > > 11.6 > > "In order to project values from (sub-)queries using aggregate values, > > a Solution Multiset is constructed where each solution comprises the > > results of the Aggregate functions which share a key." > > Why upper case Solution Multiset and Aggregate functions? > > > > I can't really make sense out of that section. Maybe an example would > > help, but I neither see in what context I would need such aggregate > > joins nor how a query would look like that uses/requires this feature. > > > > > > -- > > Dr. Birte Glimm, Room 309 > > Computing Laboratory > > Parks Road > > Oxford > > OX1 3QD > > United Kingdom > > +44 (0)1865 283520 > > -- > 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 > > > > > -- > Dr. Birte Glimm, Room 309 > Computing Laboratory > Parks Road > Oxford > OX1 3QD > United Kingdom > +44 (0)1865 283520 -- 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 Wednesday, 2 March 2011 10:08:35 UTC