W3C home > Mailing lists > Public > public-rdf-dawg@w3.org > January to March 2011

Re: Comment on Dataset-UNION

From: Axel Polleres <axel.polleres@deri.org>
Date: Tue, 22 Feb 2011 20:31:54 +0000
Cc: "SPARQL Working Group" <public-rdf-dawg@w3.org>
Message-Id: <A6379798-DA79-48DC-8FE8-619AC376D7A7@deri.org>
To: "Andy Seaborne" <andy.seaborne@epimorphics.com>

On 22 Feb 2011, at 17:27, Andy Seaborne wrote:

> Dataset-UNION is defined to do an RDF merge - it should be set-union.
> Graph store:
>    DG: { _:a :q :r }
> INSERT { ?x :p 123 . } WHERE { ?x :q :r }
> then we get:
> _:a :q :r .
> _:x :p 123 .

Hmmmmm, right, but don't we have a more fundamental additional problem there?
i.e. isn't the scoping graph (which is used to evaluate the query) only required to be graph-equivalent to the Dataset/Graph Store...

From http://www.w3.org/2009/sparql/docs/query-1.1/rq25.xml#BGPsparqlBNodes

"If DS is the dataset of a query, pattern solutions are therefore understood to be not from the active graph of DS itself, but from an RDF graph, called the scoping graph, which is graph-equivalent to the active graph of DS but shares no blank nodes with DS or with BGP. The same scoping graph is used for all solutions to a single query."
i.e. that would mean, we'd need to say that - unlike for Query - in Update the scoping graph for any graph in the graph store is that same graph?

We probably can - as you suggest - define that in a more precise Definition of Dataset(modify_template,P) which is still fairly hand-waving at this stage
(what I am a little worried about is whether a strict definition of the scoping graph locks us in with regard to extending SPARQL Update towards entailment at some later stage...)


> because bnodes are not equated in a merge, but are renamed apart:
> [[ http://www.w3.org/TR/rdf-mt/
> if they do share blank nodes, then it is the union of a set of graphs
> that is obtained by replacing the graphs in the set by equivalent graphs
> that share no blank nodes. This is often described by saying that the
> blank nodes have been 'standardized apart'.
> ]]
> it needs to be a set union.  Constant bnodes are treated by naming
> apart, for and every query solution, but not for bnodes arriving by
> variable substitution.
> Dataset(modify_template,P) can handle the renaming apart, the
> dataset-union can then be a union.
>         Andy
> PS The link
> <http://www.w3.org/2009/sparql/docs/update-1.1/definition%20in%20rdf-mt>
> does not work.
Received on Tuesday, 22 February 2011 20:32:33 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 15:01:03 UTC