[Mulgara-dev] Blank Node Assignment in Inserts

Alex Hall alexhall at revelytix.com
Thu Feb 28 01:20:48 UTC 2008


It appears that the binding of variables to blank nodes when inserting 
statements behaves differently depending on whether autocommit is turned 
on for the session.  If I have autocommit turned on and execute the 
following iTQL commands:

create <rmi://localhost/server1#test>;
insert <test:subj> <test:pred> $x $x <test:value> 'o1'
    into <rmi://localhost/server1#test> ;
insert <test:subj> <test:pred> $x $x <test:value> 'o2'
    into <rmi://localhost/server1#test> ;
select $s $p $o from <rmi://localhost/server1#test> where $s $p $o;

Then I see that the variable "x" is bound to different blank nodes in 
each of the two insertions, and the resulting model has 4 statements. 
This is the behavior (behaviour?) that I would expect.

However, when I turn autocommit off prior to the first insertion, and 
turn it back on after the second insertion, then I see that the variable 
"x" is bound to the *same* blank node in each of the insertions, 
resulting in 3 total statements in the model, which came as a bit of a 
surprise to me.  Is this the expected behavior in that situation?

Thanks,
Alex



More information about the Mulgara-dev mailing list