Andy Seaborne created JENA-1534:
-----------------------------------

             Summary: Variables in EXISTS must be considered for the join 
strategy
                 Key: JENA-1534
                 URL: https://issues.apache.org/jira/browse/JENA-1534
             Project: Apache Jena
          Issue Type: Bug
          Components: ARQ
    Affects Versions: Jena 3.7.0
            Reporter: Andy Seaborne
            Assignee: Andy Seaborne
             Fix For: Jena 3.8.0


This query has a join between the GRAPH and the pattern before it.

{noformat}
SELECT  *
WHERE
  { ?s  ?p  ?V0
    GRAPH ?g 
      { ?sx  ?p  ?ox
        FILTER EXISTS { _:b0  ?p  ?V0 }
      }
  }
{noformat}
The fact {{?V0}} occurs in the LHS of the join in {{?s  ?p  ?V0}} and in the 
FILTER but not in the rest of the RHS means the "sequence" transform can not be 
used.

Contrast to:
{noformat}
SELECT  *
WHERE
  { ?s  ?p  ?V1
    GRAPH ?g 
      { ?sx  ?p  ?ox
        FILTER EXISTS { _:b0  ?p  ?V2 }
      }
  }
{noformat}
Now {{?V2}} is only in the FILTER so it is safe to transform the join.

Note that {{?p}} appears in LHS so making it defined in the EXISTS and the 
sequence transfrom is possible.





--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to