The Open Anzo Project

Semantic Application Middleware

Ticket #16 (closed enhancement: fixed)

Opened 1 year ago

Last modified 1 year ago

Glitter: implement aggregate ops: count(*), count(distinct *) and group by clause

Reported by: jpbetz Assigned to: lee
Priority: minor Milestone: 3.0 milestone1
Component: openanzo-glitter Version: 3.0
Keywords: sparql count Cc: lee

Description (Last modified by lee)

Add count(*), count(distinct *) and the group by clause to glitter grammar and implement SolutionGenerator? agnostic execution.

Change History

10/04/07 19:26:13 changed by jpbetz

(In [449]) addresses #16 reviewer: lee

Baseline (brute force) implementation of SELECT COUNT(*) in glitter: count results in-memory after solution generator has returned results.

10/04/07 22:51:20 changed by jpbetz

(In [450]) addresses #16 reviewer: lee

Add support for COUNT(DISTINCT *) to glitter. Also add test and modify COUNT(*) to make sure it is counting non-distinct results.

10/04/07 22:54:56 changed by jpbetz

  • status changed from new to assigned.

comment 2 is incorrect. Should say: .and modify COUNT(*) TEST to make sure it is counting...

Plan is to add GROUP BY support next.

10/04/07 23:06:56 changed by lee

Re [449]

(1) The JavaDoc? for the reduced parameter in the Projection constructor got split up by countAll.

(2) Would be good for the test to make sure that the count is a typed literal with datatype xsd:integer.

10/06/07 03:33:48 changed by jpbetz

(In [460]) addresses #16 reviewer: lee

Add support for GROUP BY to glitter.

10/06/07 12:28:17 changed by jpbetz

(In [461]) addresses #16 reviewer: lee

fix javadoc, add datatype integer check for count per comment 4 on ticket #16.

10/06/07 12:30:20 changed by jpbetz

  • owner changed from jpbetz to lee.
  • status changed from assigned to new.

lee, would you review the group by changes and close ticket if satisfied? thanks!

10/06/07 17:10:43 changed by jpbetz

  • description changed.
  • summary changed from Glitter: implement count(*) to Glitter: implement aggregate ops: count(*), count(distinct *) and group by clause.

10/06/07 17:20:57 changed by jpbetz

(In [462]) addresses #16 and #34 and #35 and #36 reviewer: lee

Fix big mess. r461 should have broken build but not all regressions tests were being run. This commit increases the amount of regressions tests we run. For regression tests that we cannot run I have opened tickets (#34, #35, #36). Also fixed bug in my code that should have caused build to fail: dataType for count was xsd:int, not xsd:integer. Lastly, sneek in proper hash code stuff for GroupByProjection?.

10/06/07 18:27:07 changed by lee

  • status changed from new to closed.
  • resolution set to fixed.
  • description changed.

This all looks good.

To note for the future: instead of dragging BigIntegers? into the picture to get xsd:integers, you can just use the 2 argument form of the TypedLiteral? constructor and pass in an int (or a string) and use the 2nd arg to type it as an xsd:integer.

10/06/07 18:27:20 changed by lee

  • description changed.
Copyright © 2007 - 2008 OpenAnzo.org