Andy Seaborne created JENA-1280:
-----------------------------------
Summary: JoinClassifer is too cautious with EXIST variables.
Key: JENA-1280
URL: https://issues.apache.org/jira/browse/JENA-1280
Project: Apache Jena
Issue Type: Bug
Components: ARQ
Affects Versions: Jena 3.1.1
Reporter: Andy Seaborne
Assignee: Andy Seaborne
This query
{noformat}
SELECT * {
:s :p ?g # ?g
GRAPH ?g { # ?g
:s1 :p1 ?x
FILTER EXISTS { ?s ?p ?o }
}
}
{noformat}
is not executed as a {{(sequence)}} because there are variables in the
{{FILTER}} that appear to be not bound: {{?s}} etc in {{EXISTS}}. If it were a
function, this would be correct but {{EXISTS}} is different.
Variables only in an {{EXISTS}} BGP patterns should not contribute to the
unsafe variables of a {{FILTER}}.
This query:
{noformat}
SELECT * {
?s :p ?g # :s -> ?s
GRAPH ?g {
:s1 :p1 ?x
FILTER EXISTS { ?s ?p ?o }
}
}
{noformat}
is not safe to allow {{?s}} to substitute. This is correctly detected in Jena
3.1.0.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)