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 2017/06/08 14:38:22 UTC

[4/9] jena git commit: JENA-1074: Use DatasetGraph.findNG for dynamic union graph .find.

JENA-1074: Use DatasetGraph.findNG for dynamic union graph .find.

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

Branch: refs/heads/master
Commit: 462fe53a8fbac8770471251be676a050d29a4d1a
Parents: c25cbd8
Author: Andy Seaborne <an...@apache.org>
Authored: Sun Jun 4 09:43:25 2017 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Sun Jun 4 09:43:25 2017 +0100

----------------------------------------------------------------------
 .../org/apache/jena/sparql/graph/GraphUnionRead.java     | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/462fe53a/jena-arq/src/main/java/org/apache/jena/sparql/graph/GraphUnionRead.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/graph/GraphUnionRead.java b/jena-arq/src/main/java/org/apache/jena/sparql/graph/GraphUnionRead.java
index a14a9c8..fa4115e 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/graph/GraphUnionRead.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/graph/GraphUnionRead.java
@@ -19,6 +19,7 @@
 package org.apache.jena.sparql.graph ;
 
 import java.util.Collection ;
+import java.util.Iterator;
 import java.util.function.Consumer ;
 
 import org.apache.jena.atlas.iterator.Iter ;
@@ -78,6 +79,14 @@ public class GraphUnionRead extends GraphBase {
 
     @Override
     protected ExtendedIterator<Triple> graphBaseFind(Triple m) {
+        if ( graphs == null ) {
+            // This produces unique quads with the same graph node,
+            // hence the triples are distinct. 
+            Iterator<Quad> qIter = dataset.findNG(Quad.unionGraph, Node.ANY, Node.ANY, Node.ANY);
+            Iterator<Triple> tIter = Iter.map(qIter, quad->quad.asTriple());
+            return WrappedIterator.createNoRemove(tIter) ;
+        }
+        // Only certain graphs.
         IteratorConcat<Triple> iter = new IteratorConcat<>() ;
         forEachGraph((g) -> iter.add(g.find(m))) ;
         return WrappedIterator.createNoRemove(Iter.distinct(iter)) ;
@@ -103,7 +112,7 @@ public class GraphUnionRead extends GraphBase {
     
     @Override
     public void performAdd(Triple t) {
-        throw new AddDeniedException("GraphUnionRead::performAdd - read-only graph") ;
+        throw new AddDeniedException("GraphUnionRead::performAdd - Read-only graph") ;
     }
 
     @Override