This is an automated email from the ASF dual-hosted git repository.

andy pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/jena.git

commit cf96347bf0029d4385adb98e308ebee7ed114b39
Author: Andy Seaborne <[email protected]>
AuthorDate: Tue Nov 12 10:21:02 2024 +0000

    JENA-2837: Reduce use of model APIs in Fuseki main testing
---
 .../java/org/apache/jena/sparql/exec/RowSet.java   |  4 +-
 .../access/AccessCtl_SPARQL_QueryDataset.java      |  2 +-
 .../jena/fuseki/access/SecurityContextView.java    |  3 +-
 .../fuseki/access/TestSecurityFilterLocal.java     | 56 +++++++++++-----------
 .../jena/fuseki/servlets/SPARQLQueryProcessor.java | 24 +++++-----
 .../fuseki/main/TestFusekiStdReadOnlySetup.java    | 50 ++++++++++---------
 .../jena/fuseki/main/TestFusekiStdSetup.java       | 48 +++++++++----------
 .../apache/jena/fuseki/main/TestPlainServer.java   |  5 --
 .../org/apache/jena/fuseki/main/TestQuery.java     | 34 +++++++------
 .../jena/fuseki/main/TestSPARQLProtocol.java       | 27 +++++++----
 .../access/AbstractTestServiceDatasetAuth.java     | 28 +++++------
 .../jena/fuseki/main/access/TestPasswdOnly.java    | 17 +++----
 .../main/access/TestSecurityFilterFuseki.java      | 28 +++++------
 .../java/org/apache/jena/rdfconnection/LibSec.java |  6 ++-
 .../jena/rdflink/LinkDatasetGraphAccess.java       |  8 ++++
 .../main/java/org/apache/jena/rdflink/RDFLink.java | 13 +++++
 .../org/apache/jena/rdflink/RDFLinkDataset.java    |  2 +-
 17 files changed, 186 insertions(+), 169 deletions(-)

diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/exec/RowSet.java 
b/jena-arq/src/main/java/org/apache/jena/sparql/exec/RowSet.java
index f905d5b053..4ac53a6931 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/exec/RowSet.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/exec/RowSet.java
@@ -79,8 +79,8 @@ public interface RowSet extends IteratorCloseable<Binding> {
 
     /**
      * Normally a RowSet is processed until complete which implicitly closes 
any
-     * underlying resources. This "close" operation exists to explicitly do 
this in
-     * cases where it does onto automatically. There is no need to close 
RowSets
+     * underlying resources. This "close" operation exists to explicitly end 
use of the RowSet
+     * in cases where it does happen. There is no need to close RowSets
      * normally - it is the {@link QueryExec} that should be closed.
      */
     @Override
diff --git 
a/jena-fuseki2/jena-fuseki-access/src/main/java/org/apache/jena/fuseki/access/AccessCtl_SPARQL_QueryDataset.java
 
b/jena-fuseki2/jena-fuseki-access/src/main/java/org/apache/jena/fuseki/access/AccessCtl_SPARQL_QueryDataset.java
index f4c452bc97..3b8c8fe3ec 100644
--- 
a/jena-fuseki2/jena-fuseki-access/src/main/java/org/apache/jena/fuseki/access/AccessCtl_SPARQL_QueryDataset.java
+++ 
b/jena-fuseki2/jena-fuseki-access/src/main/java/org/apache/jena/fuseki/access/AccessCtl_SPARQL_QueryDataset.java
@@ -121,7 +121,7 @@ public class AccessCtl_SPARQL_QueryDataset extends 
SPARQL_QueryDataset {
             return super.createQueryExec(action, query, target);
 
         SecurityContext sCxt = DataAccessLib.getSecurityContext(action, dsg, 
requestUser);
-        // A QueryExecution for controlled access
+        // A query execution for controlled access
         QueryExec qExec = sCxt.createQueryExec(query, target);
         return qExec;
     }
diff --git 
a/jena-fuseki2/jena-fuseki-access/src/main/java/org/apache/jena/fuseki/access/SecurityContextView.java
 
b/jena-fuseki2/jena-fuseki-access/src/main/java/org/apache/jena/fuseki/access/SecurityContextView.java
index a0826485ec..440bd39341 100644
--- 
a/jena-fuseki2/jena-fuseki-access/src/main/java/org/apache/jena/fuseki/access/SecurityContextView.java
+++ 
b/jena-fuseki2/jena-fuseki-access/src/main/java/org/apache/jena/fuseki/access/SecurityContextView.java
@@ -26,7 +26,6 @@ import java.util.function.Predicate;
 
 import org.apache.jena.graph.Node;
 import org.apache.jena.query.Query;
-import org.apache.jena.query.QueryExecution;
 import org.apache.jena.sparql.core.DatasetGraph;
 import org.apache.jena.sparql.core.Quad;
 import org.apache.jena.sparql.exec.QueryExec;
@@ -99,7 +98,7 @@ public class SecurityContextView implements SecurityContext {
 
     /**
      * Apply a filter suitable for the TDB-backed {@link DatasetGraph}, to the 
{@link Context} of the
-     * {@link QueryExecution}. This does not modify the {@link DatasetGraph}.
+     * {@link QueryExec}. This does not modify the {@link DatasetGraph}.
      */
     @Override
     public void filterTDB(DatasetGraph dsg, QueryExec qExec) {
diff --git 
a/jena-fuseki2/jena-fuseki-access/src/test/java/org/apache/jena/fuseki/access/TestSecurityFilterLocal.java
 
b/jena-fuseki2/jena-fuseki-access/src/test/java/org/apache/jena/fuseki/access/TestSecurityFilterLocal.java
index af42f6a5f4..82d6d64b40 100644
--- 
a/jena-fuseki2/jena-fuseki-access/src/test/java/org/apache/jena/fuseki/access/TestSecurityFilterLocal.java
+++ 
b/jena-fuseki2/jena-fuseki-access/src/test/java/org/apache/jena/fuseki/access/TestSecurityFilterLocal.java
@@ -167,7 +167,7 @@ public class TestSecurityFilterLocal {
         assertSeen(visible);
     }
 
-    // QueryExecution
+    // Query execution
     private void filter_user(String user, Node ... expected) {
         SecurityContext sCxt = reg.get(user);
         Set<Node> visible = subjects(testdsg, queryAll, sCxt);
@@ -241,7 +241,7 @@ public class TestSecurityFilterLocal {
         assertSeen(visible);
     }
 
-    // QueryExecution w/ Union default graph
+    // Query execution w/ union default graph
     private void filter_union_user(String user, Node ... expected) {
         SecurityContext sCxt = reg.get(user);
         Set<Node> visible;
@@ -289,56 +289,56 @@ public class TestSecurityFilterLocal {
     }
 
 
-    // Graph/Model
-    @Test public void query_model_userNone() {
-        query_model_user(testdsg, dsg->dsg.getDefaultGraph(), "userNone");
+    // Graph
+    @Test public void query_graph_userNone() {
+        query_graph_user(testdsg, dsg->dsg.getDefaultGraph(), "userNone");
     }
 
-    @Test public void query_model_userDft() {
-        query_model_user(testdsg, dsg->dsg.getDefaultGraph(), "userDft", s0);
+    @Test public void query_graph_userDft() {
+        query_graph_user(testdsg, dsg->dsg.getDefaultGraph(), "userDft", s0);
     }
 
-    @Test public void query_model_user0() {
-        query_model_user(testdsg, dsg->dsg.getDefaultGraph(), "user0", s0);
+    @Test public void query_graph_user0() {
+        query_graph_user(testdsg, dsg->dsg.getDefaultGraph(), "user0", s0);
     }
 
-    @Test public void query_model_user1() {
-        query_model_user(testdsg, dsg->dsg.getDefaultGraph(), "user1", s0);
+    @Test public void query_graph_user1() {
+        query_graph_user(testdsg, dsg->dsg.getDefaultGraph(), "user1", s0);
     }
 
-    @Test public void query_model_user2() {
-        query_model_user(testdsg, dsg->dsg.getDefaultGraph(), "user2");
+    @Test public void query_graph_user2() {
+        query_graph_user(testdsg, dsg->dsg.getDefaultGraph(), "user2");
     }
 
-    @Test public void query_model_ng_userNone() {
-        query_model_user(testdsg, dsg->dsg.getGraph(g1), "userNone");
+    @Test public void query_graph_ng_userNone() {
+        query_graph_user(testdsg, dsg->dsg.getGraph(g1), "userNone");
     }
 
-    @Test public void query_model_ng_user11() {
-        query_model_user(testdsg, dsg->dsg.getGraph(g1), "user1", s1);
+    @Test public void query_graph_ng_user11() {
+        query_graph_user(testdsg, dsg->dsg.getGraph(g1), "user1", s1);
     }
 
-    @Test public void query_model_ng_user21() {
-        query_model_user(testdsg, dsg->dsg.getGraph(g1), "user2", s1);
+    @Test public void query_graph_ng_user21() {
+        query_graph_user(testdsg, dsg->dsg.getGraph(g1), "user2", s1);
     }
 
-    @Test public void query_model_ng_user12() {
-        query_model_user(testdsg, dsg->dsg.getGraph(g2), "user1");
+    @Test public void query_graph_ng_user12() {
+        query_graph_user(testdsg, dsg->dsg.getGraph(g2), "user1");
     }
 
-    @Test public void query_model_ng_user22() {
-        query_model_user(testdsg, dsg->dsg.getGraph(g2), "user2", s2);
+    @Test public void query_graph_ng_user22() {
+        query_graph_user(testdsg, dsg->dsg.getGraph(g2), "user2", s2);
     }
 
-    @Test public void query_model_userXa() {
-        query_model_user(testdsg, dsg->dsg.getDefaultGraph(), "userX");
+    @Test public void query_graph_userXa() {
+        query_graph_user(testdsg, dsg->dsg.getDefaultGraph(), "userX");
     }
 
-    @Test public void query_model_userXb() {
-        query_model_user(testdsg, dsg->dsg.getGraph(g1), "userX");
+    @Test public void query_graph_userXb() {
+        query_graph_user(testdsg, dsg->dsg.getGraph(g1), "userX");
     }
 
-    private void query_model_user(DatasetGraph dsg, Function<DatasetGraph, 
Graph> graphChoice, String user, Node ... expected) {
+    private void query_graph_user(DatasetGraph dsg, Function<DatasetGraph, 
Graph> graphChoice, String user, Node ... expected) {
         SecurityContext sCxt = reg.get(user);
         Set<Node> visible = subjects(dsg, graphChoice, queryDft, sCxt);
         assertSeen(visible, expected);
diff --git 
a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/SPARQLQueryProcessor.java
 
b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/SPARQLQueryProcessor.java
index 385594535e..b9600b03ad 100644
--- 
a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/SPARQLQueryProcessor.java
+++ 
b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/SPARQLQueryProcessor.java
@@ -306,11 +306,11 @@ public abstract class SPARQLQueryProcessor extends 
ActionService
      */
     protected abstract void validateQuery(HttpAction action, Query query);
 
-    /** Create the {@link QueryExecution} for this operation.
+    /** Create the {@link QueryExec} for this operation.
      * @param action
      * @param query
      * @param dataset
-     * @return QueryExecution
+     * @return QueryExec
      */
     protected QueryExec createQueryExec(HttpAction action, Query query, 
DatasetGraph dataset) {
         QueryExecDatasetBuilder builder = QueryExec.newBuilder()
@@ -368,16 +368,16 @@ public abstract class SPARQLQueryProcessor extends 
ActionService
             return setupTimeout;
     }
 
-    /** Perform the {@link QueryExecution} once.
+    /** Perform the {@link QueryExec} once.
      * @param action
-     * @param queryExecution
-     * @param requestQuery Original query; queryExecution query may have been 
modified.
+     * @param queryExec
+     * @param requestQuery Original query; the QueryExec query may have been 
modified.
      * @param queryStringLog Informational string created from the initial 
query.
      * @return
      */
-    protected QueryExecResult executeQuery(HttpAction action, QueryExec 
queryExecution, Query requestQuery, String queryStringLog) {
+    protected QueryExecResult executeQuery(HttpAction action, QueryExec 
queryExec, Query requestQuery, String queryStringLog) {
         if ( requestQuery.isSelectType() ) {
-            RowSet rs = queryExecution.select();
+            RowSet rs = queryExec.select();
 
             // Force some query execution now.
             // If the timeout-first-row goes off, the output stream has not
@@ -393,23 +393,23 @@ public abstract class SPARQLQueryProcessor extends 
ActionService
         }
 
         if ( requestQuery.isConstructType() ) {
-            DatasetGraph dataset = queryExecution.constructDataset();
+            DatasetGraph dataset = queryExec.constructDataset();
             return new QueryExecResult(dataset);
         }
 
         if ( requestQuery.isDescribeType() ) {
-            Graph graph = queryExecution.describe();
+            Graph graph = queryExec.describe();
             return new QueryExecResult(graph);
         }
 
         if ( requestQuery.isAskType() ) {
-            boolean b = queryExecution.ask();
+            boolean b = queryExec.ask();
             return new QueryExecResult(b);
         }
 
         if ( requestQuery.isJsonType() ) {
-            Iterator<JsonObject> jsonIterator = queryExecution.execJsonItems();
-            //JsonArray jsonArray = queryExecution.execJson();
+            Iterator<JsonObject> jsonIterator = queryExec.execJsonItems();
+            //JsonArray jsonArray = queryExec.execJson();
             return new QueryExecResult(jsonIterator);
         }
 
diff --git 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestFusekiStdReadOnlySetup.java
 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestFusekiStdReadOnlySetup.java
index af22dafc23..fe16e1d569 100644
--- 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestFusekiStdReadOnlySetup.java
+++ 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestFusekiStdReadOnlySetup.java
@@ -20,22 +20,21 @@ package org.apache.jena.fuseki.main;
 
 import java.util.function.Consumer;
 
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
 import org.apache.jena.atlas.lib.StrUtils;
 import org.apache.jena.atlas.web.HttpException;
 import org.apache.jena.fuseki.test.HttpTest;
 import org.apache.jena.graph.Graph;
-import org.apache.jena.query.Dataset;
-import org.apache.jena.query.DatasetFactory;
-import org.apache.jena.rdf.model.Model;
-import org.apache.jena.rdf.model.ModelFactory;
-import org.apache.jena.rdfconnection.RDFConnection;
+import org.apache.jena.graph.Node;
+import org.apache.jena.graph.NodeFactory;
+import org.apache.jena.rdflink.RDFLink;
 import org.apache.jena.sparql.core.DatasetGraph;
 import org.apache.jena.sparql.core.DatasetGraphFactory;
 import org.apache.jena.sparql.engine.http.QueryExceptionHTTP;
 import org.apache.jena.sparql.sse.SSE;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
 
 /** Tests for .add("/ds", dsg, false) */
 public class TestFusekiStdReadOnlySetup {
@@ -44,22 +43,20 @@ public class TestFusekiStdReadOnlySetup {
     private static FusekiServer server = null;
     private static int port;
 
-    private static Model data;
-    private static Dataset dataset;
+    private static Graph data;
+    private static DatasetGraph dataset;
 
     private static String URL;
 
     @BeforeClass
     public static void beforeClass() {
-        Graph graph = SSE.parseGraph(StrUtils.strjoinNL
+        data = SSE.parseGraph(StrUtils.strjoinNL
             ("(graph"
             ,"   (:s :p 1)"
             ,")"));
-        data = ModelFactory.createModelForGraph(graph);
 
-        DatasetGraph dsgData = DatasetGraphFactory.create();
-        dsgData.add(SSE.parseQuad("(:g :s :p 2 )"));
-        dataset = DatasetFactory.wrap(dsgData);
+        dataset = DatasetGraphFactory.create();
+        dataset.add(SSE.parseQuad("(:g :s :p 2 )"));
 
         DatasetGraph dsg = DatasetGraphFactory.createTxnMem();
 
@@ -95,12 +92,12 @@ public class TestFusekiStdReadOnlySetup {
 
     @Test
     public void stdSetup_endpoint_4() {
-        exec(URL, "/get", conn -> conn.fetch());
+        exec(URL, "/get", conn -> conn.get());
     }
 
     @Test
     public void stdSetup_endpoint_5() {
-        exec(URL, "/data", conn -> conn.fetch());
+        exec(URL, "/data", conn -> conn.get());
     }
 
     @Test
@@ -133,22 +130,23 @@ public class TestFusekiStdReadOnlySetup {
 
     @Test
     public void stdSetup_dataset_3() {
-        exec(URL, conn -> conn.fetch());
+        exec(URL, conn -> conn.get());
     }
 
     @Test
     public void stdSetup_dataset_4() {
-        exec(URL, conn -> conn.fetchDataset());
+        exec(URL, conn -> conn.getDataset());
     }
 
     @Test
     public void stdSetup_dataset_5() {
-        HttpTest.expect405(() -> exec(URL, conn -> conn.put("http://example";, 
data)) );
+        Node gn = NodeFactory.createURI("http://example";);
+        HttpTest.expect405(() -> exec(URL, conn -> conn.put(gn, data)) );
     }
 
     @Test
     public void stdSetup_dataset_6() {
-        // Read-only: Bad POST - only queies can be POST'ed => bad media type.
+        // Read-only: Bad POST - only queries can be POST'ed => bad media type.
         HttpTest.expect405(() -> exec(URL, conn -> conn.putDataset(dataset)) );
     }
 
@@ -170,14 +168,14 @@ public class TestFusekiStdReadOnlySetup {
     }
 
     @Test public void stdSetup_endpoint_bad_5() {
-        HttpTest.expect404( () -> exec(URL+"2", "", (RDFConnection 
conn)->conn.queryAsk("ASK{}")) );
+        HttpTest.expect404( () -> exec(URL+"2", "", 
conn->conn.queryAsk("ASK{}")) );
     }
 
-    private static void exec(String url, Consumer<RDFConnection> action) {
+    private static void exec(String url, Consumer<RDFLink> action) {
         execEx(url, null, action);
     }
 
-    private static void exec(String url, String ep, Consumer<RDFConnection> 
action) {
+    private static void exec(String url, String ep, Consumer<RDFLink> action) {
         try {
             execEx(url, ep, action);
         } catch (HttpException ex) {
@@ -187,7 +185,7 @@ public class TestFusekiStdReadOnlySetup {
         }
     }
 
-    private static void execEx(String url, String ep, Consumer<RDFConnection> 
action) {
+    private static void execEx(String url, String ep, Consumer<RDFLink> 
action) {
         String dest;
         if ( ep == null || ep.isEmpty() ) {
             dest = url;
@@ -198,7 +196,7 @@ public class TestFusekiStdReadOnlySetup {
                 ep = ep.substring(1);
             dest = url+ep;
         }
-        try ( RDFConnection conn = RDFConnection.connect(dest) ) {
+        try ( RDFLink conn = RDFLink.connect(dest) ) {
             action.accept(conn);
         }
     }
diff --git 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestFusekiStdSetup.java
 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestFusekiStdSetup.java
index 90c2a2b876..ecd71d6b50 100644
--- 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestFusekiStdSetup.java
+++ 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestFusekiStdSetup.java
@@ -20,22 +20,21 @@ package org.apache.jena.fuseki.main;
 
 import java.util.function.Consumer;
 
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
 import org.apache.jena.atlas.lib.StrUtils;
 import org.apache.jena.atlas.web.HttpException;
 import org.apache.jena.fuseki.test.HttpTest;
 import org.apache.jena.graph.Graph;
-import org.apache.jena.query.Dataset;
-import org.apache.jena.query.DatasetFactory;
-import org.apache.jena.rdf.model.Model;
-import org.apache.jena.rdf.model.ModelFactory;
-import org.apache.jena.rdfconnection.RDFConnection;
+import org.apache.jena.graph.Node;
+import org.apache.jena.graph.NodeFactory;
+import org.apache.jena.rdflink.RDFLink;
 import org.apache.jena.sparql.core.DatasetGraph;
 import org.apache.jena.sparql.core.DatasetGraphFactory;
 import org.apache.jena.sparql.engine.http.QueryExceptionHTTP;
 import org.apache.jena.sparql.sse.SSE;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
 
 /** Tests for .add("/ds", dsg) */
 public class TestFusekiStdSetup {
@@ -43,22 +42,20 @@ public class TestFusekiStdSetup {
     private static FusekiServer server = null;
     private static int port;
 
-    private static Model data;
-    private static Dataset dataset;
+    private static Graph data;
+    private static DatasetGraph dataset;
 
     private static String URL;
 
     @BeforeClass
     public static void beforeClass() {
-        Graph graph = SSE.parseGraph(StrUtils.strjoinNL
+        data = SSE.parseGraph(StrUtils.strjoinNL
             ("(graph"
             ,"   (:s :p 1)"
             ,")"));
-        data = ModelFactory.createModelForGraph(graph);
 
-        DatasetGraph dsgData = DatasetGraphFactory.create();
-        dsgData.add(SSE.parseQuad("(:g :s :p 2 )"));
-        dataset = DatasetFactory.wrap(dsgData);
+        dataset = DatasetGraphFactory.create();
+        dataset.add(SSE.parseQuad("(:g :s :p 2 )"));
 
         DatasetGraph dsg = DatasetGraphFactory.createTxnMem();
 
@@ -93,12 +90,12 @@ public class TestFusekiStdSetup {
 
     @Test
     public void stdSetup_endpoint_4() {
-        exec(URL, "/get", conn -> conn.fetch());
+        exec(URL, "/get", conn -> conn.get());
     }
 
     @Test
     public void stdSetup_endpoint_5() {
-        exec(URL, "/data", conn -> conn.fetch());
+        exec(URL, "/data", conn -> conn.get());
     }
 
     @Test
@@ -123,17 +120,18 @@ public class TestFusekiStdSetup {
 
     @Test
     public void stdSetup_dataset_3() {
-        exec(URL, conn -> conn.fetch());
+        exec(URL, conn -> conn.get());
     }
 
     @Test
     public void stdSetup_dataset_4() {
-        exec(URL, conn -> conn.fetchDataset());
+        exec(URL, conn -> conn.getDataset());
     }
 
     @Test
     public void stdSetup_dataset_5() {
-        exec(URL, conn -> conn.put("http://example";, data));
+        Node gn = NodeFactory.createURI("http://example";);
+        exec(URL, conn -> conn.put(gn, data));
     }
 
     @Test
@@ -158,18 +156,18 @@ public class TestFusekiStdSetup {
     }
 
     @Test public void stdSetup_endpoint_bad_5() {
-        HttpTest.expect404( () -> exec(URL+"2", "", (RDFConnection 
conn)->conn.queryAsk("ASK{}")) );
+        HttpTest.expect404( () -> exec(URL+"2", "", 
conn->conn.queryAsk("ASK{}")) );
     }
 
     @Test public void stdSetup_endpoint_bad_6() {
         HttpTest.expect404( () -> exec(URL, "/nonsense", conn -> 
conn.putDataset(dataset)) );
     }
 
-    private static void exec(String url, Consumer<RDFConnection> action) {
+    private static void exec(String url, Consumer<RDFLink> action) {
         execEx(url, null, action);
     }
 
-    private static void exec(String url, String ep, Consumer<RDFConnection> 
action) {
+    private static void exec(String url, String ep, Consumer<RDFLink> action) {
         try {
             execEx(url, ep, action);
         } catch (HttpException ex) {
@@ -179,7 +177,7 @@ public class TestFusekiStdSetup {
         }
     }
 
-    private static void execEx(String url, String ep, Consumer<RDFConnection> 
action) {
+    private static void execEx(String url, String ep, Consumer<RDFLink> 
action) {
         String dest;
         if ( ep == null || ep.isEmpty() ) {
             dest = url;
@@ -190,7 +188,7 @@ public class TestFusekiStdSetup {
                 ep = ep.substring(1);
             dest = url+ep;
         }
-        try ( RDFConnection conn = RDFConnection.connect(dest) ) {
+        try ( RDFLink conn = RDFLink.connect(dest) ) {
             action.accept(conn);
         }
     }
diff --git 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestPlainServer.java
 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestPlainServer.java
index e3a27b85c1..7aec058fa8 100644
--- 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestPlainServer.java
+++ 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestPlainServer.java
@@ -30,8 +30,6 @@ import jakarta.servlet.http.HttpServletRequest;
 import jakarta.servlet.http.HttpServletResponse;
 
 import org.apache.jena.http.HttpOp;
-import org.apache.jena.query.Dataset;
-import org.apache.jena.rdf.model.Model;
 import org.apache.jena.sparql.core.DatasetGraphFactory;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
@@ -43,9 +41,6 @@ public class TestPlainServer {
     private static FusekiServer server = null;
     private static int port;
 
-    private static Model data;
-    private static Dataset dataset;
-
     private static String serverURL;
 
     @BeforeClass
diff --git 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestQuery.java
 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestQuery.java
index 3fa37a4256..ef63f1701a 100644
--- 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestQuery.java
+++ 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestQuery.java
@@ -28,6 +28,10 @@ import java.net.URL;
 import java.net.http.HttpClient;
 import java.util.Iterator;
 
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
 import org.apache.jena.atlas.json.JsonArray;
 import org.apache.jena.atlas.web.AcceptList;
 import org.apache.jena.atlas.web.MediaType;
@@ -39,20 +43,14 @@ import org.apache.jena.graph.NodeFactory;
 import org.apache.jena.graph.Triple;
 import org.apache.jena.http.HttpEnv;
 import org.apache.jena.query.*;
-import org.apache.jena.rdf.model.Model;
 import org.apache.jena.sparql.core.Quad;
 import org.apache.jena.sparql.core.Var;
 import org.apache.jena.sparql.engine.binding.Binding;
-import org.apache.jena.sparql.exec.http.GSP;
-import org.apache.jena.sparql.exec.http.QueryExecutionHTTP;
-import org.apache.jena.sparql.exec.http.QueryExecutionHTTPBuilder;
-import org.apache.jena.sparql.exec.http.Service;
+import org.apache.jena.sparql.exec.QueryExec;
+import org.apache.jena.sparql.exec.http.*;
 import org.apache.jena.sparql.resultset.ResultSetCompare;
 import org.apache.jena.sparql.sse.SSE;
 import org.apache.jena.sparql.util.Convert;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
 
 public class TestQuery extends AbstractFusekiTest {
 
@@ -190,8 +188,8 @@ public class TestQuery extends AbstractFusekiTest {
     public void query_construct_02()
     {
         String query = " CONSTRUCT {?s ?p ?o} WHERE {?s ?p ?o}";
-        try ( QueryExecution qExec = QueryExecution.service(serviceQuery(), 
query) ) {
-            Model result = qExec.execConstruct();
+        try ( QueryExec qExec = 
QueryExec.service(serviceQuery()).query(query).build() ) {
+            Graph result = qExec.construct();
             assertEquals(1, result.size());
         }
     }
@@ -199,8 +197,8 @@ public class TestQuery extends AbstractFusekiTest {
     @Test
     public void query_describe_01() {
         String query = "DESCRIBE ?s WHERE {?s ?p ?o}";
-        try ( QueryExecution qExec = QueryExecution.service(serviceQuery(), 
query) ) {
-            Model result = qExec.execDescribe();
+        try ( QueryExec qExec = 
QueryExec.service(serviceQuery()).query(query).build() ) {
+            Graph result = qExec.describe();
             assertFalse(result.isEmpty());
         }
     }
@@ -208,8 +206,8 @@ public class TestQuery extends AbstractFusekiTest {
     @Test
     public void query_describe_02() {
         String query = "DESCRIBE <http://example/somethingelse> WHERE { }";
-        try ( QueryExecution qExec = QueryExecution.service(serviceQuery(), 
query) ) {
-            Model result = qExec.execDescribe();
+        try ( QueryExec qExec = 
QueryExec.service(serviceQuery()).query(query).build() ) {
+            Graph result = qExec.describe();
             assertTrue(result.isEmpty());
         }
     }
@@ -262,8 +260,8 @@ public class TestQuery extends AbstractFusekiTest {
         String query = "DESCRIBE ?s WHERE {?s ?p ?o}";
         for (MediaType type : rdfOfferTest.entries()) {
             String contentType = type.toHeaderString();
-            QueryExecutionHTTP qExec =
-                    QueryExecutionHTTPBuilder.create()
+            QueryExecHTTP qExec =
+                    QueryExecHTTPBuilder.create()
                     .httpClient(client)
                     .endpoint(serviceQuery())
                     .queryString(query)
@@ -271,10 +269,10 @@ public class TestQuery extends AbstractFusekiTest {
                     .build();
 
             try ( qExec ) {
-                Model m = qExec.execDescribe();
+                Graph graph = qExec.describe();
                 String x = qExec.getHttpResponseContentType();
                 assertEquals(contentType, x);
-                assertFalse(m.isEmpty());
+                assertFalse(graph.isEmpty());
             }
         }
     }
diff --git 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestSPARQLProtocol.java
 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestSPARQLProtocol.java
index d34b37deb6..109cc2fc1d 100644
--- 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestSPARQLProtocol.java
+++ 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestSPARQLProtocol.java
@@ -20,18 +20,25 @@ package org.apache.jena.fuseki.main;
 
 import static org.junit.Assert.assertTrue;
 
+import org.junit.Before;
+import org.junit.Test;
+
 import org.apache.jena.graph.Graph;
 import org.apache.jena.graph.Node;
 import org.apache.jena.graph.NodeFactory;
 import org.apache.jena.query.*;
 import org.apache.jena.riot.WebContent;
+import org.apache.jena.sparql.exec.QueryExec;
+import org.apache.jena.sparql.exec.RowSet;
+import org.apache.jena.sparql.exec.RowSetOps;
 import org.apache.jena.sparql.exec.http.GSP;
-import org.apache.jena.sparql.exec.http.QueryExecutionHTTP;
+import org.apache.jena.sparql.exec.http.QueryExecHTTP;
 import org.apache.jena.sparql.sse.SSE;
 import org.apache.jena.sparql.util.Convert;
-import org.apache.jena.update.*;
-import org.junit.Before;
-import org.junit.Test;
+import org.apache.jena.update.UpdateExecution;
+import org.apache.jena.update.UpdateExecutionFactory;
+import org.apache.jena.update.UpdateFactory;
+import org.apache.jena.update.UpdateRequest;
 
 public class TestSPARQLProtocol extends AbstractFusekiTest
 {
@@ -56,9 +63,9 @@ public class TestSPARQLProtocol extends AbstractFusekiTest
     @Test
     public void query_01() {
         Query query = QueryFactory.create("SELECT * { ?s ?p ?o }");
-        try ( QueryExecution qexec = QueryExecution.service(serviceQuery(), 
query) ) {
-            ResultSet rs = qexec.execSelect();
-            int x = ResultSetFormatter.consume(rs);
+        try ( QueryExec qexec = 
QueryExec.service(serviceQuery()).query(query).build() ) {
+            RowSet rs = qexec.select();
+            long x = RowSetOps.count(rs);
             assertTrue(x != 0);
         }
     }
@@ -66,13 +73,13 @@ public class TestSPARQLProtocol extends AbstractFusekiTest
     @Test
     public void query_02() {
         Query query = QueryFactory.create("SELECT * { ?s ?p ?o }");
-        QueryExecution qExec = QueryExecutionHTTP.create()
+        QueryExec qExec = QueryExecHTTP.newBuilder()
                 .endpoint(serviceQuery())
                 .query(query)
                 .acceptHeader(WebContent.contentTypeResultsJSON)
                 .build();
-        ResultSet rs = qExec.execSelect();
-        int x = ResultSetFormatter.consume(rs);
+        RowSet rs = qExec.select();
+        long x = RowSetOps.count(rs);
         assertTrue(x != 0);
     }
 
diff --git 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/AbstractTestServiceDatasetAuth.java
 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/AbstractTestServiceDatasetAuth.java
index 898cf83957..4f03c952e6 100644
--- 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/AbstractTestServiceDatasetAuth.java
+++ 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/AbstractTestServiceDatasetAuth.java
@@ -23,15 +23,15 @@ import static 
org.apache.jena.fuseki.main.FusekiTestLib.expectOK;
 import static org.apache.jena.fuseki.main.FusekiTestLib.expectQuery401;
 import static org.apache.jena.fuseki.main.FusekiTestLib.expectQuery403;
 
+import org.junit.Test;
+
 import org.apache.jena.atlas.web.WebLib;
 import org.apache.jena.fuseki.main.FusekiServer;
-import org.apache.jena.query.QueryExecution;
-import org.apache.jena.query.ResultSetFormatter;
 import org.apache.jena.rdfconnection.LibSec;
-import org.apache.jena.rdfconnection.RDFConnection;
-import org.apache.jena.sparql.util.QueryExecUtils;
+import org.apache.jena.rdflink.RDFLink;
+import org.apache.jena.sparql.exec.QueryExec;
+import org.apache.jena.sparql.exec.RowSetOps;
 import org.apache.jena.web.AuthSetup;
-import org.junit.Test;
 
 /** Tests for a dataset with SPARQL query and update, and no named endpoint 
services.
  * See {@link TestServiceDataAuthConfig} and {@link TestServiceDataAuthBuild}.
@@ -47,10 +47,10 @@ public abstract class AbstractTestServiceDatasetAuth {
     @Test public void no_auth() {
         // No user -> fails login
         expectQuery401(() -> {
-            try ( RDFConnection conn = 
RDFConnection.connect(server().datasetURL("/db")) ) {
+            try ( RDFLink conn = RDFLink.connect(server().datasetURL("/db")) ) 
{
                 //conn.update("INSERT DATA { <x:s> <x:p> <x:o> }");
-                try ( QueryExecution qExec = conn.query("SELECT * { ?s ?p ?o 
}") ) {
-                    ResultSetFormatter.consume(qExec.execSelect());
+                try ( QueryExec qExec = conn.query("SELECT * { ?s ?p ?o }") ) {
+                    RowSetOps.consume(qExec.select());
                 }
             }
         });
@@ -69,9 +69,9 @@ public abstract class AbstractTestServiceDatasetAuth {
     @Test public void user2_query() {
         expectOK(()->{
             LibSec.withAuth(server().datasetURL("/db"), auth2, conn1 -> {
-                try (RDFConnection conn = conn1) {
-                    try ( QueryExecution qExec = conn.query("SELECT * { ?s ?p 
?o }") ) {
-                        ResultSetFormatter.consume(qExec.execSelect());
+                try (RDFLink conn = conn1) {
+                    try ( QueryExec qExec = conn.query("SELECT * { ?s ?p ?o 
}") ) {
+                        RowSetOps.consume(qExec.select());
                     }
                 }});
         });
@@ -88,9 +88,9 @@ public abstract class AbstractTestServiceDatasetAuth {
     @Test public void user3_query() {
         expectQuery403(()->{
             LibSec.withAuth(server().datasetURL("/db"), auth3, conn1 -> {
-                try (RDFConnection conn = conn1) {
-                    try ( QueryExecution qExec = conn.query("SELECT * { ?s ?p 
?o }") ) {
-                        QueryExecUtils.executeQuery(qExec);
+                try (RDFLink conn = conn1) {
+                    try ( QueryExec qExec = conn.query("SELECT * { ?s ?p ?o 
}") ) {
+                        qExec.select().materialize();
                     }
                 }});
         });
diff --git 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/TestPasswdOnly.java
 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/TestPasswdOnly.java
index eb4d4ac983..32436580ab 100644
--- 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/TestPasswdOnly.java
+++ 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/TestPasswdOnly.java
@@ -21,18 +21,19 @@ package org.apache.jena.fuseki.main.access;
 import static org.apache.jena.fuseki.main.FusekiTestLib.expectOK;
 import static org.apache.jena.fuseki.main.FusekiTestLib.expectQuery401;
 
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
 import org.apache.jena.atlas.web.WebLib;
 import org.apache.jena.fuseki.main.FusekiServer;
-import org.apache.jena.query.QueryExecution;
 import org.apache.jena.rdfconnection.LibSec;
 import org.apache.jena.rdfconnection.RDFConnection;
+import org.apache.jena.rdflink.RDFLink;
 import org.apache.jena.sparql.core.DatasetGraphFactory;
 import org.apache.jena.sparql.engine.http.QueryExceptionHTTP;
-import org.apache.jena.sparql.util.QueryExecUtils;
+import org.apache.jena.sparql.exec.QueryExec;
 import org.apache.jena.web.AuthSetup;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
 
 /**
  * Test a server with a password file and no other auth policies. Should 
become a
@@ -65,9 +66,9 @@ public class TestPasswdOnly {
     // Bounced by Jetty.
     @Test(expected=QueryExceptionHTTP.class)
     public void passwd_no_user_A() {
-        try (RDFConnection conn = 
RDFConnection.queryConnect("http://localhost:"; + port + "/db")) {
-            try ( QueryExecution qExec = conn.query("ASK{}") ) {
-                QueryExecUtils.executeQuery(qExec);
+        try (RDFLink conn = RDFLink.queryConnect("http://localhost:"; + port + 
"/db")) {
+            try ( QueryExec qExec = conn.query("ASK{}") ) {
+                qExec.ask();
             }
         }
     }
diff --git 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/TestSecurityFilterFuseki.java
 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/TestSecurityFilterFuseki.java
index 56f1077ddb..5bb7f2ae4f 100644
--- 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/TestSecurityFilterFuseki.java
+++ 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/TestSecurityFilterFuseki.java
@@ -24,8 +24,14 @@ import static org.junit.Assert.fail;
 
 import java.util.*;
 
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+
 import org.apache.jena.atlas.iterator.Iter;
-import org.apache.jena.atlas.lib.SetUtils;
 import org.apache.jena.atlas.web.HttpException;
 import org.apache.jena.fuseki.access.DataAccessCtl;
 import org.apache.jena.fuseki.access.SecurityContext;
@@ -33,27 +39,23 @@ import org.apache.jena.fuseki.access.SecurityContextView;
 import org.apache.jena.fuseki.access.SecurityRegistry;
 import org.apache.jena.fuseki.main.FusekiServer;
 import org.apache.jena.fuseki.main.JettySecurityLib;
+import org.apache.jena.graph.Graph;
 import org.apache.jena.graph.Node;
 import org.apache.jena.query.QuerySolution;
-import org.apache.jena.rdf.model.Model;
 import org.apache.jena.rdf.model.RDFNode;
 import org.apache.jena.rdfconnection.RDFConnection;
+import org.apache.jena.rdflink.RDFLink;
 import org.apache.jena.sparql.core.DatasetGraph;
 import org.apache.jena.sparql.core.DatasetGraphFactory;
 import org.apache.jena.sparql.core.Quad;
 import org.apache.jena.sparql.engine.http.QueryExceptionHTTP;
+import org.apache.jena.system.G;
 import org.apache.jena.tdb1.TDB1Factory;
 import org.apache.jena.tdb2.DatabaseMgr;
 import org.eclipse.jetty.ee10.servlet.security.ConstraintSecurityHandler;
 import org.eclipse.jetty.security.UserStore;
 import org.eclipse.jetty.util.security.Credential;
 import org.eclipse.jetty.util.security.Password;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
 
 @RunWith(Parameterized.class)
 public class TestSecurityFilterFuseki {
@@ -234,14 +236,10 @@ public class TestSecurityFilterFuseki {
 
     private Set<Node> gsp(String user, String password, String graphName) {
         Set<Node> results = new HashSet<>();
-        try (RDFConnection conn = RDFConnection.connectPW(baseUrl, user, 
password)) {
-            Model model = (graphName == null) ? conn.fetch() : 
conn.fetch(graphName);
+        try (RDFLink conn = RDFLink.connectPW(baseUrl, user, password)) {
+            Graph graph = (graphName == null) ? conn.get() : 
conn.get(graphName);
             // Extract subjects.
-            Set<Node> seen =
-                SetUtils.toSet(
-                    Iter.asStream(model.listSubjects())
-                        .map(r->r.asNode())
-                        );
+            Set<Node> seen = Iter.toSet(G.iterSubjects(graph));
             return seen;
         }
     }
diff --git 
a/jena-rdfconnection/src/main/java/org/apache/jena/rdfconnection/LibSec.java 
b/jena-rdfconnection/src/main/java/org/apache/jena/rdfconnection/LibSec.java
index f403cc51c2..ae7e0cc280 100644
--- a/jena-rdfconnection/src/main/java/org/apache/jena/rdfconnection/LibSec.java
+++ b/jena-rdfconnection/src/main/java/org/apache/jena/rdfconnection/LibSec.java
@@ -27,6 +27,8 @@ import java.util.function.Consumer;
 import org.apache.jena.http.HttpEnv;
 import org.apache.jena.http.auth.AuthDomain;
 import org.apache.jena.http.auth.AuthEnv;
+import org.apache.jena.rdflink.RDFLink;
+import org.apache.jena.rdflink.RDFLinkHTTP;
 import org.apache.jena.web.AuthSetup;
 
 public class LibSec {
@@ -45,14 +47,14 @@ public class LibSec {
         return HttpEnv.httpClientBuilder().authenticator(a).build();
     }
 
-    public static void withAuth(String urlStr, AuthSetup auth, 
Consumer<RDFConnection> action) {
+    public static void withAuth(String urlStr, AuthSetup auth, 
Consumer<RDFLink> action) {
         // Prefix
         URI urix = URI.create(urlStr);
         //String requestTarget = HttpLib.requestTarget(urix);
         AuthDomain domain = new AuthDomain(urix);
         try {
             AuthEnv.get().registerUsernamePassword(urix, auth.user, 
auth.password);
-            try ( RDFConnection conn = 
RDFConnectionRemote.newBuilder().destination(urlStr).build() ) {
+            try ( RDFLink conn = 
RDFLinkHTTP.newBuilder().destination(urlStr).build() ) {
                 action.accept(conn);
             }
         } finally {
diff --git 
a/jena-rdfconnection/src/main/java/org/apache/jena/rdflink/LinkDatasetGraphAccess.java
 
b/jena-rdfconnection/src/main/java/org/apache/jena/rdflink/LinkDatasetGraphAccess.java
index b27a6bace8..7f0e897d91 100644
--- 
a/jena-rdfconnection/src/main/java/org/apache/jena/rdflink/LinkDatasetGraphAccess.java
+++ 
b/jena-rdfconnection/src/main/java/org/apache/jena/rdflink/LinkDatasetGraphAccess.java
@@ -34,6 +34,14 @@ import org.apache.jena.sparql.core.Transactional;
  */
 public interface LinkDatasetGraphAccess extends Transactional, AutoCloseable
 {
+    /** Fetch a named graph.
+     * This is SPARQL Graph Store Protocol HTTP GET or equivalent.
+     *
+     * @param graphName URI string for the graph name (null or {@link 
Quad#defaultGraphIRI} for the default graph)
+     * @return Graph
+     */
+    public Graph get(String graphName);
+
     /** Fetch a named graph.
      * This is SPARQL Graph Store Protocol HTTP GET or equivalent.
      *
diff --git 
a/jena-rdfconnection/src/main/java/org/apache/jena/rdflink/RDFLink.java 
b/jena-rdfconnection/src/main/java/org/apache/jena/rdflink/RDFLink.java
index 8a30776285..59554543dd 100644
--- a/jena-rdfconnection/src/main/java/org/apache/jena/rdflink/RDFLink.java
+++ b/jena-rdfconnection/src/main/java/org/apache/jena/rdflink/RDFLink.java
@@ -25,6 +25,7 @@ import java.util.function.Consumer;
 
 import org.apache.jena.graph.Graph;
 import org.apache.jena.graph.Node;
+import org.apache.jena.graph.NodeFactory;
 import org.apache.jena.http.HttpEnv;
 import org.apache.jena.query.Query;
 import org.apache.jena.query.QueryExecution;
@@ -430,6 +431,18 @@ public interface RDFLink extends
     @Override
     public Graph get();
 
+    /** Fetch a named graph.
+     * This is SPARQL Graph Store Protocol HTTP GET or equivalent.
+     *
+     * @param graphName URI string for the graph name (null or {@link 
Quad#defaultGraphIRI} for the default graph)
+     * @return Graph
+     */
+    @Override
+    public default Graph get(String graphName) {
+        Node gn = NodeFactory.createURI(graphName) ;
+        return get(gn);
+    }
+
     /** Fetch a named graph.
      * This is SPARQL Graph Store Protocol HTTP GET or equivalent.
      *
diff --git 
a/jena-rdfconnection/src/main/java/org/apache/jena/rdflink/RDFLinkDataset.java 
b/jena-rdfconnection/src/main/java/org/apache/jena/rdflink/RDFLinkDataset.java
index e5c0a71b15..c86b107bfb 100644
--- 
a/jena-rdfconnection/src/main/java/org/apache/jena/rdflink/RDFLinkDataset.java
+++ 
b/jena-rdfconnection/src/main/java/org/apache/jena/rdflink/RDFLinkDataset.java
@@ -145,7 +145,7 @@ public class RDFLinkDataset implements RDFLink {
     @Override
     public Graph get() {
         checkOpen();
-        return get(null);
+        return get((Node)null);
     }
 
     @Override


Reply via email to