[
https://issues.apache.org/jira/browse/JENA-2150?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andy Seaborne updated JENA-2150:
--------------------------------
Description:
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.
> 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
> Reporter: Andy Seaborne
> Assignee: Andy Seaborne
> Priority: Major
> Fix For: Jena 4.2.0
>
>
> 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.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)