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 2018/10/25 16:55:24 UTC
[1/4] jena git commit: JENA-1619: Completely detach a binding by
doing a copy.
Repository: jena
Updated Branches:
refs/heads/master a7ba51f67 -> c3027d69a
JENA-1619: Completely detach a binding by doing a copy.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/cd75e6c1
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/cd75e6c1
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/cd75e6c1
Branch: refs/heads/master
Commit: cd75e6c1597db5da1adf2eb3decd5bd59877b266
Parents: a7ba51f
Author: Andy Seaborne <an...@apache.org>
Authored: Wed Oct 24 14:31:36 2018 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Wed Oct 24 14:31:36 2018 +0100
----------------------------------------------------------------------
.../jena/sparql/engine/binding/BindingFactory.java | 2 +-
.../jena/sparql/engine/binding/BindingUtils.java | 15 ---------------
.../apache/jena/sparql/resultset/ResultSetMem.java | 11 +++++------
3 files changed, 6 insertions(+), 22 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/cd75e6c1/jena-arq/src/main/java/org/apache/jena/sparql/engine/binding/BindingFactory.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/engine/binding/BindingFactory.java b/jena-arq/src/main/java/org/apache/jena/sparql/engine/binding/BindingFactory.java
index cd22878..3b36809 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/engine/binding/BindingFactory.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/engine/binding/BindingFactory.java
@@ -64,7 +64,7 @@ public class BindingFactory {
* Create a new Binding as a copy of an existing one. Additionally, it guarantees to
* touch each element of the binding
*/
- public static Binding materialize(Binding b) {
+ public static Binding copy(Binding b) {
Iterator<Var> vIter = b.vars();
BindingMap b2 = create();
while (vIter.hasNext()) {
http://git-wip-us.apache.org/repos/asf/jena/blob/cd75e6c1/jena-arq/src/main/java/org/apache/jena/sparql/engine/binding/BindingUtils.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/engine/binding/BindingUtils.java b/jena-arq/src/main/java/org/apache/jena/sparql/engine/binding/BindingUtils.java
index 3bb7cd1..aa2d538 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/engine/binding/BindingUtils.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/engine/binding/BindingUtils.java
@@ -19,7 +19,6 @@
package org.apache.jena.sparql.engine.binding ;
import java.util.Iterator ;
-import java.util.List;
import org.apache.jena.atlas.logging.Log ;
import org.apache.jena.graph.Node ;
@@ -95,18 +94,4 @@ public class BindingUtils {
public static boolean equals(Binding b1, Binding b2) {
return BindingBase.equals(b1, b2) ;
}
-
- /** Touch every var/value in case that makes the binding do retrieval work. */
- public static void materialize(Binding binding) {
- for ( Iterator<Var> iter = binding.vars() ; iter.hasNext() ; ) {
- Var v = iter.next();
- binding.get(v);
- }
- }
-
- /** Touch every var/value in case that makes the binding do retrieval work.
- * Use the given vars - does no matter if a variable is not present in the binding. */
- public static void materialize(List<Var> vars, Binding binding) {
- vars.forEach(binding::get);
- }
}
http://git-wip-us.apache.org/repos/asf/jena/blob/cd75e6c1/jena-arq/src/main/java/org/apache/jena/sparql/resultset/ResultSetMem.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/resultset/ResultSetMem.java b/jena-arq/src/main/java/org/apache/jena/sparql/resultset/ResultSetMem.java
index f3181d9..04b4096 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/resultset/ResultSetMem.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/resultset/ResultSetMem.java
@@ -30,7 +30,7 @@ import org.apache.jena.rdf.model.Model ;
import org.apache.jena.sparql.core.ResultBinding ;
import org.apache.jena.sparql.core.Var;
import org.apache.jena.sparql.engine.binding.Binding ;
-import org.apache.jena.sparql.engine.binding.BindingUtils;
+import org.apache.jena.sparql.engine.binding.BindingFactory;
/** A result set held in-memory. rewindable.
*/
@@ -66,8 +66,8 @@ public class ResultSetMem implements ResultSetRewindable, ResultSetPeekable
if ( takeCopy )
rows.addAll(imrs2.rows);
else
- // Share results (not the iterator).
- rows = imrs2.rows;
+ // Share results (not the iterator).
+ rows = imrs2.rows;
reset();
}
@@ -75,7 +75,7 @@ public class ResultSetMem implements ResultSetRewindable, ResultSetPeekable
* Create an in-memory result set from any ResultSet object. If the
* ResultSet is an in-memory one already, then no copying is done - the
* necessary internal datastructures are shared. This operation destroys
- * (uses up) a ResultSet object that is not an in memory one.
+ * (uses up) a ResultSet object that is not an in-memory one.
*/
public ResultSetMem(ResultSet qr) {
@@ -88,8 +88,7 @@ public class ResultSetMem implements ResultSetRewindable, ResultSetPeekable
varNames = qr.getResultVars();
List<Var> vars = Var.varList(varNames);
while (qr.hasNext()) {
- Binding rb = qr.nextBinding();
- BindingUtils.materialize(vars, rb);
+ Binding rb = BindingFactory.copy(qr.nextBinding());
rows.add(rb);
}
}
[3/4] jena git commit: Cleanup formatting.
Posted by an...@apache.org.
Cleanup formatting.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/4dc260ee
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/4dc260ee
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/4dc260ee
Branch: refs/heads/master
Commit: 4dc260eeb2f627f724f6a382f42819f3c9b51cd6
Parents: c89ed12
Author: Andy Seaborne <an...@apache.org>
Authored: Wed Oct 24 14:34:26 2018 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Wed Oct 24 14:34:26 2018 +0100
----------------------------------------------------------------------
.../jena/sparql/engine/binding/Binding.java | 1 -
.../sparql/engine/binding/BindingUtils.java | 75 ++++++++++----------
2 files changed, 37 insertions(+), 39 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/4dc260ee/jena-arq/src/main/java/org/apache/jena/sparql/engine/binding/Binding.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/engine/binding/Binding.java b/jena-arq/src/main/java/org/apache/jena/sparql/engine/binding/Binding.java
index 90f7e92..ddf4578 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/engine/binding/Binding.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/engine/binding/Binding.java
@@ -41,5 +41,4 @@ public interface Binding
/** Is this an empty binding? No variables. */
public boolean isEmpty() ;
-
}
http://git-wip-us.apache.org/repos/asf/jena/blob/4dc260ee/jena-arq/src/main/java/org/apache/jena/sparql/engine/binding/BindingUtils.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/engine/binding/BindingUtils.java b/jena-arq/src/main/java/org/apache/jena/sparql/engine/binding/BindingUtils.java
index aa2d538..08ae260 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/engine/binding/BindingUtils.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/engine/binding/BindingUtils.java
@@ -16,82 +16,81 @@
* limitations under the License.
*/
-package org.apache.jena.sparql.engine.binding ;
+package org.apache.jena.sparql.engine.binding;
-import java.util.Iterator ;
+import java.util.Iterator;
-import org.apache.jena.atlas.logging.Log ;
-import org.apache.jena.graph.Node ;
-import org.apache.jena.query.QuerySolution ;
-import org.apache.jena.rdf.model.RDFNode ;
-import org.apache.jena.sparql.ARQInternalErrorException ;
-import org.apache.jena.sparql.core.ResultBinding ;
-import org.apache.jena.sparql.core.Var ;
+import org.apache.jena.atlas.logging.Log;
+import org.apache.jena.graph.Node;
+import org.apache.jena.query.QuerySolution;
+import org.apache.jena.rdf.model.RDFNode;
+import org.apache.jena.sparql.ARQInternalErrorException;
+import org.apache.jena.sparql.core.ResultBinding;
+import org.apache.jena.sparql.core.Var;
public class BindingUtils {
/** Convert a query solution to a binding */
public static Binding asBinding(QuerySolution qSolution) {
if ( qSolution == null )
- return null ;
+ return null;
if ( qSolution instanceof ResultBinding )
// Only named variables.
- return new BindingProjectNamed(((ResultBinding)qSolution).getBinding()) ;
- BindingMap binding = BindingFactory.create() ;
- addToBinding(binding, qSolution) ;
- return binding ;
+ return new BindingProjectNamed(((ResultBinding)qSolution).getBinding());
+ BindingMap binding = BindingFactory.create();
+ addToBinding(binding, qSolution);
+ return binding;
}
public static void addToBinding(BindingMap binding, QuerySolution qSolution) {
if ( qSolution == null )
- return ;
+ return;
for ( Iterator<String> iter = qSolution.varNames() ; iter.hasNext() ; ) {
- String n = iter.next() ;
+ String n = iter.next();
- RDFNode x = qSolution.get(n) ;
+ RDFNode x = qSolution.get(n);
if ( Var.isBlankNodeVarName(n) )
- continue ;
+ continue;
try {
- binding.add(Var.alloc(n), x.asNode()) ;
- }
- catch (ARQInternalErrorException ex) {
+ binding.add(Var.alloc(n), x.asNode());
+ } catch (ARQInternalErrorException ex) {
// bad binding attempt.
- Log.warn(BindingUtils.class, "Attempt to bind " + n + " when already bound") ;
+ Log.warn(BindingUtils.class, "Attempt to bind " + n + " when already bound");
}
}
}
public static void addAll(BindingMap dest, Binding src) {
- Iterator<Var> iter = src.vars() ;
+ Iterator<Var> iter = src.vars();
for ( ; iter.hasNext() ; ) {
- Var v = iter.next() ;
- Node n = src.get(v) ;
- dest.add(v, n) ;
+ Var v = iter.next();
+ Node n = src.get(v);
+ dest.add(v, n);
}
}
/** Merge two bindings, assuming they are compatible. */
public static Binding merge(Binding bind1, Binding bind2) {
- //Create binding from LHS
- BindingMap b2 = BindingFactory.create(bind1) ;
- Iterator<Var> vIter = bind2.vars() ;
+ // Create binding from LHS
+ BindingMap b2 = BindingFactory.create(bind1);
+ Iterator<Var> vIter = bind2.vars();
// Add any variables from the RHS
for ( ; vIter.hasNext() ; ) {
- Var v = vIter.next() ;
- if ( ! b2.contains(v) )
- b2.add(v, bind2.get(v)) ;
+ Var v = vIter.next();
+ if ( !b2.contains(v) )
+ b2.add(v, bind2.get(v));
else {
// Checking!
- Node n1 = bind1.get(v) ;
- Node n2 = bind2.get(v) ;
- if ( ! n1.equals(n2) )
- Log.warn(BindingUtils.class, "merge: Mismatch : "+n1+" != "+n2);
+ Node n1 = bind1.get(v);
+ Node n2 = bind2.get(v);
+ if ( !n1.equals(n2) )
+ Log.warn(BindingUtils.class, "merge: Mismatch : " + n1 + " != " + n2);
}
}
- return b2 ;
+ return b2;
}
public static boolean equals(Binding b1, Binding b2) {
- return BindingBase.equals(b1, b2) ;
+ return BindingBase.equals(b1, b2);
}
}
[2/4] jena git commit: JENA-1619: Don't materialize bindings.
Posted by an...@apache.org.
JENA-1619: Don't materialize bindings.
No need to materialize.
Bindings aren't safe outside a transaction anyway.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/c89ed123
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/c89ed123
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/c89ed123
Branch: refs/heads/master
Commit: c89ed1238bcee69918e7aeedaf52637c66ff315c
Parents: cd75e6c
Author: Andy Seaborne <an...@apache.org>
Authored: Wed Oct 24 14:34:05 2018 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Wed Oct 24 14:34:05 2018 +0100
----------------------------------------------------------------------
.../apache/jena/tdb2/solver/QueryEngineTDB.java | 25 --------------------
.../apache/jena/tdb/solver/QueryEngineTDB.java | 25 --------------------
2 files changed, 50 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/c89ed123/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/solver/QueryEngineTDB.java
----------------------------------------------------------------------
diff --git a/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/solver/QueryEngineTDB.java b/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/solver/QueryEngineTDB.java
index ee6b244..b73f36e 100644
--- a/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/solver/QueryEngineTDB.java
+++ b/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/solver/QueryEngineTDB.java
@@ -31,8 +31,6 @@ import org.apache.jena.sparql.engine.QueryEngineFactory ;
import org.apache.jena.sparql.engine.QueryEngineRegistry ;
import org.apache.jena.sparql.engine.QueryIterator ;
import org.apache.jena.sparql.engine.binding.Binding ;
-import org.apache.jena.sparql.engine.binding.BindingFactory ;
-import org.apache.jena.sparql.engine.iterator.QueryIteratorWrapper ;
import org.apache.jena.sparql.engine.main.QueryEngineMain ;
import org.apache.jena.sparql.mgt.Explain ;
import org.apache.jena.sparql.util.Context ;
@@ -108,32 +106,9 @@ public class QueryEngineTDB extends QueryEngineMain
Explain.explain("REWRITE(Union default graph)", op, context) ;
}
QueryIterator results = super.eval(op, dsg, input, context) ;
- results = new QueryIteratorMaterializeBinding(results) ;
return results ;
}
- /** Copy from any TDB internal BindingTDB to a Binding that
- * does not have any connection to the database.
- */
- static class QueryIteratorMaterializeBinding extends QueryIteratorWrapper
- {
- public QueryIteratorMaterializeBinding(QueryIterator qIter)
- {
- super(qIter) ;
- }
-
- @Override
- protected Binding moveToNextBinding()
- {
- Binding b = super.moveToNextBinding() ;
- b = BindingFactory.materialize(b) ;
- return b ;
- }
- }
-
- // Execution time (needs wiring to ARQ).
- public long getMillis() { return -1 ; }
-
// ---- Factory
protected static QueryEngineFactory factory = new QueryEngineFactoryTDB() ;
http://git-wip-us.apache.org/repos/asf/jena/blob/c89ed123/jena-tdb/src/main/java/org/apache/jena/tdb/solver/QueryEngineTDB.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/solver/QueryEngineTDB.java b/jena-tdb/src/main/java/org/apache/jena/tdb/solver/QueryEngineTDB.java
index 9a0b038..cf2aa7b 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/solver/QueryEngineTDB.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/solver/QueryEngineTDB.java
@@ -31,8 +31,6 @@ import org.apache.jena.sparql.engine.QueryEngineFactory ;
import org.apache.jena.sparql.engine.QueryEngineRegistry ;
import org.apache.jena.sparql.engine.QueryIterator ;
import org.apache.jena.sparql.engine.binding.Binding ;
-import org.apache.jena.sparql.engine.binding.BindingFactory ;
-import org.apache.jena.sparql.engine.iterator.QueryIteratorWrapper ;
import org.apache.jena.sparql.engine.main.QueryEngineMain ;
import org.apache.jena.sparql.mgt.Explain ;
import org.apache.jena.sparql.util.Context ;
@@ -102,32 +100,9 @@ public class QueryEngineTDB extends QueryEngineMain
Explain.explain("REWRITE(Union default graph)", op, context) ;
}
QueryIterator results = super.eval(op, dsg, input, context) ;
- results = new QueryIteratorMaterializeBinding(results) ;
return results ;
}
- /** Copy from any TDB internal BindingTDB to a Binding that
- * does not have any connection to the database.
- */
- static class QueryIteratorMaterializeBinding extends QueryIteratorWrapper
- {
- public QueryIteratorMaterializeBinding(QueryIterator qIter)
- {
- super(qIter) ;
- }
-
- @Override
- protected Binding moveToNextBinding()
- {
- Binding b = super.moveToNextBinding() ;
- b = BindingFactory.materialize(b) ;
- return b ;
- }
- }
-
- // Execution time (needs wiring to ARQ).
- public long getMillis() { return -1 ; }
-
// ---- Factory
protected static QueryEngineFactory factory = new QueryEngineFactoryTDB() ;
[4/4] jena git commit: JENA-1619: Merge commit 'refs/pull/482/head'
of https://github.com/apache/jena
Posted by an...@apache.org.
JENA-1619: Merge commit 'refs/pull/482/head' of https://github.com/apache/jena
This closes #482.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/c3027d69
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/c3027d69
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/c3027d69
Branch: refs/heads/master
Commit: c3027d69ac87763113322876816fb6292ef6cd6a
Parents: a7ba51f 4dc260e
Author: Andy Seaborne <an...@apache.org>
Authored: Thu Oct 25 17:49:12 2018 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Thu Oct 25 17:49:12 2018 +0100
----------------------------------------------------------------------
.../jena/sparql/engine/binding/Binding.java | 1 -
.../sparql/engine/binding/BindingFactory.java | 2 +-
.../sparql/engine/binding/BindingUtils.java | 90 ++++++++------------
.../jena/sparql/resultset/ResultSetMem.java | 11 ++-
.../apache/jena/tdb2/solver/QueryEngineTDB.java | 25 ------
.../apache/jena/tdb/solver/QueryEngineTDB.java | 25 ------
6 files changed, 43 insertions(+), 111 deletions(-)
----------------------------------------------------------------------