W3C home > Mailing lists > Public > public-rdf-dawg@w3.org > July to September 2010

Re: isNumeric

From: Andy Seaborne <andy.seaborne@epimorphics.com>
Date: Mon, 20 Sep 2010 09:26:26 +0100
Message-ID: <4C971AB2.2010802@epimorphics.com>
To: Axel Polleres <axel.polleres@deri.org>
CC: SPARQL Working Group <public-rdf-dawg@w3.org>

On 19/09/10 21:13, Axel Polleres wrote:
> Hi all,
> Don't we need something like a function isNumeric to test for a numeric argument?
> Seems to be handy, useful for instance for numeric aggregates, or no?
> It seems COALESCE together with a cast would work as well, but
> something like
>    SUM(IF(isNumeric(?X), ?X, 0))
> looks better - at least to me - than:
>      SUM(COALESCE(xs:double(?X) , 0))
> Opinions?
> Axel

I believe we eventually agreed that sum() would skip any evaluation 
errors of the summation as being more consistent in style for SPARQL. It 
makes it more consistent since you can always do:


to make the check happen before the aggregate is called. We do not 
define any situation that causes a runtime evaluation error in SPARQL 
(systems may issue warnings or reject the query, of course).

PREFIX ex: <http://example.org/>
PREFIX rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#>

SELECT ?T (Sum(?Pr) AS ?P)
WHERE { ?Item rdf:type ?T; ex:price ?Pr }

We may want isNumeric, but it's not required here.


PS The data and queries have several syntax errors.
Received on Monday, 20 September 2010 08:27:02 UTC

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