On 10/04/14 17:46, Rob Hall wrote:
I apologize in advance if this is a duplicate: I could not find anything
relevant on Jira.
I came across what appears to be a bug when all 3 elements of a triple
pattern for an INSERT clause are variables that have been assigned using
BIND. After executing the UpdateAction, the desired triples are not
introduced to the underlying graph.
Attached is a small JUnit test case which reproduces this error. It can
likely be further minimized.
Regards,
Rob
Rob,
Looking at:
" {\n"+
" ?old ?p ?o .\n"+
" BIND( ?old AS ?s ).\n"+
" BIND( ?new AS ?ns ).\n"+
" BIND( ?p AS ?np ).\n"+
" BIND( ?o AS ?no ).\n"+
" }
?new is not in-scope at that point - it does not flow in from the
sub-query higher up. Logically, each block is executed independently
and the results combined up the tree. The {SELECT} is executed, the
UNION is executed separately, then the results joined.
So ?ns is not defined and hence the INSERT on "?ns ?np ?no" is not a
legal triple and is skipped (c.f. CONSTRUCT).
Try executing the WHERE part as a SELECT * query to see more.
Andy