This is an automated email from the ASF dual-hosted git repository.
afs pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/jena.git
The following commit(s) were added to refs/heads/main by this push:
new ad65246b35 Added missing stream() overrides to
DatasetGraphWithGraphTransform.
ad65246b35 is described below
commit ad65246b358d7c0b33938ac516cc61f75f92f0d6
Author: Claus Stadler <[email protected]>
AuthorDate: Wed Sep 23 00:55:51 2026 +0200
Added missing stream() overrides to DatasetGraphWithGraphTransform.
---
.../engine/DatasetGraphWithGraphTransform.java | 11 +++++--
.../apache/jena/rdfs/AbstractTestGraphRDFS.java | 2 --
.../org/apache/jena/rdfs/TestDatasetGraphRDFS.java | 37 ++++++++++++++++++----
3 files changed, 39 insertions(+), 11 deletions(-)
diff --git
a/jena-arq/src/main/java/org/apache/jena/rdfs/engine/DatasetGraphWithGraphTransform.java
b/jena-arq/src/main/java/org/apache/jena/rdfs/engine/DatasetGraphWithGraphTransform.java
index 0d985cb2b6..c8c7122954 100644
---
a/jena-arq/src/main/java/org/apache/jena/rdfs/engine/DatasetGraphWithGraphTransform.java
+++
b/jena-arq/src/main/java/org/apache/jena/rdfs/engine/DatasetGraphWithGraphTransform.java
@@ -25,6 +25,7 @@ import static org.apache.jena.atlas.iterator.Iter.iter;
import java.util.Iterator;
import java.util.function.Function;
+import java.util.stream.Stream;
import org.apache.jena.atlas.iterator.Iter;
import org.apache.jena.graph.Graph;
@@ -36,8 +37,6 @@ import org.apache.jena.sparql.core.Quad;
import org.apache.jena.sparql.util.Context;
public class DatasetGraphWithGraphTransform extends DatasetGraphWrapper
implements DatasetGraphWrapperView {
- // Do not unwrap for query execution.
-
private Function<Graph, ? extends Graph> graphTransform;
public DatasetGraphWithGraphTransform(DatasetGraph dsg, Function<Graph, ?
extends Graph> graphTransform) {
@@ -76,6 +75,14 @@ public class DatasetGraphWithGraphTransform extends
DatasetGraphWrapper implemen
return wrapGraph(base);
}
+ @Override
+ public Stream<Quad> stream()
+ { return Iter.asStream(find()); }
+
+ @Override
+ public Stream<Quad> stream(Node g, Node s, Node p, Node o)
+ { return Iter.asStream(find(g, s, p, o)); }
+
@Override
public Iterator<Quad> find()
{ return find(Node.ANY, Node.ANY, Node.ANY, Node.ANY); }
diff --git
a/jena-arq/src/test/java/org/apache/jena/rdfs/AbstractTestGraphRDFS.java
b/jena-arq/src/test/java/org/apache/jena/rdfs/AbstractTestGraphRDFS.java
index 3f018d1e87..f201dbb90f 100644
--- a/jena-arq/src/test/java/org/apache/jena/rdfs/AbstractTestGraphRDFS.java
+++ b/jena-arq/src/test/java/org/apache/jena/rdfs/AbstractTestGraphRDFS.java
@@ -58,6 +58,4 @@ public abstract class AbstractTestGraphRDFS extends
AbstractTestRDFS {
protected String getReferenceLabel() {
return "InfGraph";
}
-
-
}
diff --git
a/jena-arq/src/test/java/org/apache/jena/rdfs/TestDatasetGraphRDFS.java
b/jena-arq/src/test/java/org/apache/jena/rdfs/TestDatasetGraphRDFS.java
index c83ecae56c..d43cbf1906 100644
--- a/jena-arq/src/test/java/org/apache/jena/rdfs/TestDatasetGraphRDFS.java
+++ b/jena-arq/src/test/java/org/apache/jena/rdfs/TestDatasetGraphRDFS.java
@@ -33,8 +33,8 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.PrintStream;
import java.util.ArrayList;
-import java.util.Iterator;
import java.util.List;
+import java.util.Set;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
@@ -73,13 +73,36 @@ public class TestDatasetGraphRDFS {
dsg = (DatasetGraphWrapper)RDFSFactory.datasetRDFS(dsgBase, schema);
}
+ /** Test and validate access via find/stream with four arguments. */
@Test public void dsg_access_1() {
- Iterator<Quad> iter1 = dsg.find(null, node("a"), rdfType, null);
- Iter.consume(iter1);
- Iterator<Quad> iter2 = dsg.find(ANY, node("a"), rdfType, null);
- Iter.consume(iter2);
- Iterator<Quad> iter3 = dsg.getWrapped().find(null, node("a"),
rdfType, null);
- Iter.consume(iter3);
+ Set<Quad> expected = Iter.toSet(SSE.parseDatasetGraph("""
+ (dataset
+ (:g :a rdf:type :A)
+ (:g :a rdf:type :B)
+ )
+ """).find());
+
+ Set<Quad> set1 = Iter.toSet(dsg.find(null, node("a"), rdfType, null));
+ assertEquals(expected, set1);
+
+ Set<Quad> set2 = Iter.toSet(dsg.find(ANY, node("a"), rdfType, null));
+ assertEquals(expected, set2);
+
+ Set<Quad> set3 = Iter.toSet(dsg.getWrapped().find(null, node("a"),
rdfType, null));
+ assertNotEquals(expected, set3);
+
+ Set<Quad> set4 = Iter.toSet(Iter.ofStream(dsg.stream(null, node("a"),
rdfType, null)));
+ assertEquals(expected, set4);
+
+ Set<Quad> set5 = Iter.toSet(Iter.ofStream(dsg.stream(ANY, node("a"),
rdfType, null)));
+ assertEquals(expected, set5);
+ }
+
+ /** Test and validate access via find/stream with no arguments. */
+ @Test public void dsg_access_2() {
+ Set<Quad> set1 = Iter.toSet(dsg.find());
+ Set<Quad> set2 = Iter.toSet(Iter.ofStream(dsg.stream()));
+ assertEquals(set1, set2);
}
@Test public void dsg_find_all() {