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);