[
https://issues.apache.org/jira/browse/JENA-329?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13715081#comment-13715081
]
Andy Seaborne commented on JENA-329:
------------------------------------
Proposal:
Add a custom argument to query requests:
{noformat}
&stream=
{noformat}
which enables streamed CONSTRUCT (and DESCRIBE) results if the MIME type is
suitable (N-Triples, N-Quads; maybe Turtle and a streamed variant). If the
MIME is not compatible, then the argument is effectively ignored (e.g. RDF/XML,
which is RDF-XML-ABBREV written).
* {{stream=off}} --- default RDF behaviour - no special action
* {{stream=chunked}} --- the result is streamed back : some duplicate
suppressed may be done (e.g. adjacent duplicates or a small sliding window)
* {{stream=yes}} --- same as '{{chunked}}'
* {{stream=all}} --- all triples generated are returned.
The preferred streaming form is '{{chunked}}', that is, with some (light)
duplicate suppression because when duplicates occur, they can be a high
proportion of the results due to not using all variables in all triple patterns
of the template.
A further option is {{stream=template}} where each template instantiation is
written back (without boundaries). However, this does not seem to have any
advantages as the common causes of duplicates are not within a single
instantiation but across instantiations.
> Add streaming CONSTRUCT results to Fuseki
> -----------------------------------------
>
> Key: JENA-329
> URL: https://issues.apache.org/jira/browse/JENA-329
> Project: Apache Jena
> Issue Type: Improvement
> Components: Fuseki
> Reporter: Stephen Allen
>
> As a result of JENA-205, streaming results are now available for CONSTRUCT
> queries. However there can be duplicate triples in the iterator. This task
> is to allow Fuseki to stream back results, while at the same time performing
> a distinct operation.
> The fix would be to modify SPARQL_Query to use
> QueryExecution.execConstructTriples() and filter the results through a
> DistinctDataNet<Triple> as they are being streamed back to the client.
> This also requires RDFWriter implementations that can accept Iterator<Triple>
> instead of Model.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira