- From: Steve Harris <steve.harris@garlik.com>
- Date: Wed, 2 Mar 2011 10:23:09 +0000
- To: Yves Raimond <Yves.Raimond@bbc.co.uk>
- Cc: Nathan <nathan@webr3.org>, Andy Seaborne <andy.seaborne@epimorphics.com>, RDF WG <public-rdf-wg@w3.org>
On 2011-03-01, at 17:36, Yves Raimond wrote:
...
>>> reverses subject and object. The matching process really does swap
>>> subject and object.
>>>
>>> http://www.w3.org/TR/sparql11-query/#propertypaths
>>
>> wouldn't that require subjects as literals?
>
> Afaik, there is no restriction for subjects as literals in SPARQL (which explains why "abc" bif:contains "b" works, for example) - that's my biggest concern about the whole issue. Two W3C recommendations (SPARQL and RDF) are effectively contradicting each other. For example, you could generate an invalid RDF document with a perfectly valid SPARQL query (e.g. CONSTRUCT { ?name bif:contains "foo" } WHERE { ?a a foaf:Person ; foaf:name ?name . ?name bif:contains "foo" })
It's a perfectly legal query, but it doesn't produce any triples where ?name binds to a literal.
From http://www.w3.org/TR/rdf-sparql-query/#construct
“If any such instantiation produces a triple containing an unbound variable or an illegal RDF construct, such as a literal in subject or predicate position, then that triple is not included in the output RDF graph.”
- Steve
Received on Wednesday, 2 March 2011 10:23:45 UTC