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:19 UTC
[1/9] jena git commit: Improve javadoc
Repository: jena
Updated Branches:
refs/heads/master bd357d406 -> 3baf1a36f
Improve javadoc
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/a6eaa15d
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/a6eaa15d
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/a6eaa15d
Branch: refs/heads/master
Commit: a6eaa15da666981443dbb803905439449850a7ba
Parents: cc8810d
Author: Andy Seaborne <an...@apache.org>
Authored: Sat Jun 3 22:37:08 2017 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Sat Jun 3 22:37:08 2017 +0100
----------------------------------------------------------------------
.../apache/jena/sparql/core/DatasetGraphBaseFind.java | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/a6eaa15d/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphBaseFind.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphBaseFind.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphBaseFind.java
index 67c4566..e58cf9e 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphBaseFind.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphBaseFind.java
@@ -100,19 +100,27 @@ abstract public class DatasetGraphBaseFind extends DatasetGraphBase
* No duplicates - the union graph is a <em>set</em> of triples.
* See {@link #findInAnyNamedGraphs}, where there may be duplicates.
* <p>
- * Implementations are encouraged to override this method. For example, it
- * may be possible to avoid "distinct".
+ * Implementations are encouraged to override this method or {@link #findUnionGraphTriples}.
+ * For example, it may be possible to avoid "distinct".
*/
public Iterator<Quad> findQuadsInUnionGraph(Node s, Node p , Node o) {
return findUnionGraphTriples(s,p,o).map(t -> new Quad(Quad.unionGraph, t)).iterator() ;
}
+ /** Find matches in the notional union of all named graphs - return as triples.
+ * No duplicates - the union graph is a <em>set</em> of triples.
+ * See {@link #findInAnyNamedGraphs}, where there may be duplicates.
+ * <p>
+ * Implementations are encouraged to override this method. For example, it
+ * may be possible to avoid "distinct".
+ */
private Stream<Triple> findUnionGraphTriples(Node s, Node p , Node o) {
return Iter.asStream(findInAnyNamedGraphs(s,p,o)).map(Quad::asTriple).distinct() ;
}
- /** Find in a specific named graph - {@code g} is a group term (IRI or bNode), not a wild card (or null). */
+ /** Find in a specific named graph - {@code g} is a ground term (IRI or bNode), not a wild card (or null). */
protected abstract Iterator<Quad> findInSpecificNamedGraph(Node g, Node s, Node p , Node o) ;
+
/** Find in any named graph - return quads.
* If a triple matches in two different graph, return a quad for each.
* See {@link #findInUnionGraph} for matching without duplicate triples.
[5/9] jena git commit: JENA-1074: Add DatasetGraph.getUnionGraph
Posted by an...@apache.org.
JENA-1074: Add DatasetGraph.getUnionGraph
A graph which is the triples fromall named graph in the dataset.
This does not include the default graph.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/0a872489
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/0a872489
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/0a872489
Branch: refs/heads/master
Commit: 0a872489d859a78cf0e9e13b2a8ce532a5751d5d
Parents: 462fe53
Author: Andy Seaborne <an...@apache.org>
Authored: Sun Jun 4 09:44:34 2017 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Sun Jun 4 09:44:34 2017 +0100
----------------------------------------------------------------------
.../java/org/apache/jena/sparql/core/DatasetGraph.java | 7 +++++++
.../org/apache/jena/sparql/core/DatasetGraphBase.java | 10 ++++++++++
.../org/apache/jena/sparql/core/DatasetGraphWrapper.java | 4 ++++
3 files changed, 21 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/0a872489/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraph.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraph.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraph.java
index d772624..313af4d 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraph.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraph.java
@@ -49,6 +49,13 @@ public interface DatasetGraph extends Transactional, Closeable
public Graph getGraph(Node graphNode) ;
/**
+ * Return a {@link Graph} that is the union of all named graphs in this dataset. This
+ * union graph is read-only (its prefix mapping in the current JVM may be changed but
+ * that may not persist).
+ */
+ public Graph getUnionGraph();
+
+ /**
* Does the DatasetGraph contain a specific named graph?
* Whether a dataset contains a graph if there are no triples is
* not defined - see the specifc implementation. Some datasets are "open" -
http://git-wip-us.apache.org/repos/asf/jena/blob/0a872489/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphBase.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphBase.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphBase.java
index e5214eb..73847fe 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphBase.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphBase.java
@@ -26,6 +26,7 @@ import org.apache.jena.graph.Node ;
import org.apache.jena.shared.Lock ;
import org.apache.jena.shared.LockMRSW ;
import org.apache.jena.sparql.core.mem.DatasetGraphInMemory ;
+import org.apache.jena.sparql.graph.GraphOps;
import org.apache.jena.sparql.sse.writers.WriterGraph ;
import org.apache.jena.sparql.util.Context ;
@@ -58,6 +59,15 @@ abstract public class DatasetGraphBase implements DatasetGraph
@Override
public abstract Graph getDefaultGraph() ;
+
+ @Override
+ public Graph getUnionGraph() {
+ // Implementations are encouraged to implement an efficent
+ // {@code DatasetGraphBase.findQuadsInUnionGraph} or
+ // {@code findNG(Quad.unionGraph, Node.ANY, Node.ANY, Node.ANY)}
+ // for a distinct iterator (e.g. avoid calling "distinct()" by not creating duplicates).
+ return GraphOps.unionGraph(this);
+ }
@Override
public abstract Graph getGraph(Node graphNode) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/0a872489/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphWrapper.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphWrapper.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphWrapper.java
index 3480fd4..421fdc0 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphWrapper.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphWrapper.java
@@ -82,6 +82,10 @@ public class DatasetGraphWrapper implements DatasetGraph, Sync
{ return getG().getDefaultGraph(); }
@Override
+ public Graph getUnionGraph()
+ { return getG().getUnionGraph(); }
+
+ @Override
public Graph getGraph(Node graphNode)
{ return getG().getGraph(graphNode) ; }
[7/9] jena git commit: JENA-1074: Provide Dataset.getUnionModel()
Posted by an...@apache.org.
JENA-1074: Provide Dataset.getUnionModel()
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/8a6ad81c
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/8a6ad81c
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/8a6ad81c
Branch: refs/heads/master
Commit: 8a6ad81cb4692790b6afe2268c2d7310da035cda
Parents: a016916
Author: Andy Seaborne <an...@apache.org>
Authored: Sun Jun 4 09:57:34 2017 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Sun Jun 4 09:58:46 2017 +0100
----------------------------------------------------------------------
jena-arq/src/main/java/org/apache/jena/query/Dataset.java | 3 +++
.../src/main/java/org/apache/jena/sparql/core/DatasetImpl.java | 5 +++++
2 files changed, 8 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/8a6ad81c/jena-arq/src/main/java/org/apache/jena/query/Dataset.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/query/Dataset.java b/jena-arq/src/main/java/org/apache/jena/query/Dataset.java
index 4ab06f5..db88642 100644
--- a/jena-arq/src/main/java/org/apache/jena/query/Dataset.java
+++ b/jena-arq/src/main/java/org/apache/jena/query/Dataset.java
@@ -35,6 +35,9 @@ public interface Dataset extends Transactional
/** Get the default graph as a Jena Model */
public Model getDefaultModel() ;
+ /** Get the graph which is teh unionof all named graphs as a Jena Model */
+ public Model getUnionModel() ;
+
/** Set the default graph. Can be set to null for none. */
public void setDefaultModel(Model model) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/8a6ad81c/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetImpl.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetImpl.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetImpl.java
index 60fa30f..2216d2f 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetImpl.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetImpl.java
@@ -83,6 +83,11 @@ public class DatasetImpl implements Dataset
}
@Override
+ public Model getUnionModel() {
+ return ModelFactory.createModelForGraph(dsg.getUnionGraph()) ;
+ }
+
+ @Override
public Lock getLock() { return dsg.getLock() ; }
@Override
[8/9] jena git commit: JENA-1074: Merge commit 'refs/pull/260/head'
of github.com:apache/jena
Posted by an...@apache.org.
JENA-1074: Merge commit 'refs/pull/260/head' of github.com:apache/jena
This closes #260.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/aeedc505
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/aeedc505
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/aeedc505
Branch: refs/heads/master
Commit: aeedc5053f478961316ad7d1a0c753d6920844eb
Parents: bd357d4 8a6ad81
Author: Andy Seaborne <an...@apache.org>
Authored: Thu Jun 8 14:59:46 2017 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Thu Jun 8 14:59:46 2017 +0100
----------------------------------------------------------------------
.../java/org/apache/jena/query/Dataset.java | 3 ++
.../apache/jena/sparql/core/DatasetGraph.java | 7 +++
.../jena/sparql/core/DatasetGraphBase.java | 10 ++++
.../jena/sparql/core/DatasetGraphBaseFind.java | 14 ++++--
.../jena/sparql/core/DatasetGraphWrapper.java | 4 ++
.../apache/jena/sparql/core/DatasetImpl.java | 5 ++
.../jena/sparql/graph/GraphUnionRead.java | 13 ++++-
.../sparql/core/AbstractDatasetGraphFind.java | 53 ++++++++++++++++----
.../main/java/org/apache/jena/graph/Graph.java | 20 +++++---
9 files changed, 108 insertions(+), 21 deletions(-)
----------------------------------------------------------------------
[4/9] jena git commit: JENA-1074: Use DatasetGraph.findNG for dynamic
union graph .find.
Posted by an...@apache.org.
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
[9/9] jena git commit: JENA-1074: Use match parameters
Posted by an...@apache.org.
JENA-1074: Use match parameters
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/3baf1a36
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/3baf1a36
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/3baf1a36
Branch: refs/heads/master
Commit: 3baf1a36f7d68df7e4e1ba218cefdccc54eb3563
Parents: aeedc50
Author: Andy Seaborne <an...@apache.org>
Authored: Thu Jun 8 15:38:08 2017 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Thu Jun 8 15:38:08 2017 +0100
----------------------------------------------------------------------
.../src/main/java/org/apache/jena/sparql/graph/GraphUnionRead.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/3baf1a36/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 fa4115e..e675d6f 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
@@ -82,7 +82,7 @@ public class GraphUnionRead extends GraphBase {
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<Quad> qIter = dataset.findNG(Quad.unionGraph, m.getSubject(), m.getPredicate(), m.getObject());
Iterator<Triple> tIter = Iter.map(qIter, quad->quad.asTriple());
return WrappedIterator.createNoRemove(tIter) ;
}
[2/9] jena git commit: Block ExtendedIterator.remove
Posted by an...@apache.org.
Block ExtendedIterator.remove
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/97e950e7
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/97e950e7
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/97e950e7
Branch: refs/heads/master
Commit: 97e950e76023eb698fb369e621d246861be79e97
Parents: a6eaa15
Author: Andy Seaborne <an...@apache.org>
Authored: Sat Jun 3 22:38:01 2017 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Sat Jun 3 22:38:01 2017 +0100
----------------------------------------------------------------------
.../src/main/java/org/apache/jena/sparql/graph/GraphUnionRead.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/97e950e7/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 3c4fb39..a14a9c8 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
@@ -80,7 +80,7 @@ public class GraphUnionRead extends GraphBase {
protected ExtendedIterator<Triple> graphBaseFind(Triple m) {
IteratorConcat<Triple> iter = new IteratorConcat<>() ;
forEachGraph((g) -> iter.add(g.find(m))) ;
- return WrappedIterator.create(Iter.distinct(iter)) ;
+ return WrappedIterator.createNoRemove(Iter.distinct(iter)) ;
}
/** Execute action for each graph that exists */
[3/9] jena git commit: JENA-1074: Add Graph.find(),
equivalent to find(ANY, ANY, ANY).
Posted by an...@apache.org.
JENA-1074: Add Graph.find(), equivalent to find(ANY,ANY,ANY).
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/c25cbd8b
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/c25cbd8b
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/c25cbd8b
Branch: refs/heads/master
Commit: c25cbd8bd33cfb08c8a04d0b7f228b361be76f6c
Parents: 97e950e
Author: Andy Seaborne <an...@apache.org>
Authored: Sun Jun 4 09:41:11 2017 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Sun Jun 4 09:41:11 2017 +0100
----------------------------------------------------------------------
.../main/java/org/apache/jena/graph/Graph.java | 20 ++++++++++++++------
1 file changed, 14 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/c25cbd8b/jena-core/src/main/java/org/apache/jena/graph/Graph.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/graph/Graph.java b/jena-core/src/main/java/org/apache/jena/graph/Graph.java
index 0dd9ed3..ea39ddb 100644
--- a/jena-core/src/main/java/org/apache/jena/graph/Graph.java
+++ b/jena-core/src/main/java/org/apache/jena/graph/Graph.java
@@ -92,17 +92,25 @@ public interface Graph
/**
Returns an iterator over all the Triples that match the triple pattern.
- @param m a Triple[Match] encoding the pattern to look for
+ @param m a Triple encoding the pattern to look for
@return an iterator of all triples in this graph that match m
*/
ExtendedIterator<Triple> find(Triple m);
-
-/** Returns an iterator over Triple.
- */
- ExtendedIterator<Triple> find(Node s,Node p,Node o);
+ /** Returns an iterator over Triples matching a pattern.
+ *
+ * @return an iterator of all triples in this graph
+ */
+ ExtendedIterator<Triple> find(Node s, Node p, Node o);
- /**
+ /** Returns an iterator over all Triples in the graph.
+ * Equivalent to {@code find(Node.ANY, Node.ANY, Node.ANY)}
+ *
+ * @return an iterator of all triples in this graph
+ */
+ default ExtendedIterator<Triple> find() { return find(Node.ANY, Node.ANY, Node.ANY); }
+
+ /**
* Compare this graph with another using the method
* described in
* <a href="http://www.w3.org/TR/rdf-concepts#section-Graph-syntax">
[6/9] jena git commit: JENA-1074: Tests for
DatasetGraph.getUnionGraph()
Posted by an...@apache.org.
JENA-1074: Tests for DatasetGraph.getUnionGraph()
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/a0169161
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/a0169161
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/a0169161
Branch: refs/heads/master
Commit: a0169161322a6d65227e0c40cf464a0c879f1af2
Parents: 0a87248
Author: Andy Seaborne <an...@apache.org>
Authored: Sun Jun 4 09:55:15 2017 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Sun Jun 4 09:58:39 2017 +0100
----------------------------------------------------------------------
.../sparql/core/AbstractDatasetGraphFind.java | 53 ++++++++++++++++----
1 file changed, 43 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/a0169161/jena-arq/src/test/java/org/apache/jena/sparql/core/AbstractDatasetGraphFind.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/core/AbstractDatasetGraphFind.java b/jena-arq/src/test/java/org/apache/jena/sparql/core/AbstractDatasetGraphFind.java
index f3585fa..f201e8c 100644
--- a/jena-arq/src/test/java/org/apache/jena/sparql/core/AbstractDatasetGraphFind.java
+++ b/jena-arq/src/test/java/org/apache/jena/sparql/core/AbstractDatasetGraphFind.java
@@ -19,24 +19,23 @@
package org.apache.jena.sparql.core;
import static org.apache.jena.atlas.iterator.Iter.asStream ;
-import static org.apache.jena.atlas.iterator.Iter.toList ;
+import static org.apache.jena.atlas.iterator.Iter.toList;
+import static org.apache.jena.atlas.iterator.Iter.toSet;
import static org.apache.jena.atlas.junit.BaseTest.assertEqualsUnordered;
import static org.junit.Assert.assertEquals ;
import static org.junit.Assert.assertFalse ;
+import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue ;
-import static org.junit.Assert.fail ;
+import static org.junit.Assert.fail;
-import java.util.Arrays ;
-import java.util.Collection ;
-import java.util.Iterator ;
-import java.util.List ;
+import java.util.*;
import java.util.stream.Collectors ;
+import org.apache.jena.atlas.iterator.Iter;
import org.apache.jena.graph.Node ;
import org.apache.jena.graph.Triple ;
-import org.apache.jena.sparql.core.DatasetGraph ;
-import org.apache.jena.sparql.core.DatasetGraphBaseFind ;
-import org.apache.jena.sparql.core.Quad ;
+import org.apache.jena.shared.AddDeniedException;
+import org.apache.jena.shared.DeleteDeniedException;
import org.apache.jena.sparql.graph.NodeConst ;
import org.apache.jena.sparql.sse.SSE ;
import org.junit.Assume ;
@@ -193,6 +192,8 @@ public abstract class AbstractDatasetGraphFind {
assertTrue(x.contains(q2)) ;
}
+ // Union graph by name.
+
@Test public void find_union_01() {
List<Quad> x = toList(dsg.find(Quad.unionGraph, null, null, null)) ;
assertEquals(3, x.size()) ;
@@ -206,6 +207,38 @@ public abstract class AbstractDatasetGraphFind {
Quad qz = Quad.create(Quad.unionGraph, q2.asTriple()) ;
assertFalse(x.contains(qz)) ;
}
+
+ // Union graph as graph
+
+ @Test public void find_union_02() {
+ DatasetGraphBaseFind dsgx = (DatasetGraphBaseFind)dsg ;
+ assertNotNull(dsgx.getUnionGraph());
+ List<Triple> x = toList(dsgx.getUnionGraph().find(null, null, null)) ;
+ assertEquals(3, x.size()) ;
+ assertTrue(x.contains(q4.asTriple())) ;
+ assertTrue(x.contains(q5.asTriple())) ;
+ assertTrue(x.contains(q10.asTriple())) ;
+ }
+
+ @Test public void find_union_03() {
+ DatasetGraphBaseFind dsgx = (DatasetGraphBaseFind)dsg ;
+ assertNotNull(dsgx.getUnionGraph());
+ Set<Triple> x1 = toSet(dsgx.getUnionGraph().find(null, null, null)) ;
+ Set<Triple> x2 = Iter.iter(dsg.find(Quad.unionGraph, null, null, null)).map(Quad::asTriple).toSet();
+ assertEquals(x1, x2);
+ }
+
+ @Test(expected=AddDeniedException.class)
+ public void find_union_04() {
+ DatasetGraphBaseFind dsgx = (DatasetGraphBaseFind)dsg ;
+ dsgx.getUnionGraph().add(q4.asTriple());
+ }
+
+ @Test(expected=DeleteDeniedException.class)
+ public void find_union_05() {
+ DatasetGraphBaseFind dsgx = (DatasetGraphBaseFind)dsg ;
+ dsgx.getUnionGraph().delete(q4.asTriple());
+ }
// DatasetGraphBaseFind specific.
@@ -245,7 +278,7 @@ public abstract class AbstractDatasetGraphFind {
assertEqualsUnordered(x1, x2) ;
assertEquals(1, x2.size()) ;
}
-
+
static List<Triple> quadsToDistinctTriples(Iterator<Quad> iter) {
return asStream(iter).map(Quad::asTriple).distinct().collect(Collectors.toList()) ;
}