Re: Dumb SPARQL query problem

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
gregg@greggkellogg.net

On Nov 23, 2013, at 11:25 AM, David Booth <david@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
> 

Received on Sunday, 24 November 2013 23:17:28 UTC