You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2012/02/19 21:05:47 UTC

svn commit: r1291050 - in /incubator/jena/Jena2/ARQ/trunk/src: main/java/com/hp/hpl/jena/sparql/algebra/optimize/ test/java/com/hp/hpl/jena/sparql/algebra/ test/java/com/hp/hpl/jena/sparql/algebra/optimize/

Author: andy
Date: Sun Feb 19 20:05:46 2012
New Revision: 1291050

URL: http://svn.apache.org/viewvc?rev=1291050&view=rev
Log:
Rename merge adjacent BGPs transform.
Enable in optimizer.
Adjust tests.

Added:
    incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/TransformMergeBGPs.java
      - copied, changed from r1291049, incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/TransformCollapseBGPs.java
    incubator/jena/Jena2/ARQ/trunk/src/test/java/com/hp/hpl/jena/sparql/algebra/optimize/TestTransformMergeBGPs.java
      - copied, changed from r1291049, incubator/jena/Jena2/ARQ/trunk/src/test/java/com/hp/hpl/jena/sparql/algebra/optimize/TestTransformCollapseBGPs.java
Removed:
    incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/TransformCollapseBGPs.java
    incubator/jena/Jena2/ARQ/trunk/src/test/java/com/hp/hpl/jena/sparql/algebra/optimize/TestTransformCollapseBGPs.java
Modified:
    incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/Optimize.java
    incubator/jena/Jena2/ARQ/trunk/src/test/java/com/hp/hpl/jena/sparql/algebra/TS_Algebra.java
    incubator/jena/Jena2/ARQ/trunk/src/test/java/com/hp/hpl/jena/sparql/algebra/optimize/TestOptimizer.java

Modified: incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/Optimize.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/Optimize.java?rev=1291050&r1=1291049&r2=1291050&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/Optimize.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/Optimize.java Sun Feb 19 20:05:46 2012
@@ -198,6 +198,8 @@ public class Optimize implements Rewrite
         // Find joins/leftJoin that can be done by index joins (generally preferred as fixed memory overhead).
         op = apply("Join strategy", new TransformJoinStrategy(), op) ;
         
+        op = apply("Merge BGPs", new TransformMergeBGPs(), op) ;
+        
         // Mark
         if ( false )
             op = OpLabel.create("Transformed", op) ;

Copied: incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/TransformMergeBGPs.java (from r1291049, incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/TransformCollapseBGPs.java)
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/TransformMergeBGPs.java?p2=incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/TransformMergeBGPs.java&p1=incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/TransformCollapseBGPs.java&r1=1291049&r2=1291050&rev=1291050&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/TransformCollapseBGPs.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/TransformMergeBGPs.java Sun Feb 19 20:05:46 2012
@@ -20,49 +20,16 @@ package com.hp.hpl.jena.sparql.algebra.o
 
 import java.util.List ;
 
-import org.openjena.atlas.lib.StrUtils ;
-
 import com.hp.hpl.jena.sparql.algebra.Op ;
 import com.hp.hpl.jena.sparql.algebra.TransformCopy ;
-import com.hp.hpl.jena.sparql.algebra.Transformer ;
 import com.hp.hpl.jena.sparql.algebra.op.OpBGP ;
 import com.hp.hpl.jena.sparql.algebra.op.OpJoin ;
 import com.hp.hpl.jena.sparql.algebra.op.OpSequence ;
 import com.hp.hpl.jena.sparql.core.BasicPattern ;
-import com.hp.hpl.jena.sparql.sse.SSE ;
 
 /** Merge adjacent BGPsTransformCollapseBGPs */
-public class TransformCollapseBGPs extends TransformCopy
+public class TransformMergeBGPs extends TransformCopy
 {
-    public static void main(String ...argv)
-    {
-        String x = StrUtils.strjoinNL(
-        "(prefix ((: <http://example/>))",
-        "    (sequence",
-        "      (bgp", 
-        "        (triple ??0 :p 1)", 
-        "        (triple ??0 :q 2)", 
-        "      )", 
-        "    (path ??1 (seq :p :r) 1)", 
-        "    (bgp",
-        "      (triple ??1 :q 2)", 
-        "      (triple ??2 :p 1)", 
-        "    )",
-        "    (path ??2 (seq :q :r) 2)))" 
-        ) ;
-        Op op = SSE.parseOp(x) ;
-        
-        //BUGS:
-        //  NON BGP -> crash
-        // Not dropping merged BGPs.
-        
-        Op op2 = Transformer.transform(new TransformPathFlattern(), op) ;
-        op2 = Transformer.transform(new TransformCollapseBGPs(), op2) ;
-        //op2 = Transformer.transform(new TransformJoinStrategy(), op) ;
-        System.out.println(op2) ;
-        
-    }
-    
     @Override
     public Op transform(OpJoin opJoin, Op left, Op right)
     {
@@ -77,7 +44,6 @@ public class TransformCollapseBGPs exten
         return super.transform(opJoin, left, right) ;
     }
     
-    // Worth it?
     @Override
     public Op transform(OpSequence opSequence, List<Op> elts)
     {

Modified: incubator/jena/Jena2/ARQ/trunk/src/test/java/com/hp/hpl/jena/sparql/algebra/TS_Algebra.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/test/java/com/hp/hpl/jena/sparql/algebra/TS_Algebra.java?rev=1291050&r1=1291049&r2=1291050&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/test/java/com/hp/hpl/jena/sparql/algebra/TS_Algebra.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/test/java/com/hp/hpl/jena/sparql/algebra/TS_Algebra.java Sun Feb 19 20:05:46 2012
@@ -21,7 +21,7 @@ package com.hp.hpl.jena.sparql.algebra;
 
 import com.hp.hpl.jena.sparql.algebra.optimize.TestOptimizer ;
 import com.hp.hpl.jena.sparql.algebra.optimize.TestPattern2Join ;
-import com.hp.hpl.jena.sparql.algebra.optimize.TestTransformCollapseBGPs ;
+import com.hp.hpl.jena.sparql.algebra.optimize.TestTransformMergeBGPs ;
 import com.hp.hpl.jena.sparql.algebra.optimize.TestVarRename ;
 
 import junit.framework.TestSuite ;
@@ -37,7 +37,7 @@ import org.junit.runners.Suite ;
 
     , TestVarRename.class
     , TestOptimizer.class
-    , TestTransformCollapseBGPs.class
+    , TestTransformMergeBGPs.class
     , TestPattern2Join.class
     
 //    , TestUnionGraph.class

Modified: incubator/jena/Jena2/ARQ/trunk/src/test/java/com/hp/hpl/jena/sparql/algebra/optimize/TestOptimizer.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/test/java/com/hp/hpl/jena/sparql/algebra/optimize/TestOptimizer.java?rev=1291050&r1=1291049&r2=1291050&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/test/java/com/hp/hpl/jena/sparql/algebra/optimize/TestOptimizer.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/test/java/com/hp/hpl/jena/sparql/algebra/optimize/TestOptimizer.java Sun Feb 19 20:05:46 2012
@@ -60,9 +60,15 @@ public class TestOptimizer extends BaseT
             "    (bgp (triple ?s ?p ?o))\n" + 
             "    (slice _ 50\n" + 
             "      (project (?v)\n" + 
-            "        (sequence\n" + 
-            "          (bgp (triple ?/x ?/y ?v))\n" + 
-            "          (bgp (triple ?/a ?/y ?/w)))))))" ; 
+
+//            // Old - no BGP merge
+//            "        (sequence\n" + 
+//            "          (bgp (triple ?/x ?/y ?v))\n" + 
+//            "          (bgp (triple ?/a ?/y ?/w)))" +
+            // Merged BGP
+            "(bgp (triple ?/x ?/y ?v) (triple ?/a ?/y ?/w))" +
+
+            "))))" ; 
         check(queryString, opExpectedString) ;
     }
 

Copied: incubator/jena/Jena2/ARQ/trunk/src/test/java/com/hp/hpl/jena/sparql/algebra/optimize/TestTransformMergeBGPs.java (from r1291049, incubator/jena/Jena2/ARQ/trunk/src/test/java/com/hp/hpl/jena/sparql/algebra/optimize/TestTransformCollapseBGPs.java)
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/test/java/com/hp/hpl/jena/sparql/algebra/optimize/TestTransformMergeBGPs.java?p2=incubator/jena/Jena2/ARQ/trunk/src/test/java/com/hp/hpl/jena/sparql/algebra/optimize/TestTransformMergeBGPs.java&p1=incubator/jena/Jena2/ARQ/trunk/src/test/java/com/hp/hpl/jena/sparql/algebra/optimize/TestTransformCollapseBGPs.java&r1=1291049&r2=1291050&rev=1291050&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/test/java/com/hp/hpl/jena/sparql/algebra/optimize/TestTransformCollapseBGPs.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/test/java/com/hp/hpl/jena/sparql/algebra/optimize/TestTransformMergeBGPs.java Sun Feb 19 20:05:46 2012
@@ -25,7 +25,7 @@ import com.hp.hpl.jena.sparql.algebra.Op
 import com.hp.hpl.jena.sparql.algebra.Transformer ;
 import com.hp.hpl.jena.sparql.sse.SSE ;
 
-public class TestTransformCollapseBGPs extends BaseTest
+public class TestTransformMergeBGPs extends BaseTest
 {
     
     String pre = "(prefix ((: <http://example/>))" ;
@@ -97,7 +97,7 @@ public class TestTransformCollapseBGPs e
         
         Op op1 = SSE.parseOp(input) ;
         //op1 = Transformer.transform(new TransformPathFlattern(), op1) ;
-        Op op3 = Transformer.transform(new TransformCollapseBGPs(), op1) ;
+        Op op3 = Transformer.transform(new TransformMergeBGPs(), op1) ;
         Op expected = SSE.parseOp(output) ;
         assertEquals(expected, op3) ;
     }