[
https://issues.apache.org/jira/browse/JENA-535?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13772415#comment-13772415
]
Tracy Hartford commented on JENA-535:
-------------------------------------
I do not have a patch. I was going to suggest following the precedent in
OpVisitorByType, and calling a specific visitor function for processing
OpLeftJoin that calls visit2 and then visits the OpBGP of the Exprs, if any,
but it appears that visitFilter does not visit its expressions either.
> 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:
> {noformat}
> SELECT *
> WHERE
> { ?s ?p ?o
> OPTIONAL
> {
> FILTER NOT EXISTS {?s ?p ?o }
> }
> }
> {noformat}
> The algebra before calling Algebra.toQuadForm() is as follows:
> {noformat}
> (leftjoin
> (bgp (triple ?s ?p ?o))
> (table unit)
> (notexists (bgp (triple ?s ?p ?o))))
> {noformat}
> The expected algebra is as follows:
> {noformat}
> (leftjoin
> (quadpattern (quad <urn:x-arq:DefaultGraphNode> ?s ?p ?o))
> (table unit)
> (notexists (quadpattern (quad <urn:x-arq:DefaultGraphNode> ?s ?p ?o))))
> {noformat}
> The resulting algebra is as follows:
> {noformat}
> (leftjoin
> (quadpattern (quad <urn:x-arq:DefaultGraphNode> ?s ?p ?o))
> (table unit)
> (notexists (bgp (triple ?s ?p ?o))))
> {noformat}
> 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