I am asking myself whether there is an error in the SPARQL grammar for typed RDFLiterals:


When I compare with N3 and Turtle:

1) N3: http://www.w3.org/TeamSubmission/n3/

   literal ::=    string dtlang
   dtlang ::=   "@"  langcode |     "^^"  symbol
   symbol ::= explicituri | qname
   explicituri ::= <[^>]*>
   qname ::= /* what we called CURIE */

2) Turtle: http://www.w3.org/TeamSubmission/turtle/

   literal ::=  quotedString ( '@' language )? | datatypeString
                | integer | double | decimal | boolean
   datatypeString ::=     quotedString '^^' resource
   resource ::= uriref | qname
   uriref ::= '<' relativeURI '>'
   qname ::= /* what we called CURIE */


Now, when I look at SPARQL's grammar I find:

SPARQL: http://www.w3.org/TR/rdf-sparql-query/

 RDFLiteral ::= String ( LANGTAG | ( '^^' IRIref ) )?

 IRI_REF ::= '<' ([^<>"{}|^`\]-[#x00-#x20])* '>'


Note: No qnames are allowed here in the type position, although
      qnames like xs:integer *are* actually used for typed literals in
      the examples in the SPARQL document.

I assume this is a bug?

Axel

--
Dr. Axel Polleres, Digital Enterprise Research Institute (DERI)
email: [EMAIL PROTECTED]  url: http://www.polleres.net/

rdfs:Resource owl:differentFrom xsd:anyURI .

Reply via email to