You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jena.apache.org by "Andy Seaborne (JIRA)" <ji...@apache.org> on 2017/01/18 11:21:26 UTC
[jira] [Resolved] (JENA-1280) JoinClassifer is too cautious with
EXISTS variables.
[ https://issues.apache.org/jira/browse/JENA-1280?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andy Seaborne resolved JENA-1280.
---------------------------------
Resolution: Fixed
Fix Version/s: Jena 3.2.0
> JoinClassifer is too cautious with EXISTS 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
> Fix For: Jena 3.2.0
>
>
> 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)