Relevant to RDF 1.1 support in SPARQL 1.1, I modified my local copy of the 
SPARQL 1.1 Query test suite for the result differences I noticed:

distinct-all.srx - Remove 3 literal results with 
datatype="http://www.w3.org/2001/XMLSchema#string";
distinct-str.srx - (same)
strdt03.srx - Remove datatype="http://www.w3.org/2001/XMLSchema#string"; from 
literals
strlang03.srx - (same)

After that, I can continue to pass SPARQL 1.1 Query tests for my Ruby 
implementation.

Gregg Kellogg
gr...@greggkellogg.net

On Nov 23, 2013, at 11:25 AM, David Booth <da...@dbooth.org> wrote:

> On 11/23/2013 12:21 PM, Andy Seaborne wrote:
>> 
>> 
>> On 23/11/13 17:01, David Booth wrote:
>>> Hi Hugh,
>>> 
>>> A little correction and a further question . . .
>>> 
>>> On 11/23/2013 10:17 AM, Hugh Glaser wrote:
>>>> Pleasure.
>>>> Actually, I found this:
>>>> http://answers.semanticweb.com/questions/3530/sparql-query-filtering-by-string
>>>> 
>>>> 
>>>> 
>>>> I said it is a pig’s breakfast because you never know what the RDF
>>>> publisher has decided to do, and need to try everything.
>>>> So to match strings efficiently you need to do (at least) four queries:
>>>> “cat”
>>>> “cat”@en
>>>> “cat”^^xsd:string
>>> 
>>> Is that still true in SPARQL 1.1?  In Turtle "cat" means the exact same
>>> thing as "cat"^^xsd:string:
>>> http://www.w3.org/TR/turtle/#literals
>>> 
>>> But this section of SPARQL 1.1 Section 4.1.2 "Syntax for Literals" has
>>> no mention of them being the same:
>>> http://www.w3.org/TR/sparql11-query/#QSynLiterals
>>> 
>>> Anyone (Andy?) know whether this was fixed in SPARQL 1.1?  I thought
>>> SPARQL 1.1 and Turtle had been pretty well aligned.
>> 
>> SPARQL 1.1 says nothing about it aside from (as in SPARQL 1.0)
>> DATATYPE("abc") is xsd:string and DATATYPE("abc"@en) is rdf:langString
>> (in 1.1).
>> 
>> What it should say, but does not because SPARQL 1.1 finished before RDF
>> 1.1 got near sufficiently stable, is
>> 
>> 1/ parsing "abc" and "abc"^^xsd:string is the same thing.
>> 2/ In results formats, it's "abc" or equivalent, and no ^^xsd:String.
>> 
>> For matching, it falls out in the matching over RDF but actually putting
>> that in the text would be nice.
> 
> Ah yes, I see that in the RDF 1.1 draft now:
> http://www.w3.org/TR/rdf11-concepts/#h3_section-Graph-Literal
> [[
> Concrete syntaxes MAY support simple literals, consisting of only a lexical 
> form without any datatype IRI or language tag. Simple literals only exist in 
> concrete syntaxes, and are treated as syntactic sugar for abstract syntax 
> literals with the datatype IRI http://www.w3.org/2001/XMLSchema#string.
> ]]
> 
> So in effect, this was fixed at the RDF 1.1 abstract level, so even though 
> the SPARQL 1.1 spec did not mention it, if a SPARQL 1.1 server is RDF 1.1 
> compliant, then it will treat "abc" and "abc"^^xsd:string as the same.
> 
> Thanks!
> David
> 


Reply via email to