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/03/08 21:34:52 UTC
[5/8] jena git commit: JENA-1500: Hide empty graphs in default
in-memory dataset.
JENA-1500: Hide empty graphs in default in-memory dataset.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/c06971fe
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/c06971fe
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/c06971fe
Branch: refs/heads/master
Commit: c06971febfd6b6d92cfbb97b9baa3781f1709dda
Parents: 7130fd5
Author: Andy Seaborne <an...@apache.org>
Authored: Thu Mar 8 15:54:13 2018 +0000
Committer: Andy Seaborne <an...@apache.org>
Committed: Thu Mar 8 15:54:13 2018 +0000
----------------------------------------------------------------------
.../org/apache/jena/sparql/core/DatasetGraphMap.java | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/c06971fe/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphMap.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphMap.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphMap.java
index c01f250..9ebb704 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphMap.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphMap.java
@@ -24,6 +24,7 @@ import static org.apache.jena.sparql.util.graph.GraphUtils.triples2quadsDftGraph
import java.util.HashMap ;
import java.util.Iterator ;
import java.util.Map ;
+import java.util.Map.Entry;
import org.apache.jena.atlas.iterator.IteratorConcat ;
import org.apache.jena.graph.Graph ;
@@ -86,10 +87,22 @@ public class DatasetGraphMap extends DatasetGraphTriplesQuads
@Override
public Iterator<Node> listGraphNodes() {
- return graphs.keySet().iterator();
+ // Hide empty graphs.
+ return graphs.entrySet().stream().filter(e->!e.getValue().isEmpty()).map(Entry::getKey).iterator();
}
@Override
+ public boolean containsGraph(Node graphNode) {
+ // Hide empty graphs.
+ if ( Quad.isDefaultGraph(graphNode) )
+ return true;
+ if ( Quad.isUnionGraph(graphNode) )
+ return true;
+ Graph g = graphs.get(graphNode);
+ return g != null && !g.isEmpty();
+ }
+
+ @Override
protected void addToDftGraph(Node s, Node p, Node o) {
getDefaultGraph().add(Triple.create(s, p, o)) ;
}