- From: Andy Seaborne <andy.seaborne@epimorphics.com>
 - Date: Fri, 07 Oct 2011 15:26:32 +0100
 - To: public-rdf-dawg@w3.org
 
On 07/10/11 13:15, Steve Harris wrote:
> Comment:
> http://lists.w3.org/Archives/Public/public-rdf-dawg-comments/2011Aug/0000.html
>
> Draft response:
> http://www.w3.org/2009/sparql/wiki/CommentResponse:BT-1
>
> - Steve
>
The example is a bit more complicated because it involved aggregation 
and select expressions.
An error in an aggregate is not trapped specifically by the aggregate - 
it's an error.  In the example it's because the select expression that 
you get an unbound.
SELECT ( 1/0 AS ?x ) {}
is:
-----
| x |
=====
|   |
-----
this then explains the second point: ?c can be bound if AVG is an error 
because the AVG error is handled in SELECT expressions.
SELECT
    ( COALESCE(SUM(?a),"error") AS ?x )
    (SUM(?a) AS ?y )
{ BIND ("abc" AS ?a) }
==>
---------------
| x       | y |
===============
| "error" |   |
---------------
and then HAVING( aggregate error ) is just like a FILTER and error.
	Andy
Received on Friday, 7 October 2011 14:27:05 UTC