Re: Update comment

Sorry everyone. With my change of affiliation, my email address was
changed. Consequently, all my SPARQL emails ended up in a bucket that
I didn't see until now (5 days after this thread).

A lot of things came up, and so I don't miss them I want to address
them in individual emails....

On Wed, Mar 23, 2011 at 5:29 PM, Andy Seaborne
<andy.seaborne@epimorphics.com> wrote:
> A Fuseki user found the text below and assumed
>
> INSERT
>  { <http://rdf.freebase.com/ns/en.miles_davis> ?p ?o }
>  USING <http://rdf.freebase.com/ns/en.miles_davis>
>  WHERE
>  { <http://rdf.freebase.com/ns/en.miles_davis> ?p ?o }
>
> was like
>
>
>  CONSTRUCT
>  { <http://rdf.freebase.com/ns/en.miles_davis> ?p ?o }
>  FROM <http://rdf.freebase.com/ns/en.miles_davis>
>  WHERE
>  { <http://rdf.freebase.com/ns/en.miles_davis> ?p ?o }
>
> which it isn't (I hope).

Well, it's not, in that the first adds to an existing graph (the
default graph) and the second creates a graph. Also, I'm not entirely
clear on the rules with blank nodes being inserted in the INSERT. I
believe that it requires new blank nodes to be created since they're
coming from one graph and going to another, but I don't think that's
properly explained in the doc. (It will also be a pain in a quad
store). But that doesn't appear to be the issue here.

> 3.1.3 DELETE/INSERT
> """
> The USING <uri> and USING NAMED <uri> clauses affect the graphs and named
> graphs used in the WHERE clause. This is identical manner to how FROM <uri>
> and FROM NAMED <uri> clauses affect the graphs and named graphs in a SPARQL
> SELECT query.
> """
>
> In most systems (not all) FROM reads a graph from the web and makes it part
> of the default graph.  It's LOAD.
>
> (Yes, *a few* systems pick their FROM out of the dataset)
>
> Doesn't USING select one or more graphs out of the graph store and use that
> for default graph.  Reading from the web is not allowed (I hope).

Why not?

If FROM is allowed to read from the web, then USING is. The only
reason for the word "USING" is because "FROM" caused ambiguity
problems when deleting.

> """
> The use of USING in this instance is to avoid possible ambiguity of where
> statements being DELETEd from. If a USING clause appears, then this will
> override any effect that WITH may have on the WHERE clause, and only the
> WHERE clause.
> """
>
> What's "this instance"?

"This instance" refers to DELETE operations. I can try to

The problem was for an operation like:
DELETE { delete_pattern }
FROM graph
WHERE { query_pattern }

We wanted query_pattern to be resolved wrt the "graph" in the FROM
clause. However, the syntax here looks like you want to delete the
statements "from" the graph, which is wrong. The way around it was for
update operations to adopt the word USING instead. No other
differences were mentioned.

If I'm wrong (there *is* supposed to be a difference between USING in
an update and FROM in a query) then I need to be pointed to the
resolution regarding it. I will then raise it as an issue to be
addressed.

Again, I'm sorry that I didn't respond to this earlier.

Paul

Received on Tuesday, 29 March 2011 15:09:03 UTC