[
https://issues.apache.org/jira/browse/JENA-432?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13630157#comment-13630157
]
Andy Seaborne commented on JENA-432:
------------------------------------
Why is that the correct plan correct? It's a different query - the scope of
the FILTER is different as it'd changed from the group (the
LeftJoin) to just the first part? Only because of the naming of variables
might this produce the same answers but it's for different reasons.
> Filter optimization messes up when a nested select is present in the same
> block
> -------------------------------------------------------------------------------
>
> Key: JENA-432
> URL: https://issues.apache.org/jira/browse/JENA-432
> Project: Apache Jena
> Issue Type: Bug
> Components: ARQ
> Affects Versions: Jena 2.10.0
> Reporter: Simon Helsen
>
> The following test query:
> SELECT ?test ?s1
> WHERE {
> ?test ?p1 ?o1.
> FILTER ( ?test = <http://localhost/t1> || ?test = <http://localhost/t2> )
> OPTIONAL {
> SELECT ?s1
> { ?s1 ?p2 ?o2 }
> }
> }
> produces the following plan:
> (project (?test ?s1)
> (disjunction
> (table empty)
> (table empty)))
> Something goes wrong with the FILTER expansion. As a workaround, we observed
> that the following variation:
> SELECT ?test ?s1
> WHERE {
> { ?test ?p1 ?o1.
> FILTER ( ?test = <http://localhost/t1> || ?test = <http://localhost/t2> )
>
> }
> OPTIONAL {
> SELECT ?s1
> { ?s1 ?p2 ?o2 }
> }
> }
> produces the correct plan:
> (project (?test ?s1)
> (leftjoin
> (disjunction
> (assign ((?test <http://localhost/t1>))
> (bgp (triple <http://localhost/t1> ?p1 ?o1)))
> (assign ((?test <http://localhost/t2>))
> (bgp (triple <http://localhost/t2> ?p1 ?o1))))
> (project (?s1)
> (bgp (triple ?s1 ?/p2 ?/o2)))))
--
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