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 >