- From: Andy Seaborne <andy.seaborne@talis.com>
- Date: Mon, 11 Jan 2010 14:34:50 +0000
- To: Axel Polleres <axel.polleres@deri.org>
- CC: Steve Harris <steve.harris@garlik.com>, Paul Gearon <gearon@ieee.org>, SPARQL Working Group <public-rdf-dawg@w3.org>
On 11/01/2010 1:40 PM, Axel Polleres wrote:
> Without really wanting to decide between "REMOVE" or separators ";" here yet (I am not decided on this, to be honest)...
> what I'd find a slight bit strange is that in the first alternative DELETE needs a dedicated keyword in the shortcut
> version, whereas INSERT doesn't. One option to avoid and make it look more consistent could be to also have a dedicted
> keyword for the short form of INSERT, i.e.
The short form of INSERT is always a no-op (caveat bnodes) because if
the pattern matches, then the data is already in the graph. I thought
we were removing it because of the no-op-ness. At most, it can
introduce bnodes but with the same triple shapes.
INSERT { :a :p ?B }
INSERT { [] :p ?B } will at most introduce a different bnodes (and it's
a pun - dual use of the bnode synatx - one use is non-distinguished
variable in a pattern, one use as a template bnode).
We do have INSERT DATA and DELETE DATA - the important feature being
they only work on data and which maybe very long so knowing there are no
variables and it's all ground triples is quite important.
>
> long form:
>
> DELETE {P1}
> INSERT {P2}
> WHERE {P3}
>
> short forms:
>
> ADD {P}
> REMOVE {P}
And DELETE WHERE {P} - or DELETE otherword {P} - which misses the
template part that is the duplication - and does not use a completely
new word. Emphasises the {P} is still a pattern with variables (albeit
restricted in form - but the grammar can cope with that). This
addresses the issue at the point of concern without cascading to the
rest of the request.
Andy
>
> just my two cents,
> Axel
Received on Monday, 11 January 2010 14:35:25 UTC