On 30/01/12 18:58, Stephen Allen wrote:
ARQ streams the results out (unless you ask something that can't like
wanting the text output form - in which case send to a file as a streamable
format and read the file back in.) .
CONSTRUCT isn't streamable - can you use a SELECT and generate the triples
for the CONSTRUCT as it streams?
I'd been thinking that an additional API that did stream CONSTRUCT
queries might be useful. It would have to return an Iterator<Triple>
instead of a Model. This would work well for Fuseki, as it is only
streaming RDF back to the client. Combined with
org.openjena.atlas.data.DistinctDataNet it would have spill-to-disk
capability as well.
-Stephen
Makes sense to add an
Iterator<Triple> execTriples()
to QueryExecution.
QueryExecutionBase can implement it easily (OMG that code is old and
clunky!) and QueryEngineHTTP (the remote engine) can either pass the
buck to execConstruct or feed the parser out to the iterator.
Andy