Tracy Hartford created JENA-535:
-----------------------------------
Summary: Algebra.toQuadForm() does not transform Expressions in
Optional clauses
Key: JENA-535
URL: https://issues.apache.org/jira/browse/JENA-535
Project: Apache Jena
Issue Type: Bug
Components: ARQ
Affects Versions: Jena 2.11.0
Reporter: Tracy Hartford
Our internal testing has flagged up a failure in 2.11.0 in Algebra.toQuadForm()
when applied to expressions within an OPTIONAL clause.
The query in question is as follows:
SELECT *
WHERE
{ ?s ?p ?o
OPTIONAL
{
FILTER NOT EXISTS {?s ?p ?o }
}
}
The algebra before calling Algebra.toQuadForm() is as follows:
(leftjoin
(bgp (triple ?s ?p ?o))
(table unit)
(notexists (bgp (triple ?s ?p ?o))))
The expected algebra is as follows:
(leftjoin
(quadpattern (quad <urn:x-arq:DefaultGraphNode> ?s ?p ?o))
(table unit)
(notexists (quadpattern (quad <urn:x-arq:DefaultGraphNode> ?s ?p ?o))))
The resulting algebra is as follows:
(leftjoin
(quadpattern (quad <urn:x-arq:DefaultGraphNode> ?s ?p ?o))
(table unit)
(notexists (bgp (triple ?s ?p ?o))))
It appears that the Transform Walkers visit the left and right Ops of the
OpLeftJoin but not the ExprList that contains the E_NotExists.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira