Re: issue#rdfSemantics : use cases

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