Re: major technical: dateTime arithmetic [OK?]

On Thu, 2006-01-12 at 13:44 -0800, Fred Zemke wrote:
> Table 11.1 Operator mapping
> The functionality for manipulating xsd:dateTime values is inadequate.
> In particular, the XQuery functions fn:current-date and fn:current-time
> are needed to formulate queries relative to the current time.

The working group did not identify any requirement to formulate
queries relative to the current time.

However, we did identify a requirement for Extensible Value Testing:

3.3 Extensible Value Testing

The query language must make it possible—whether through function calls,
namespaces, or in some other way—to calculate and test values

Many application domains have specific value testing requirements; for
example: the concept of "distance" in geospatial data or calculating the
gravitational attraction of two masses, given their mass and the
distance between them. Value testing may be more efficient when domain
specific functions are available for use.

And we allow for extension functions; so any SPARQL service may
support fn:current-date and fn:current-time etc.

> In addition, dateTime arithmetic using the XQuery types
> xdt:yearMonthDuration and xdt:dayTimeDuration will be highly useful.

Perhaps; if that's the case, then SPARQL services that support them
as extensions will preferred over services that don't.

> I suspect the reason this has not been adopted is that these types
> are not accepted by RDF.

No; it's just that we judged that they were not part of the
absolute minimum functionality that every SPARQL service must provide.

The most relevant decision was probabaly the one at our
Helsinki meeting:

>   I hope that was just a historical accident
> (because RDF was ready for adoption before XQuery).  However, while
> we wait for duration types to be added to RDF, you can still add them
> to SPARQL to permit dateTime arithmetic.  The limitations would be
> that you could not use CONSTRUCT to construct a triple with a duration,
> and there would be no point in trying to match a duration.

There is no limitation on which datatypes are usable in CONSTRUCT.

I hope you find this response satisfactory. Please let us know whether
you do.

> Fred
Dan Connolly, W3C
D3C2 887B 0F92 6005 C541  0875 0F91 96DE 6E52 C29E

Received on Wednesday, 25 January 2006 15:59:00 UTC