Re: SPARQL 1.1 Update Review (part 2)

On 16 Mar 2011, at 21:57, Andy Seaborne wrote:

> > ... the application of sk^-1() *after* the resulting dataset has been generated
> > guarantees that in the resulting dataset now the same blank node labels are used as in GS
> > and if this resulting dataset is added to or removed from GS by an INSERT or DELETE,
> > then bnode correlations wrt. GS will be followed.
> >
> > Otherwise, something like
> >
> >   DELETE { ?s ?p ?o }
> >   WHERE  { ?s ?p ?o FILTER Blank(?s)}
> >
> > wouldn't have any effect.
> Ok - I see - I was making the scoping graph the same as the graph
> queried/updated in which case this works (it was the way discussed in a
> telecon a while ago IIRC).

I thought the same first, however, from what I read on the definition of scoping graph in SPARQL Query,
I am afraid we can't do that:

"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."

this seems to disallow explicitly, that the blank nodes identifiers remain the same. That's why I suggested - for update - 
to use skolemisation and de-skolemisation, which should allow us to use the definitions of pattern solutions from Query just 'as is'. 


> I avoided much of that trouble by duplicating-with-renaming on the
> template + (scooping graph = update graph).
> Don't mind which way - it does the same thing.
>         Andy

Received on Wednesday, 16 March 2011 22:30:47 UTC