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() {

Reply via email to