- From: Lee Feigenbaum <lee@thefigtrees.net>
- Date: Tue, 21 Aug 2012 14:28:13 -0400
- To: Andy Seaborne <andy.seaborne@epimorphics.com>
- CC: SPARQL Working Group <public-rdf-dawg@w3.org>
I totally agree with everything Andy wrote below.
Lee
On 8/21/2012 1:23 PM, Andy Seaborne wrote:
> In rerunning the tests for BIND I came across an unrelated issue.
>
> www.w3.org/2009/sparql/docs/tests/data-sparql11/delete/manifest.ttl#dawg-delete-using-02
>
>
> and #dawg-delete-using-06
>
> dawg-delete-using-02 ==>
>
> PREFIX : <http://example.org/>
> PREFIX foaf: <http://xmlns.com/foaf/0.1/>
>
> DELETE
> {
> ?s ?p ?o .
> }
> USING <http://example.org/g3>
> WHERE
> {
> GRAPH <http://example.org/g2> { :a foaf:knows ?s .
> ?s ?p ?o }
> }
>
> These tests define a dataset for the WHERE part of the update using
> USING. As I understand it, USING is like FROM - and it forms the
> whole of the dataset.
>
> So GRAPH <http://example.org/g2> never matches - there are no named
> graphs to query because the dataset is one default graph only.
>
> Thus DELETE { ?s ?p ?o } is a no-op and the data, specifically the
> default graph, is unchanged.
>
> But the input is <delete-pre-01.ttl> and the result
> <delete-post-01s.ttl>. These are different triples.
>
> The comment seems wrong.
>
> "the GRAPH clause overrides the USING clause"
> No - it doesn't!
>
> [[ SPARQL 1.1 Update :
> This describes a dataset in the same way as FROM and FROM NAMED
> clauses describe RDF Datasets in the SPARQL 1.1 Query Language.
> ...
> That is, the GroupGraphPattern in the WHERE clause will be matched
> against the dataset described by explicit USING or USING NAMED
> clauses, if specified, and against the Graph Store otherwise.
> ]]
>
> Andy
>
>
Received on Tuesday, 21 August 2012 18:28:41 UTC