- From: Seaborne, Andy <andy.seaborne@hp.com>
- Date: Mon, 31 Aug 2009 14:35:06 +0000
- To: SPARQL Working Group <public-rdf-dawg@w3.org>
SPARQL already uses/requires XSD evaluation in FILTER functions and the F&O work provides URIs. My take on the library issue is that we identity a core (small?) set of appropriate functions sufficiently useful in general without becoming an unwieldy burden on implementers. Providing the test case in SPAQL the test framework would be useful help.
"appropriate" => nothing to do with sequences, which SPARQL does not have.
I took a quick pass over F&O to provide the list below.
I don’t think we should require support for any more datatypes -- but if we are adding any, I support adding required support for xsd:date.
=== SPARQL
Things that are missing: constructors
IRI(string) -> IRI
Probably not :-) BNODE(string) -> blank node.
LITERAL(str) ->
LITERAL(str, IRI) -> (not strictly needed -- xsd:integer("123") does it.)
LITERAL(str, string) ->
With URIs
And also URIs for existing operators.
=== F&O
Things marked (()) are already in SPARQL as operator symbols.
A minimal approach would be to add the string operations - in my experience, these are the most requested.
((Already:
6.2.1 op:numeric-add
6.2.2 op:numeric-subtract
6.2.3 op:numeric-multiply
6.2.4 op:numeric-divide
6.2.5 op:numeric-integer-divide
6.2.6 op:numeric-mod
6.2.7 op:numeric-unary-plus
6.2.8 op:numeric-unary-minus
6.3 Comparison Operators on Numeric Values
6.3.1 op:numeric-equal
6.3.2 op:numeric-less-than
6.3.3 op:numeric-greater-than
))
6.4 Functions on Numeric Values
6.4.1 fn:abs
6.4.2 fn:ceiling
6.4.3 fn:floor
6.4.4 fn:round
6.4.5 fn:round-half-to-even
(( 7.3.2 fn:compare))
7.4.1 fn:concat
7.4.3 fn:substring
7.4.4 fn:string-length
7.4.7 fn:upper-case
7.4.8 fn:lower-case
7.5.1 fn:contains (collation form optional)
7.5.2 fn:starts-with
7.5.3 fn:ends-with
((
9.2.1 op:boolean-equal
9.2.2 op:boolean-less-than
9.2.3 op:boolean-greater-than
9.3.1 fn:not
))
Without requiring xsd:date:
((
10.4.6 op:dateTime-equal
10.4.7 op:dateTime-less-than
10.4.8 op:dateTime-greater-than
))
??
10.5.7 fn:year-from-dateTime
10.5.8 fn:month-from-dateTime
10.5.9 fn:day-from-dateTime
10.5.10 fn:hours-from-dateTime
10.5.11 fn:minutes-from-dateTime
10.5.12 fn:seconds-from-dateTime
10.5.13 fn:timezone-from-dateTime
Received on Monday, 31 August 2009 14:36:32 UTC