Re: Repetitive DELETE, real UPDATE

Kjetil,

I thought about something like DELETE * when worked on update language
but decided that it's not safe enough. One who edits WHERE clause may
insert a triple pattern just to get a filter (say, filter by type) and
forget that this will affect the meaning of '*'. In addition, people
tend to experiment first with CONSTRUCT to see what is the composed set
of triples, then replace CONSTRUCT with DELETE, so the text is usually
written anyway.

Best Regards,

Ivan Mikhailov
OpenLink Software
http://virtuoso.openlinksw.com

On Wed, 2009-05-27 at 17:57 +0200, Kjetil Kjernsmo wrote:
> All,
> 
> I was thinking a bit about what was said in the teleconf about repetitive 
> DELETEs. Also, I asked my colleagues what would be the main thing that they 
> disliked about SPARUL. They said that it was that you would need to delete 
> triples just to update them. Apparently, we've had two bugs allready due to a 
> lost DELETE... 
> 
> Andy and Steve mentioned some kind of DELETE * form on the teleconf, which 
> would simplify such an update query too
> 
> DELETE * 
> INSERT { <foo> dc:title "Foo" . }
> WHERE { <foo> dc:title ?o . }
> 
> But then, DELETE feels kinda redundant in this query, but you can't just skip 
> it, it would mean a different thing, so how about actually having UPDATE:
> 
> UPDATE { <foo> dc:title "Foo" . }
> WHERE { <foo> dc:title ?o . }
> 
> which would be equivalent to the current 
> 
> DELETE { <foo> dc:title ?o . }
> INSERT { <foo> dc:title "Foo" . }
> WHERE { <foo> dc:title ?o . }
> 
> Well, there is still some repetition in there, is it possible to simplify 
> further?
> 
> Kind regards 
> 
> Kjetil Kjernsmo

Received on Thursday, 28 May 2009 10:27:03 UTC