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)