[ https://issues.apache.org/jira/browse/JENA-1519?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16442293#comment-16442293 ]
ASF subversion and git services commented on JENA-1519: ------------------------------------------------------- Commit 1af87896dc9e6803878769f5d9eef2a5578b1de7 in jena's branch refs/heads/master from [~andy.seaborne] [ https://git-wip-us.apache.org/repos/asf?p=jena.git;h=1af8789 ] JENA-1519: Move decision about effectiveOp into walker. > OpWalkerVisitor should interact better with custom operators > ------------------------------------------------------------ > > Key: JENA-1519 > URL: https://issues.apache.org/jira/browse/JENA-1519 > Project: Apache Jena > Issue Type: Bug > Components: ARQ > Affects Versions: Jena 3.6.0 > Reporter: Jeremy Coulon > Priority: Major > > When visiting an OpExt, current implementation of OpWalkerVisitor is just > calling the visitor on opExt.effectiveOp(). > However if OpExt is replacing a sub-tree of the algebra instead of a single > leaf node, the sub-tree is ignored by walker. > I found this bug when trying to execute a query with a MINUS operator with > either side of the operator being replaced by an custom operator. > For example the following query is not working, if I transform both side of > MINUS with a custom operator: > {{(project (?animal)}} > {{ (minus}} > {{ (bgp (triple ?animal rdf:type ex:Animal))}} > {{ (filter (|| (= ?type ex:Reptile) (= ?type ex:Insect))}} > {{ (bgp (triple ?animal rdf:type ?type)))))}} > which I transform into: > {{(project (?animal)}} > {{ (minus}} > {{ (op-ext )}} > {{ (op-ext )))}} > The reason is that MINUS is calling OpVars.visibleVars() which does not walk > into the subop of the filter. -- This message was sent by Atlassian JIRA (v7.6.3#76005)