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 bac1aeba46326d01aa936c99f7c5b274c9bda143
Author: Andy Seaborne <a...@apache.org>
AuthorDate: Tue Aug 13 09:00:29 2024 +0100

    Add functions for update applied to a Model or Graph
---
 .../main/java/org/apache/jena/sparql/exec/UpdateExec.java | 11 +++++++++++
 .../main/java/org/apache/jena/update/UpdateExecution.java | 15 +++++++++++++++
 .../apache/jena/shacl/compact/writer/CompactWriter.java   |  1 -
 3 files changed, 26 insertions(+), 1 deletion(-)

diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/exec/UpdateExec.java 
b/jena-arq/src/main/java/org/apache/jena/sparql/exec/UpdateExec.java
index b103c4902a..1ef542bce0 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/exec/UpdateExec.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/exec/UpdateExec.java
@@ -18,7 +18,9 @@
 
 package org.apache.jena.sparql.exec;
 
+import org.apache.jena.graph.Graph;
 import org.apache.jena.sparql.core.DatasetGraph;
+import org.apache.jena.sparql.core.DatasetGraphFactory;
 import org.apache.jena.sparql.exec.http.UpdateExecHTTP;
 import org.apache.jena.update.UpdateProcessor;
 
@@ -29,6 +31,15 @@ public interface UpdateExec extends UpdateProcessor
         return UpdateExecDatasetBuilder.create().dataset(dataset);
     }
 
+    /**
+     * Create a {@link UpdateExecBuilder} for a graph.
+     * The update must not involved named graphs.
+     */
+    public static UpdateExecBuilder dataset(Graph graph) {
+        DatasetGraph dsg = DatasetGraphFactory.wrap(graph);
+        return UpdateExecDatasetBuilder.create().dataset(dsg);
+    }
+
     /** Create a {@link UpdateExecBuilder} for a remote endpoint. */
     public static UpdateExecBuilder service(String serviceURL) {
         return UpdateExecHTTP.newBuilder().endpoint(serviceURL);
diff --git a/jena-arq/src/main/java/org/apache/jena/update/UpdateExecution.java 
b/jena-arq/src/main/java/org/apache/jena/update/UpdateExecution.java
index 7c2a66a494..a043bb07fc 100644
--- a/jena-arq/src/main/java/org/apache/jena/update/UpdateExecution.java
+++ b/jena-arq/src/main/java/org/apache/jena/update/UpdateExecution.java
@@ -19,6 +19,8 @@
 package org.apache.jena.update;
 
 import org.apache.jena.query.Dataset;
+import org.apache.jena.query.DatasetFactory;
+import org.apache.jena.rdf.model.Model;
 import org.apache.jena.sparql.exec.http.UpdateExecutionHTTP;
 import org.apache.jena.sparql.exec.http.UpdateExecutionHTTPBuilder;
 
@@ -29,10 +31,23 @@ public interface UpdateExecution extends UpdateProcessor
         return UpdateExecutionDatasetBuilder.create();
     }
 
+    /** Create a {@link UpdateExecutionBuilder} for a dataset. */
     public static UpdateExecutionDatasetBuilder dataset(Dataset dataset) {
         return create().dataset(dataset);
     }
 
+    /**
+     * Create a {@link UpdateExecutionBuilder} for a model.
+     * The update must not involved named graphs.
+     */
+    public static UpdateExecutionDatasetBuilder model(Model model) {
+        Dataset ds = DatasetFactory.wrap(model);
+        return create().dataset(ds);
+    }
+
+    /**
+     * Create a {@link UpdateExecutionBuilder} for a remote service.
+     */
     public static UpdateExecutionHTTPBuilder service(String serviceURL) {
         return UpdateExecutionHTTP.service(serviceURL);
     }
diff --git 
a/jena-shacl/src/main/java/org/apache/jena/shacl/compact/writer/CompactWriter.java
 
b/jena-shacl/src/main/java/org/apache/jena/shacl/compact/writer/CompactWriter.java
index 9f72974698..8ab775a2c9 100644
--- 
a/jena-shacl/src/main/java/org/apache/jena/shacl/compact/writer/CompactWriter.java
+++ 
b/jena-shacl/src/main/java/org/apache/jena/shacl/compact/writer/CompactWriter.java
@@ -124,7 +124,6 @@ public class CompactWriter {
         }
     }
 
-
     private static NodeFormatter formatterPrefixMap(PrefixMapping 
prefixMapping) {
         PrefixMap pmap = prefixMapWithStd(prefixMapping);
         NodeFormatter nodeFmt = new NodeFormatterTTL(null, pmap);

Reply via email to