Re: typing and overflow

John

See Section 17.3 (Operator Mapping) of the SPARQL 1.1 Query specification -
http://www.w3.org/TR/sparql11-query/#operandDataTypes - where it says the
following:

SPARQL follows XPath's scheme for numeric type promotions and subtype
substitution for arguments to numeric operators. The XPath Operator Mapping
<http://www.w3.org/TR/xpath20/#mapping>  rules for numeric operands
(xsd:integer, xsd:decimal, xsd:float, xsd:double, and types derived from a
numeric type) apply to SPARQL operators as well (see XML Path Language
(XPath) 2.0 <http://www.w3.org/TR/xpath20/>  [XPATH20
<http://www.w3.org/TR/sparql11-query/#XPATH20> ] for definitions of numeric
type promotions <http://www.w3.org/TR/xpath20/#promotion>  and subtype
substitution <http://www.w3.org/TR/xpath20/#dt-subtype-substitution> )

I.e. SPARQL defers to the XPath rules for type promotion and operator

I am not sure that XPath has anything specific to say about overflows since
often the range of the XSD types are significantly broader than their
namesakes in any given programming language.  For example xsd:integer
represents all integers whereas integers in a given programming language
usually have some upper bounds.  In my experience most implementations
typically use the biggest such appropriate native type internally for
calculations.

There is some mention of numeric overflow in the XPath specification but I
can't see anything specific about the circumstances in which it should
occur.

Rob

From:  John Yates <john.yates@sparqlcity.com>
Date:  Tuesday, 28 October 2014 04:59
To:  <public-sparql-dev@w3.org>
Cc:  Arthur Keen <arthur.keen@sparqlcity.com>
Subject:  typing and overflow
Resent-From:  <public-sparql-dev@w3.org>
Resent-Date:  Wed, 29 Oct 2014 21:06:55 +0000

> Coming from the world of statically typed languages I am trying figure out
> whether SPARQL specifies a model of type determination within expressions.  C
> and C++ have a set of integral promotions and a rule that - in the absence of
> a prototype - float gets promoted to double.  Those rules then imply the
> boundaries at which overflow checking occurs.
> 
> Does SPARQL have anything analogous?  Does SPARQL acknowledge overflow?  Where
> would I find such notions specified?
> 
> /john
>>> 
> 
> SPARQLcity reshapes the world of big data.
> Immediately gain knowledge from NoSQL databases.

Received on Wednesday, 29 October 2014 23:29:58 UTC