On 12/04/13 10:19, "Dr. André Lanka" wrote:
Hello,
On 11.04.2013 14:13, Andy Seaborne wrote:
On 10/04/13 15:23, "Dr. André Lanka" wrote:
To break the connection,
1/ use ResultSet.nextBinding() which returns the low level, unconnected
graph Nodes.
It doesn't help. I tried to "copy" the bindings into a new resultSet
using ResultSet.nextBinding(). Then I deleted the store (to detect
really all connections) and still got a NPE (which is logged and
swallowed in BindingTDB [StackTrace below]).
So I think recreating the bindings seems to be necessary in our case.
Ah - yes, I remember now - it uses a delayed node resolution. When you
touch the node entry, it goes and gets the node string. Internally,
nodes don't always get used (projected away, count(*) aggregation) so
this avoids work that will not be used.
It is possible that the top level binding ought to force materialization
as Bindigns are yielded. Added to QueryEngineTDB.eval.
The case of only using some of the variables in a binding in results
processing is slightly worse although nodes are highly cached so it
shouldn't be too bad. Let us know if it does not work for you.
Andy