[ 
https://issues.apache.org/jira/browse/JENA-633?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13892649#comment-13892649
 ] 

Andy Seaborne commented on JENA-633:
------------------------------------

Interestingly, reversing the join LHS and RHS makes the optimization correct.  
So {{JoinClassifier}} needs to check the RHS differently from the LHS and 
possibly swap them.

> optimizer sequences instead of joins / subqueries with limits project more 
> results than they should
> ---------------------------------------------------------------------------------------------------
>
>                 Key: JENA-633
>                 URL: https://issues.apache.org/jira/browse/JENA-633
>             Project: Apache Jena
>          Issue Type: Bug
>          Components: ARQ, Jena
>    Affects Versions: Jena 2.11.0
>            Reporter: Joshua Taylor
>            Assignee: Andy Seaborne
>              Labels: optimization, sparql
>         Attachments: SubqueryLimitBug.java
>
>
> A subquery with `limit 1` specified can `leak` more values to the surrounding 
> query.  Rob Vesse tracked this down to a difference between the basic algebra 
> and the optimized algebra [1] .  One query has the following basic and 
> optimized Ops;  the "join" in the former shouldn't get turned into a 
> "sequence"  in the latter.
> {noformat}
> Basic:
> (join
>   (bgp (triple ?resource <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> 
> <urn:ex:Thing>))
>   (slice _ 1
>     (project (?resource ?p)
>       (order (?p)
>         (bgp (triple ?resource <urn:ex:p> ?p))))))
> Optimized:
> (sequence
>   (bgp (triple ?resource <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> 
> <urn:ex:Thing>))
>   (project (?resource ?p)
>     (top (1 ?p)
>       (bgp (triple ?resource <urn:ex:p> ?p)))))
> {noformat}
> [1] 
> http://answers.semanticweb.com/questions/26343/outer-query-results-include-more-values-than-subquery-with-limit-n-produces/26344



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to