History | Log In     View a printable version of the current page. Get help!  
Issue Details [XML]

Key: SES-700
Type: Improvement Improvement
Status: Resolved Resolved
Resolution: Fixed
Priority: Minor Minor
Assignee: Arjohn Kampman
Reporter: James Leigh
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Sesame

Further reduce duplicate statements in SPARQL-construct query results

Created: 07/Jan/10 12:11 PM   Updated: 07/Jan/10 02:30 PM
Component/s: SPARQL, SeRQL
Affects Version/s: None
Fix Version/s: 2.3.1

File Attachments: 1. Text File multiprojection.patch (3 kb)

Issue Links:
Related
This issue is related to:
SES-385 duplicate statements in SPARQL-constr... Minor Closed
 


 Description   
CONSTRUCT queries should be reduced further. Currently only consecutive duplicates are removed, however, larger construct clauses repeat a pattern (over and over).

The MultiProjectionIterator should not repeat projections that were also produced from the previous nested BindingSet.

This does not have a big impact when the repository is embedded, but when the repository is remote and the result is serialized by the Sesame Server the duplicates have a noticeable impact on performance. A common construct query I have been using was serialized to 47K over HTTP using RDF/XML, by reducing the number of duplicates this could be reduced to 9.1K.

 All   Comments   Change History      Sort Order:
Comment by Arjohn Kampman [07/Jan/10 12:14 PM]
Here is a patch that reduces duplicates from consecutive multi-projections (construct clause pattern sets).

Comment by Arjohn Kampman [07/Jan/10 02:30 PM]
Supplied patch was applied and then modified to reduce processing overhead. MultiProjectionIterator now compares results with the previous result from the same projection instead of with the previous results of all projections, but this probably works in most cases.