- From: Steve Harris <S.W.Harris@ecs.soton.ac.uk>
- Date: Wed, 14 Sep 2005 11:32:34 +0100
- To: RDF Data Access Working Group <public-rdf-dawg@w3.org>
On Wed, Sep 14, 2005 at 10:54:51 +0100, Andy Seaborne wrote:
> == Data 1:
> :x <p> "z" .
> _:a <p> "z" .
>
> == Query:
> SELECT * { ?s <p> ?o }
>
> == Results
> s/:x p/<p> o/"z"
> s/_:a p/<p> o/"z"
>
> And the application wishes to add:
> _:a <q> "y" .
>
> that is, a tripe with the bNode in the abstract syntax form of the grap as
> subject.
>
> This requires both solutions to be returned in the example query.
I feel like being pedantic today, so I'l note that the query engine could
also, perfectly legally return
s/_:zzz p/<p> o/"z"
to that query, as bNodes aren't round tripped in SPARQL, c.f. last
paragraph of "Templates with Blank Nodes":
"The use of variable ?x in the template, which in this example will be
bound to blank nodes (which have labels _:a and _:b in the data) causes
different blank node labels (_:v1 and _:v2) as shown by the results."
so at the very least this usecase requires knowledge of how bnodes are
handled in results in the implementation.
- Steve
Received on Wednesday, 14 September 2005 10:33:09 UTC