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)

Reply via email to