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 2014/09/23 15:50:23 UTC
[07/10] git commit: Document
Document
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/eeb4e4aa
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/eeb4e4aa
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/eeb4e4aa
Branch: refs/heads/master
Commit: eeb4e4aa895134c5d3153dfb6690fbc6efa1f483
Parents: e87a8a3
Author: Andy Seaborne <an...@apache.org>
Authored: Tue Sep 23 14:46:40 2014 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Tue Sep 23 14:46:40 2014 +0100
----------------------------------------------------------------------
.../algebra/optimize/TransformMergeBGPs.java | 77 +++++++++-----------
1 file changed, 33 insertions(+), 44 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/eeb4e4aa/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/TransformMergeBGPs.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/TransformMergeBGPs.java b/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/TransformMergeBGPs.java
index e0193e1..1c6e0e1 100644
--- a/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/TransformMergeBGPs.java
+++ b/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/TransformMergeBGPs.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package com.hp.hpl.jena.sparql.algebra.optimize;
+package com.hp.hpl.jena.sparql.algebra.optimize ;
import java.util.List ;
@@ -27,57 +27,51 @@ 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 ;
-/** Merge adjacent BGPsTransformCollapseBGPs */
-public class TransformMergeBGPs extends TransformCopy
-{
+/** Merge BGPs
+ *
+ * <li>(join BGP1 BGP2) => BGP
+ * <li>(sequence ...BGP1 BGP2 ...) => (sequence ...BGP ...)
+ */
+public class TransformMergeBGPs extends TransformCopy {
@Override
- public Op transform(OpJoin opJoin, Op left, Op right)
- {
+ public Op transform(OpJoin opJoin, Op left, Op right) {
BasicPattern p1 = asBGP(left) ;
BasicPattern p2 = asBGP(right) ;
- if ( p1 != null && p2 != null )
- {
+ if ( p1 != null && p2 != null ) {
BasicPattern p = merge(p1, p2) ;
return new OpBGP(p) ;
}
-
+
return super.transform(opJoin, left, right) ;
}
-
+
@Override
- public Op transform(OpSequence opSequence, List<Op> elts)
- {
+ public Op transform(OpSequence opSequence, List<Op> elts) {
// First check whether we need to do anything at all.
// Check for two BGPs.
boolean xform = false ;
boolean previousBGP = false ;
- for ( Op op1 : elts )
- {
- BasicPattern p1 = asBGP( op1 );
- if ( previousBGP && p1 != null )
- {
- xform = true;
- break;
+ for ( Op op1 : elts ) {
+ BasicPattern p1 = asBGP(op1) ;
+ if ( previousBGP && p1 != null ) {
+ xform = true ;
+ break ;
}
- previousBGP = ( p1 != null );
+ previousBGP = (p1 != null) ;
}
-
- if ( ! xform )
- // Nothing to do here.
- return super.transform(opSequence, elts) ;
-
-
-
+
+ if ( !xform )
+ // Nothing to do here.
+ return super.transform(opSequence, elts) ;
+
OpSequence seq2 = OpSequence.create() ;
- for ( int i = 0 ; i < elts.size() ; i++ )
- {
+ for ( int i = 0 ; i < elts.size() ; i++ ) {
Op op = elts.get(i) ;
BasicPattern p1 = asBGP(op) ;
- if ( p1 == null )
- {
+ if ( p1 == null ) {
// Do nothing
seq2.add(op) ;
continue ; // Outer loop.
@@ -88,14 +82,12 @@ public class TransformMergeBGPs extends TransformCopy
seq2.add(new OpBGP(pMerge)) ;
// Merge any BGPs from here on ...
// Re-gets the BGP that trigegrs this all.
- for ( ; i < elts.size() ; i++ )
- {
+ for ( ; i < elts.size() ; i++ ) {
// Look at next element.
Op opNext = elts.get(i) ;
BasicPattern p2 = asBGP(opNext) ;
- if ( p2 == null )
- {
+ if ( p2 == null ) {
seq2.add(opNext) ;
break ;
}
@@ -108,16 +100,14 @@ public class TransformMergeBGPs extends TransformCopy
return seq2.get(0) ;
return seq2 ;
}
-
- private static BasicPattern asBGP(Op op)
- {
+
+ private static BasicPattern asBGP(Op op) {
if ( op instanceof OpBGP )
- return ((OpBGP)op).getPattern() ;
+ return ((OpBGP)op).getPattern() ;
return null ;
}
-
- private static BasicPattern merge(BasicPattern p1, BasicPattern p2)
- {
+
+ private static BasicPattern merge(BasicPattern p1, BasicPattern p2) {
if ( p1 == null || p2 == null )
return null ;
BasicPattern p = new BasicPattern() ;
@@ -125,6 +115,5 @@ public class TransformMergeBGPs extends TransformCopy
p.addAll(p2) ;
return p ;
}
-
-}
+}