Thanks Andy! I guess then it may be somewhere in my implementation (since I implement OpExecutor interface) That SELECT query will return ?old and ?new are referring to a same node.
________________________________________ From: Andy Seaborne <[email protected]> Sent: Wednesday, March 16, 2016 11:45 AM To: [email protected] Subject: Re: delete insert where Works for me. What's SELECT * { ?new rdf:m "blah" . OPTIONAL { ?old rdf:b rdf:thing . } } On 16/03/16 15:18, Zen 98052 wrote: > Hi, > > I am trying to understand how DELETE/INSERT WHERE query is working since I > see unexpected behavior. > > According to http://www.w3.org/TR/sparql11-update/#deleteInsert, the DELETE > will be executed before INSERT. > > In this simple Sparql query for example: > > DELETE > > { > > ?old rdf:b rdf:thing . > > } > > INSERT > > { > > ?new rdf:b rdf:thing . > > } > > WHERE > > { > > ?new rdf:m "blah" . > > OPTIONAL > > { > > ?old rdf:b rdf:thing . > > } > > } > > > Let say ?new and ?old are referring to same node, then what I see is triple > ?new rdf:b rdf:thing (in INSERT section above) never got added. > > I'd expect it first deletes that triple, and then add it back. Did I miss > something here? > > > > Thanks, > > Z >
