Andy Seaborne created JENA-2150: ----------------------------------- Summary: Graph name wrongly in-scope in {{BIND}} expression. Key: JENA-2150 URL: https://issues.apache.org/jira/browse/JENA-2150 Project: Apache Jena Issue Type: Bug Components: ARQ Affects Versions: Jena 4.1.0 Environment: If {noformat} SELECT * WHERE { GRAPH ?g { ?s ?p ?o BIND(str(?g) AS ?g1) } } {noformat} algebra: {noformat} (graph ?g (extend ((?g1 (str ?g))) (bgp (triple ?s ?p ?o)))) {noformat} generates quad form: {noformat} (extend ((?g1 (str ?g))) (quadpattern (quad ?g ?s ?p ?o))) {noformat} Note quadpattern sets {{?g}}.
but if a FILTER is present, a correct expression is generated: {noformat} SELECT * WHERE { GRAPH ?g { ?s ?p ?o FILTER ( ?g != 123 ) BIND(?g AS ?g1) } } {noformat} algebra: {noformat} (graph ?g (filter (!= ?g 123) (extend ((?g1 (str ?g))) (bgp (triple ?s ?p ?o))))) {noformat} generates quad form: {noformat} (assign ((?g ?*g0)) (filter (!= ?g 123) (extend ((?g1 (str ?g))) (quadpattern (quad ?*g0 ?s ?p ?o))))) {noformat} Delayed setting of {{?g}}. The problem is in {{OpVars.OpVarsMentioned}} not processing BIND expressions. Reporter: Andy Seaborne Assignee: Andy Seaborne Fix For: Jena 4.2.0 -- This message was sent by Atlassian Jira (v8.3.4#803005)