Merge BGPs are path flattening so later operations see combined BGPs.

Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/2472f6ae
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/2472f6ae
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/2472f6ae

Branch: refs/heads/master
Commit: 2472f6ae85c41456de0fa53cc4cfa241f0c95569
Parents: 379ab1f
Author: Andy Seaborne <[email protected]>
Authored: Tue Sep 23 14:49:13 2014 +0100
Committer: Andy Seaborne <[email protected]>
Committed: Tue Sep 23 14:49:13 2014 +0100

----------------------------------------------------------------------
 .../java/com/hp/hpl/jena/sparql/algebra/optimize/Optimize.java | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/2472f6ae/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/Optimize.java
----------------------------------------------------------------------
diff --git 
a/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/Optimize.java 
b/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/Optimize.java
index af86148..9ac4e49 100644
--- 
a/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/Optimize.java
+++ 
b/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/Optimize.java
@@ -155,8 +155,12 @@ public class Optimize implements Rewrite
         OpWalker.walk(op, new OpVisitorExprPrepare(context)) ;
         
         // Convert paths to triple patterns if possible.
-        if ( context.isTrueOrUndef(ARQ.optPathFlatten) )
+        if ( context.isTrueOrUndef(ARQ.optPathFlatten) ) {
             op = apply("Path flattening", new TransformPathFlattern(), op) ;
+            // and merge adjacent BGPs (part 1)
+            if ( context.isTrueOrUndef(ARQ.optMergeBGPs) )
+                op = apply("Merge BGPs", new TransformMergeBGPs(), op) ;
+        }
 
         // Expression constant folding
         if ( context.isTrueOrUndef(ARQ.optExprConstantFolding) )

Reply via email to