incubator-jena-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Claude Warren <>
Subject Polling iterator?
Date Wed, 11 Jan 2012 15:28:53 GMT

I am looking at combining multiple remote triple stores into a single graph
using Jena.

Assume that I just create a simple Graph implementation that makes requests
of the remote systems and combine those with a Jena Polyadic graph

When the Polyadic.find( s, p o ) is called each of the sub graphs will
construct an iterator and return it which will be combined by the Polyadic
graph to appear as a single iterator.

When thinking about this problem it seems to me that the speed of the
iterator is limited by the speed that the remote systems can respond and
that no effort is made to interweave the subgraph iterator results.

To resolve this I am thinking that a "polling iterator" might make sense.
 The polling iterator would add a "pollNext()" method that would return a
Boolean, true=there is a next, false = there is not a next, null = no data

the Polyadic graph would then return an iterator that polls each of the sub
graphs to find one that has a next thus the faster subgraphs would not be
blocked by the slower ones.  I think that overall performance might be
improved.  However before I spend much time working on this solution I
wanted to know if anyone else has thought about this solution and perhaps
might have an implementation along these lines.

Many thanks,


  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message