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) ;
}