SPARQL and literal matching woes - spec inconclusive

Hello,

I am having some trouble matching literals with SPARQL. It seems that
just about every implementation I tried manages to give me a differing
set of answers for a very simple query. I have tried to verify this
against the specification, but I haven't been able to find a
conclusive answer there.

I believe this could be an important interoperability blocker for
several applications as the problem is easily triggered by the
simplest of graph patterns.

The issue is very simple do describe, but to be exact so it can be
discussed reasonably, I will write it here somewhat verbosely:

Assume the following RDF graph:

***
@prefix dt:   <http://example.org/datatype#> .
@prefix ns:   <http://example.org/ns#> .
@prefix xsd:  <http://www.w3.org/2001/XMLSchema#> .

ns:a ns:p "value" .
ns:b ns:p "value"^^xsd:string .
ns:c ns:p "value"^^dt:datatype .
ns:d ns:p "value"@en .
***

Now, if this graph is queried with the simple SPARQL query:

  SELECT ?x where { ?x ns:p "value" }

What should the result set be?

Received on Saturday, 5 July 2008 14:43:08 UTC