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

Reply via email to