JENA-926: Remove all use of GraphStore. Add "Dataset" variants of operations in UpdateExecutionFactory and UpdateAction.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/bb8d6f3b Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/bb8d6f3b Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/bb8d6f3b Branch: refs/heads/add-contract-tests Commit: bb8d6f3bc3ed7d4270a7b816e442638c5ee49782 Parents: f138e29 Author: Andy Seaborne <[email protected]> Authored: Mon May 4 18:02:10 2015 +0100 Committer: Andy Seaborne <[email protected]> Committed: Mon May 4 18:04:42 2015 +0100 ---------------------------------------------------------------------- .../update/UpdateExecuteOperations.java | 17 +- .../arq/examples/update/UpdateProgrammatic.java | 4 +- .../arq/examples/update/UpdateReadFromFile.java | 4 +- .../src/main/java/arq/cmdline/CmdUpdate.java | 19 +- .../src/main/java/arq/cmdline/ModDataset.java | 7 +- .../main/java/arq/cmdline/ModGraphStore.java | 95 --------- jena-arq/src/main/java/arq/load.java | 4 +- jena-arq/src/main/java/arq/update.java | 69 +++---- .../sparql/core/assembler/AssemblerUtils.java | 1 - .../core/assembler/GraphStoreAssembler.java | 47 ----- .../jena/sparql/modify/UpdateEngineBase.java | 9 +- .../jena/sparql/modify/UpdateEngineFactory.java | 6 +- .../jena/sparql/modify/UpdateEngineMain.java | 21 +- .../sparql/modify/UpdateEngineNonStreaming.java | 22 +-- .../sparql/modify/UpdateEngineRegistry.java | 6 +- .../jena/sparql/modify/UpdateEngineWorker.java | 117 ++++++----- .../sparql/modify/UpdateProcessRemoteBase.java | 22 +-- .../jena/sparql/modify/UpdateProcessorBase.java | 23 +-- .../modify/UpdateProcessorStreamingBase.java | 42 ++-- .../apache/jena/update/GraphStoreFactory.java | 2 + .../org/apache/jena/update/UpdateAction.java | 173 ++++++++--------- .../jena/update/UpdateExecutionFactory.java | 193 ++++++++++++------- .../org/apache/jena/update/UpdateProcessor.java | 13 +- .../jena/update/UpdateProcessorStreaming.java | 9 +- .../query/TestParameterizedSparqlString.java | 3 +- .../apache/jena/sparql/graph/TestDatasets.java | 20 +- .../sparql/modify/AbstractTestUpdateBase.java | 50 ++--- .../sparql/modify/AbstractTestUpdateGraph.java | 49 +++-- .../modify/AbstractTestUpdateGraphMgt.java | 10 +- .../jena/sparql/modify/TestUpdateGraphMem.java | 9 +- .../sparql/modify/TestUpdateGraphMgtMem.java | 15 +- .../sparql/modify/TestUpdateOperations.java | 17 +- .../java/org/apache/jena/sdb/SDBFactory.java | 2 +- .../apache/jena/sdb/modify/UpdateEngineSDB.java | 6 +- .../jena/sdb/test/modify/TestSPARQLUpdate.java | 7 +- .../sdb/test/modify/TestSPARQLUpdateMgt.java | 8 +- .../apache/jena/tdb/modify/UpdateEngineTDB.java | 12 +- .../main/java/tdb/cmdline/ModTDBGraphStore.java | 51 ----- jena-tdb/src/main/java/tdb/tdbupdate.java | 15 +- .../apache/jena/tdb/store/Test_SPARQL_TDB.java | 3 +- 40 files changed, 509 insertions(+), 693 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/jena/blob/bb8d6f3b/jena-arq/src-examples/arq/examples/update/UpdateExecuteOperations.java ---------------------------------------------------------------------- diff --git a/jena-arq/src-examples/arq/examples/update/UpdateExecuteOperations.java b/jena-arq/src-examples/arq/examples/update/UpdateExecuteOperations.java index 9c62b20..63e530b 100644 --- a/jena-arq/src-examples/arq/examples/update/UpdateExecuteOperations.java +++ b/jena-arq/src-examples/arq/examples/update/UpdateExecuteOperations.java @@ -19,10 +19,14 @@ package arq.examples.update; import org.apache.jena.atlas.lib.StrUtils ; +import org.apache.jena.query.Dataset ; +import org.apache.jena.query.DatasetFactory ; import org.apache.jena.riot.Lang ; import org.apache.jena.riot.RDFDataMgr ; import org.apache.jena.sparql.sse.SSE ; -import org.apache.jena.update.* ; +import org.apache.jena.update.UpdateAction ; +import org.apache.jena.update.UpdateFactory ; +import org.apache.jena.update.UpdateRequest ; /** Build an update request up out of indvidiual Updates specified as strings. * See UpdatePorgrammatic for another way to build up a request. @@ -33,20 +37,21 @@ public class UpdateExecuteOperations { public static void main(String []args) { - // Create an empty GraphStore (has an empty default graph and no named graphs) - GraphStore graphStore = GraphStoreFactory.create() ; + // Create an empty DatasetGraph (has an empty default graph and no named graphs) + Dataset graphStore = DatasetFactory.createMem() ; + ex1(graphStore) ; ex2(graphStore) ; ex3(graphStore) ; } - public static void ex1(GraphStore graphStore) + public static void ex1(Dataset graphStore) { // Execute one operation. UpdateAction.parseExecute("LOAD <file:etc/update-data.ttl>", graphStore) ; } - public static void ex2(GraphStore graphStore) + public static void ex2(Dataset graphStore) { // Execute a series of operations at once. // See ex3 for a better way to build up a request @@ -61,7 +66,7 @@ public class UpdateExecuteOperations UpdateAction.parseExecute(cmd, graphStore) ; } - public static void ex3(GraphStore graphStore) + public static void ex3(Dataset graphStore) { // Build up the request then execute it. // This is the preferred way for complex sequences of operations. http://git-wip-us.apache.org/repos/asf/jena/blob/bb8d6f3b/jena-arq/src-examples/arq/examples/update/UpdateProgrammatic.java ---------------------------------------------------------------------- diff --git a/jena-arq/src-examples/arq/examples/update/UpdateProgrammatic.java b/jena-arq/src-examples/arq/examples/update/UpdateProgrammatic.java index 8a99a5e..d354365 100644 --- a/jena-arq/src-examples/arq/examples/update/UpdateProgrammatic.java +++ b/jena-arq/src-examples/arq/examples/update/UpdateProgrammatic.java @@ -18,6 +18,8 @@ package arq.examples.update; +import org.apache.jena.query.Dataset ; +import org.apache.jena.query.DatasetFactory ; import org.apache.jena.riot.Lang ; import org.apache.jena.riot.RDFDataMgr ; import org.apache.jena.sparql.modify.request.Target ; @@ -37,7 +39,7 @@ public class UpdateProgrammatic { public static void main(String []args) { - GraphStore graphStore = GraphStoreFactory.create() ; + Dataset graphStore = DatasetFactory.createMem() ; UpdateRequest request = UpdateFactory.create() ; http://git-wip-us.apache.org/repos/asf/jena/blob/bb8d6f3b/jena-arq/src-examples/arq/examples/update/UpdateReadFromFile.java ---------------------------------------------------------------------- diff --git a/jena-arq/src-examples/arq/examples/update/UpdateReadFromFile.java b/jena-arq/src-examples/arq/examples/update/UpdateReadFromFile.java index 6f03013..da1012d 100644 --- a/jena-arq/src-examples/arq/examples/update/UpdateReadFromFile.java +++ b/jena-arq/src-examples/arq/examples/update/UpdateReadFromFile.java @@ -18,6 +18,8 @@ package arq.examples.update; +import org.apache.jena.query.Dataset ; +import org.apache.jena.query.DatasetFactory ; import org.apache.jena.riot.Lang ; import org.apache.jena.riot.RDFDataMgr ; import org.apache.jena.sparql.sse.SSE ; @@ -29,7 +31,7 @@ public class UpdateReadFromFile public static void main(String []args) { // Create an empty GraphStore (has an empty default graph and no named graphs) - GraphStore graphStore = GraphStoreFactory.create() ; + Dataset graphStore = DatasetFactory.createMem() ; // ---- Read and update script in one step. UpdateAction.readExecute("update.ru", graphStore) ; http://git-wip-us.apache.org/repos/asf/jena/blob/bb8d6f3b/jena-arq/src/main/java/arq/cmdline/CmdUpdate.java ---------------------------------------------------------------------- diff --git a/jena-arq/src/main/java/arq/cmdline/CmdUpdate.java b/jena-arq/src/main/java/arq/cmdline/CmdUpdate.java index f2c95a9..d06f480 100644 --- a/jena-arq/src/main/java/arq/cmdline/CmdUpdate.java +++ b/jena-arq/src/main/java/arq/cmdline/CmdUpdate.java @@ -20,11 +20,11 @@ package arq.cmdline; import org.apache.jena.query.Syntax ; import org.apache.jena.rdf.model.ModelFactory ; -import org.apache.jena.update.GraphStore ; +import org.apache.jena.sparql.core.DatasetGraph ; public abstract class CmdUpdate extends CmdARQ { - protected ModGraphStore modGraphStore = new ModGraphStore() ; + protected ModDatasetGeneralAssembler modGraphStore = new ModDatasetGeneralAssembler() ; protected Syntax updateSyntax = Syntax.defaultUpdateSyntax ; protected CmdUpdate(String[] argv) @@ -35,9 +35,9 @@ public abstract class CmdUpdate extends CmdARQ } - protected ModGraphStore setModGraphStore() + protected ModDatasetGeneralAssembler setModGraphStore() { - return new ModGraphStore() ; + return new ModDatasetGeneralAssembler() ; } @@ -50,13 +50,12 @@ public abstract class CmdUpdate extends CmdARQ } @Override - protected final void exec() - { - GraphStore graphStore = modGraphStore.getGraphStore() ; + protected final void exec() { + DatasetGraph graphStore = modGraphStore.getDatasetGraph() ; if ( graphStore.getDefaultGraph() == null ) - graphStore.setDefaultGraph(ModelFactory.createDefaultModel().getGraph()); - execUpdate(graphStore) ; + graphStore.setDefaultGraph(ModelFactory.createDefaultModel().getGraph()) ; + execUpdate(graphStore) ; } - protected abstract void execUpdate(GraphStore graphStore) ; + protected abstract void execUpdate(DatasetGraph graphStore) ; } http://git-wip-us.apache.org/repos/asf/jena/blob/bb8d6f3b/jena-arq/src/main/java/arq/cmdline/ModDataset.java ---------------------------------------------------------------------- diff --git a/jena-arq/src/main/java/arq/cmdline/ModDataset.java b/jena-arq/src/main/java/arq/cmdline/ModDataset.java index 2357d7e..78a1d01 100644 --- a/jena-arq/src/main/java/arq/cmdline/ModDataset.java +++ b/jena-arq/src/main/java/arq/cmdline/ModDataset.java @@ -19,6 +19,7 @@ package arq.cmdline; import org.apache.jena.query.Dataset ; +import org.apache.jena.sparql.core.DatasetGraph ; public abstract class ModDataset extends ModBase { @@ -29,12 +30,14 @@ public abstract class ModDataset extends ModBase final public Dataset getDataset() - { - if ( ! createAttempted ) + { if ( ! createAttempted ) dataset = createDataset() ; createAttempted = true ; return dataset ; } + public DatasetGraph getDatasetGraph() + { return dataset.asDatasetGraph() ; } + public abstract Dataset createDataset() ; } http://git-wip-us.apache.org/repos/asf/jena/blob/bb8d6f3b/jena-arq/src/main/java/arq/cmdline/ModGraphStore.java ---------------------------------------------------------------------- diff --git a/jena-arq/src/main/java/arq/cmdline/ModGraphStore.java b/jena-arq/src/main/java/arq/cmdline/ModGraphStore.java deleted file mode 100644 index e9980f6..0000000 --- a/jena-arq/src/main/java/arq/cmdline/ModGraphStore.java +++ /dev/null @@ -1,95 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package arq.cmdline; - -import arq.cmd.CmdArgModule ; -import org.apache.jena.query.Dataset ; -import org.apache.jena.sparql.core.assembler.AssemblerUtils ; -import org.apache.jena.update.GraphStore ; -import org.apache.jena.update.GraphStoreFactory ; - -public class ModGraphStore extends ModDatasetGeneralAssembler -{ - GraphStore graphStore = null ; - - @Override - public void registerWith(CmdGeneral cmdLine) - { - super.registerWith(cmdLine) ; - } - - @Override - public void processArgs(CmdArgModule cmdLine) - { - super.processArgs(cmdLine) ; - } - - public ModGraphStore() - { - // Wire in assmebler implementations - AssemblerUtils.init() ; - } - - public GraphStore getGraphStore() - { - if ( graphStore == null ) - graphStore = createGraphStore() ; - return graphStore ; - } - - public GraphStore createGraphStore() - { - Dataset ds = createDataset() ; - if ( ds == null ) - return GraphStoreFactory.create() ; - return GraphStoreFactory.create(ds) ; -// -// // Default to a simple in-memory one. -// if ( getAssemblerFile() == null ) -// return GraphStoreFactory.create() ; -// -// try { -// // Try as graph store. -// graphStore = (GraphStore)create(DatasetAssemblerVocab.tGraphStore) ; -// } -// catch (AssemblerException ex) {} -// catch (ARQException ex) -// { -// ex.printStackTrace(System.err) ; -// } -// -// // Try as dataset -// if ( graphStore == null ) -// { -// try { -// Dataset ds = (Dataset)create(DatasetAssemblerVocab.tDataset) ; -// if ( ds != null ) -// graphStore = GraphStoreFactory.create(ds) ; -// } catch (AssemblerException ex) { ex.printStackTrace(System.err) ;} -// catch (ARQException ex) -// { -// ex.printStackTrace(System.err) ; -// } -// } -// if ( graphStore == null ) -// throw new CmdException("Failed to find a dataset or graph store assembler description") ; -// return graphStore ; - } - -} http://git-wip-us.apache.org/repos/asf/jena/blob/bb8d6f3b/jena-arq/src/main/java/arq/load.java ---------------------------------------------------------------------- diff --git a/jena-arq/src/main/java/arq/load.java b/jena-arq/src/main/java/arq/load.java index 0085fe0..47c7a25 100644 --- a/jena-arq/src/main/java/arq/load.java +++ b/jena-arq/src/main/java/arq/load.java @@ -25,10 +25,10 @@ import org.apache.jena.atlas.io.IndentedWriter ; import org.apache.jena.atlas.lib.Lib ; import org.apache.jena.graph.Graph ; import org.apache.jena.graph.Node ; +import org.apache.jena.sparql.core.DatasetGraph ; import org.apache.jena.sparql.modify.request.UpdateLoad ; import org.apache.jena.sparql.sse.SSE ; import org.apache.jena.sparql.util.graph.GraphLoadMonitor ; -import org.apache.jena.update.GraphStore ; import org.apache.jena.update.UpdateExecutionFactory ; import org.apache.jena.update.UpdateRequest ; import arq.cmd.ArgDecl ; @@ -73,7 +73,7 @@ public class load extends CmdUpdate protected String getSummary() { return getCommandName()+" --desc=assembler [--dump] --update=<request file>" ; } @Override - protected void execUpdate(GraphStore graphStore) + protected void execUpdate(DatasetGraph graphStore) { if ( loadFiles.size() == 0 ) throw new CmdException("Nothing to do") ; http://git-wip-us.apache.org/repos/asf/jena/blob/bb8d6f3b/jena-arq/src/main/java/arq/update.java ---------------------------------------------------------------------- diff --git a/jena-arq/src/main/java/arq/update.java b/jena-arq/src/main/java/arq/update.java index affa880..0354a54 100644 --- a/jena-arq/src/main/java/arq/update.java +++ b/jena-arq/src/main/java/arq/update.java @@ -25,9 +25,9 @@ import org.apache.jena.query.ReadWrite ; import org.apache.jena.riot.Lang ; import org.apache.jena.riot.RDFDataMgr ; import org.apache.jena.sparql.SystemARQ ; +import org.apache.jena.sparql.core.DatasetGraph ; import org.apache.jena.sparql.core.Transactional ; import org.apache.jena.sparql.core.TransactionalNull ; -import org.apache.jena.update.GraphStore ; import org.apache.jena.update.UpdateExecutionFactory ; import org.apache.jena.update.UpdateFactory ; import org.apache.jena.update.UpdateRequest ; @@ -46,22 +46,20 @@ public class update extends CmdUpdate public static void main (String... argv) { new update(argv).mainRun() ; } - protected update(String[] argv) - { + protected update(String[] argv) { super(argv) ; super.add(updateArg, "--update=FILE", "Update commands to execute") ; super.add(dumpArg, "--dump", "Dump the resulting graph store") ; } @Override - protected void processModulesAndArgs() - { - requestFiles = getValues(updateArg) ; // ???? + protected void processModulesAndArgs() { + requestFiles = getValues(updateArg) ; // ???? dump = contains(dumpArg) ; - + super.processModulesAndArgs() ; } - + @Override protected String getCommandName() { return Lib.className(this) ; } @@ -70,43 +68,35 @@ public class update extends CmdUpdate // Subclass for specialised commands making common updates more convenient @Override - protected void execUpdate(GraphStore graphStore) - { + protected void execUpdate(DatasetGraph graphStore) { if ( requestFiles.size() == 0 && getPositional().size() == 0 ) throw new CmdException("Nothing to do") ; - - Transactional transactional = (graphStore instanceof Transactional ) ? (Transactional)graphStore : new TransactionalNull() ; - - for ( String filename : requestFiles ) - { - try - { - transactional.begin( ReadWrite.WRITE ); - execOneFile( filename, graphStore ); - transactional.commit(); + + Transactional transactional = (graphStore instanceof Transactional) ? (Transactional)graphStore : new TransactionalNull() ; + + for ( String filename : requestFiles ) { + try { + transactional.begin(ReadWrite.WRITE) ; + execOneFile(filename, graphStore) ; + transactional.commit() ; } - finally - { - transactional.end(); + finally { + transactional.end() ; } } - for ( String requestString : super.getPositional() ) - { - requestString = indirect( requestString ); + for ( String requestString : super.getPositional() ) { + requestString = indirect(requestString) ; - try - { - transactional.begin( ReadWrite.WRITE ); - execOne( requestString, graphStore ); - transactional.commit(); + try { + transactional.begin(ReadWrite.WRITE) ; + execOne(requestString, graphStore) ; + transactional.commit() ; } - finally - { - transactional.end(); + finally { + transactional.end() ; } - } SystemARQ.sync(graphStore) ; @@ -114,15 +104,12 @@ public class update extends CmdUpdate RDFDataMgr.write(System.out, graphStore, Lang.NQUADS) ; } - - private void execOneFile(String filename, GraphStore store) - { + private void execOneFile(String filename, DatasetGraph store) { UpdateRequest req = UpdateFactory.read(filename, updateSyntax) ; UpdateExecutionFactory.create(req, store).execute() ; } - - private void execOne(String requestString, GraphStore store) - { + + private void execOne(String requestString, DatasetGraph store) { UpdateRequest req = UpdateFactory.create(requestString, updateSyntax) ; UpdateExecutionFactory.create(req, store).execute() ; } http://git-wip-us.apache.org/repos/asf/jena/blob/bb8d6f3b/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/AssemblerUtils.java ---------------------------------------------------------------------- diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/AssemblerUtils.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/AssemblerUtils.java index d8e7fff..eb4fde5 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/AssemblerUtils.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/AssemblerUtils.java @@ -60,7 +60,6 @@ public class AssemblerUtils { // Wire in the extension assemblers (extensions relative to the Jena assembler framework) g.implementWith(DatasetAssembler.getType(), new DatasetAssembler()) ; - g.implementWith(GraphStoreAssembler.getType(), new GraphStoreAssembler()) ; g.implementWith(DatasetNullAssembler.getType(), new DatasetNullAssembler()) ; } http://git-wip-us.apache.org/repos/asf/jena/blob/bb8d6f3b/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/GraphStoreAssembler.java ---------------------------------------------------------------------- diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/GraphStoreAssembler.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/GraphStoreAssembler.java deleted file mode 100644 index 9b8506b..0000000 --- a/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/GraphStoreAssembler.java +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.jena.sparql.core.assembler; - -import org.apache.jena.assembler.Assembler ; -import org.apache.jena.assembler.Mode ; -import org.apache.jena.query.Dataset ; -import org.apache.jena.rdf.model.Resource ; -import org.apache.jena.update.GraphStore ; -import org.apache.jena.update.GraphStoreFactory ; - -public class GraphStoreAssembler extends DatasetAssembler -{ - public static Resource getType() { return DatasetAssemblerVocab.tGraphStore ; } - - @Override - public Object open(Assembler a, Resource root, Mode mode) - { - // Same vocabulary as datasets. - // Have dispatched on type by now so can just call the dataset code to build a Dataset. - - GraphStore gs = null ; - Object ds = super.open(a, root, mode) ; - if ( ds instanceof Dataset ) - gs = GraphStoreFactory.create((Dataset)ds) ; - else - throw new DatasetAssemblerException(root, "Not a graph store") ; - - return gs ; - } -} http://git-wip-us.apache.org/repos/asf/jena/blob/bb8d6f3b/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngineBase.java ---------------------------------------------------------------------- diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngineBase.java b/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngineBase.java index 9cafab6..1849822 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngineBase.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngineBase.java @@ -24,21 +24,20 @@ import org.apache.jena.sparql.core.DatasetGraph ; import org.apache.jena.sparql.engine.binding.Binding ; import org.apache.jena.sparql.util.Context ; import org.apache.jena.sparql.util.NodeFactoryExtra ; -import org.apache.jena.update.GraphStore ; public abstract class UpdateEngineBase implements UpdateEngine { - protected final GraphStore graphStore ; + protected final DatasetGraph datasetGraph ; protected final Binding inputBinding; protected final Context context ; - public UpdateEngineBase(GraphStore graphStore, + public UpdateEngineBase(DatasetGraph datasetGraph, Binding inputBinding, Context context) { - this.graphStore = graphStore ; + this.datasetGraph = datasetGraph ; this.inputBinding = inputBinding ; - this.context = setupContext(context, graphStore) ; + this.context = setupContext(context, datasetGraph) ; } private static Context setupContext(Context context, DatasetGraph dataset) http://git-wip-us.apache.org/repos/asf/jena/blob/bb8d6f3b/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngineFactory.java ---------------------------------------------------------------------- diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngineFactory.java b/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngineFactory.java index 24ae07e..9c05997 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngineFactory.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngineFactory.java @@ -18,9 +18,9 @@ package org.apache.jena.sparql.modify; +import org.apache.jena.sparql.core.DatasetGraph ; import org.apache.jena.sparql.engine.binding.Binding ; import org.apache.jena.sparql.util.Context ; -import org.apache.jena.update.GraphStore ; /** * Interface for factories that accept and process SPARQL update requests. @@ -28,8 +28,8 @@ import org.apache.jena.update.GraphStore ; public interface UpdateEngineFactory { /** Answer whether this factory can produce an UpdateEngine for the specified GraphStore */ - public boolean accept(GraphStore graphStore, Context context) ; + public boolean accept(DatasetGraph datasetGraph, Context context) ; /** Create the update engine - having returned true to accept, should not fail */ - public UpdateEngine create(GraphStore graphStore, Binding inputBinding, Context context); + public UpdateEngine create(DatasetGraph datasetGraph, Binding inputBinding, Context context); } http://git-wip-us.apache.org/repos/asf/jena/blob/bb8d6f3b/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngineMain.java ---------------------------------------------------------------------- diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngineMain.java b/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngineMain.java index 9ce5ffd..8afd963 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngineMain.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngineMain.java @@ -18,10 +18,10 @@ package org.apache.jena.sparql.modify; +import org.apache.jena.sparql.core.DatasetGraph ; import org.apache.jena.sparql.engine.binding.Binding ; import org.apache.jena.sparql.modify.request.UpdateVisitor ; import org.apache.jena.sparql.util.Context ; -import org.apache.jena.update.GraphStore ; /** * Default implementation of an update engine @@ -33,13 +33,13 @@ public class UpdateEngineMain extends UpdateEngineBase { /** * Creates a new Update Engine - * @param graphStore Graph Store the updates operate over + * @param datasetGraph DatasetGraph the updates operate over * @param inputBinding Initial binding to be applied to Update operations that can apply an initial binding (i.e. UpdateDeleteWhere, UpdateModify) * @param context Execution Context */ - public UpdateEngineMain(GraphStore graphStore, Binding inputBinding, Context context) + public UpdateEngineMain(DatasetGraph datasetGraph, Binding inputBinding, Context context) { - super(graphStore, inputBinding, context) ; + super(datasetGraph, inputBinding, context) ; } @Override @@ -68,21 +68,20 @@ public class UpdateEngineMain extends UpdateEngineBase * @return The update visitor to be used to apply the updates */ protected UpdateVisitor prepareWorker() { - return new UpdateEngineWorker(graphStore, inputBinding, context) ; + return new UpdateEngineWorker(datasetGraph, inputBinding, context) ; } private static UpdateEngineFactory factory = new UpdateEngineFactory() { @Override - public boolean accept(GraphStore graphStore, Context context) - { + public boolean accept(DatasetGraph datasetGraph, Context context) { return true ; } - + @Override - public UpdateEngine create(GraphStore graphStore, Binding inputBinding, Context context) - { - return new UpdateEngineMain(graphStore, inputBinding, context); + public UpdateEngine create(DatasetGraph datasetGraph, Binding inputBinding, + Context context) { + return new UpdateEngineMain(datasetGraph, inputBinding, context) ; } } ; http://git-wip-us.apache.org/repos/asf/jena/blob/bb8d6f3b/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngineNonStreaming.java ---------------------------------------------------------------------- diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngineNonStreaming.java b/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngineNonStreaming.java index dfffb5b..e9c2855 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngineNonStreaming.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngineNonStreaming.java @@ -18,10 +18,10 @@ package org.apache.jena.sparql.modify; +import org.apache.jena.sparql.core.DatasetGraph ; import org.apache.jena.sparql.engine.binding.Binding ; import org.apache.jena.sparql.modify.request.UpdateVisitor ; import org.apache.jena.sparql.util.Context ; -import org.apache.jena.update.GraphStore ; import org.apache.jena.update.Update ; import org.apache.jena.update.UpdateRequest ; @@ -39,13 +39,13 @@ public class UpdateEngineNonStreaming extends UpdateEngineMain /** * Creates a new Update Engine - * @param graphStore Graph Store the updates operate over + * @param datasetGraph Store the updates operate over * @param inputBinding Initial binding to be applied to Update operations that can apply an initial binding (i.e. UpdateDeleteWhere, UpdateModify) * @param context Execution Context */ - public UpdateEngineNonStreaming(GraphStore graphStore, Binding inputBinding, Context context) + public UpdateEngineNonStreaming(DatasetGraph datasetGraph, Binding inputBinding, Context context) { - super(graphStore, inputBinding, context) ; + super(datasetGraph, inputBinding, context) ; accRequests = new UpdateRequest(); updateSink = new UpdateRequestSink(accRequests) { @@ -84,18 +84,16 @@ public class UpdateEngineNonStreaming extends UpdateEngineMain } } - private static UpdateEngineFactory factory = new UpdateEngineFactory() - { + private static UpdateEngineFactory factory = new UpdateEngineFactory() { @Override - public boolean accept(GraphStore graphStore, Context context) - { + public boolean accept(DatasetGraph datasetGraph, Context context) { return true ; } - + @Override - public UpdateEngine create(GraphStore graphStore, Binding inputBinding, Context context) - { - return new UpdateEngineNonStreaming(graphStore, inputBinding, context); + public UpdateEngine create(DatasetGraph datasetGraph, Binding inputBinding, + Context context) { + return new UpdateEngineNonStreaming(datasetGraph, inputBinding, context) ; } } ; http://git-wip-us.apache.org/repos/asf/jena/blob/bb8d6f3b/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngineRegistry.java ---------------------------------------------------------------------- diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngineRegistry.java b/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngineRegistry.java index 5576d95..0747898 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngineRegistry.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngineRegistry.java @@ -21,8 +21,8 @@ package org.apache.jena.sparql.modify; import java.util.ArrayList ; import java.util.List ; +import org.apache.jena.sparql.core.DatasetGraph ; import org.apache.jena.sparql.util.Context ; -import org.apache.jena.update.GraphStore ; public class UpdateEngineRegistry { @@ -51,7 +51,7 @@ public class UpdateEngineRegistry * @param graphStore The graph store * @return A QueryExecutionFactory or null if none accept the request */ - public static UpdateEngineFactory findFactory(GraphStore graphStore, Context context) + public static UpdateEngineFactory findFactory(DatasetGraph graphStore, Context context) { return get().find(graphStore, context) ; } /** Locate a suitable factory for this dataset @@ -59,7 +59,7 @@ public class UpdateEngineRegistry * @param graphStore A GraphStore * @return A UpdateProcessorFactroy or null if none accept the request */ - public UpdateEngineFactory find(GraphStore graphStore, Context context) + public UpdateEngineFactory find(DatasetGraph graphStore, Context context) { for ( UpdateEngineFactory f : factories ) { http://git-wip-us.apache.org/repos/asf/jena/blob/bb8d6f3b/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngineWorker.java ---------------------------------------------------------------------- diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngineWorker.java b/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngineWorker.java index f0af38f..d572309 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngineWorker.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngineWorker.java @@ -58,20 +58,19 @@ import org.apache.jena.sparql.syntax.ElementGroup ; import org.apache.jena.sparql.syntax.ElementNamedGraph ; import org.apache.jena.sparql.syntax.ElementTriplesBlock ; import org.apache.jena.sparql.util.Context ; -import org.apache.jena.update.GraphStore ; import org.apache.jena.update.UpdateException ; /** Implementation of general purpose update request execution */ public class UpdateEngineWorker implements UpdateVisitor { - protected final GraphStore graphStore ; + protected final DatasetGraph datasetGraph ; protected final boolean alwaysSilent = true ; protected final Binding inputBinding; // Used for UpdateModify and UpdateDeleteWhere only protected final Context context ; - public UpdateEngineWorker(GraphStore graphStore, Binding inputBinding, Context context) + public UpdateEngineWorker(DatasetGraph datasetGraph, Binding inputBinding, Context context) { - this.graphStore = graphStore ; + this.datasetGraph = datasetGraph ; this.inputBinding = inputBinding ; this.context = context ; } @@ -105,23 +104,23 @@ public class UpdateEngineWorker implements UpdateVisitor { if ( ! alwaysSilent ) { - if ( g != null && ! graphStore.containsGraph(g) && ! update.isSilent()) + if ( g != null && ! datasetGraph.containsGraph(g) && ! update.isSilent()) error("No such graph: "+g) ; } if ( isClear ) { - if ( g == null || graphStore.containsGraph(g) ) - graph(graphStore, g).clear() ; + if ( g == null || datasetGraph.containsGraph(g) ) + graph(datasetGraph, g).clear() ; } else - graphStore.removeGraph(g) ; + datasetGraph.removeGraph(g) ; } protected void execDropClearAllNamed(UpdateDropClear update, boolean isClear) { // Avoid ConcurrentModificationException - List<Node> list = Iter.toList(graphStore.listGraphNodes()) ; + List<Node> list = Iter.toList(datasetGraph.listGraphNodes()) ; for ( Node gn : list ) execDropClear(update, gn, isClear) ; @@ -133,14 +132,14 @@ public class UpdateEngineWorker implements UpdateVisitor Node g = update.getGraph() ; if ( g == null ) return ; - if ( graphStore.containsGraph(g) ) + if ( datasetGraph.containsGraph(g) ) { if ( ! alwaysSilent && ! update.isSilent() ) error("Graph store already contains graph : "+g) ; return ; } // In-memory specific - graphStore.addGraph(g, GraphFactory.createDefaultGraph()) ; + datasetGraph.addGraph(g, GraphFactory.createDefaultGraph()) ; } @Override @@ -158,7 +157,7 @@ public class UpdateEngineWorker implements UpdateVisitor Graph g = GraphFactory.createGraphMem() ; StreamRDF stream = StreamRDFLib.graph(g) ; RDFDataMgr.parse(stream, s, source) ; - Graph g2 = graph(graphStore, dest) ; + Graph g2 = graph(datasetGraph, dest) ; GraphUtil.addInto(g2, g) ; } else { // Quads @@ -171,7 +170,7 @@ public class UpdateEngineWorker implements UpdateVisitor for ( ; iter.hasNext() ; ) { Quad q = iter.next() ; - graphStore.add(q) ; + datasetGraph.add(q) ; } } } catch (RuntimeException ex) @@ -193,7 +192,7 @@ public class UpdateEngineWorker implements UpdateVisitor return ; // ADD (DEFAULT or GRAPH) TO (DEFAULT or GRAPH) // Different source and destination. - gsCopyTriples(graphStore, update.getSrc(), update.getDest()) ; + gsCopyTriples(datasetGraph, update.getSrc(), update.getDest()) ; } @Override @@ -203,7 +202,7 @@ public class UpdateEngineWorker implements UpdateVisitor if ( update.getSrc().equals(update.getDest()) ) return ; // COPY (DEFAULT or GRAPH) TO (DEFAULT or GRAPH) - gsCopy(graphStore, update.getSrc(), update.getDest(), update.getSilent()) ; + gsCopy(datasetGraph, update.getSrc(), update.getDest(), update.getSilent()) ; } @Override @@ -214,8 +213,8 @@ public class UpdateEngineWorker implements UpdateVisitor return ; // MOVE (DEFAULT or GRAPH) TO (DEFAULT or GRAPH) // Difefrent source and destination. - gsCopy(graphStore, update.getSrc(), update.getDest(), update.getSilent()) ; - gsDrop(graphStore, update.getSrc(), true) ; + gsCopy(datasetGraph, update.getSrc(), update.getDest(), update.getSilent()) ; + gsDrop(datasetGraph, update.getSrc(), true) ; } private boolean validBinaryGraphOp(UpdateBinaryOp update) @@ -226,7 +225,7 @@ public class UpdateEngineWorker implements UpdateVisitor if ( update.getSrc().isOneNamedGraph() ) { Node gn = update.getSrc().getGraph() ; - if ( ! graphStore.containsGraph(gn) ) + if ( ! datasetGraph.containsGraph(gn) ) { if ( ! update.getSilent() ) error("No such graph: "+gn) ; @@ -241,21 +240,21 @@ public class UpdateEngineWorker implements UpdateVisitor // ---- // Core operations - protected static void gsCopy(GraphStore gStore, Target src, Target dest, boolean isSilent) + protected static void gsCopy(DatasetGraph dsg, Target src, Target dest, boolean isSilent) { if ( dest.equals(src) ) return ; - gsClear(gStore, dest, true) ; - gsCopyTriples(gStore, src, dest) ; + gsClear(dsg, dest, true) ; + gsCopyTriples(dsg, src, dest) ; } - protected static void gsCopyTriples(GraphStore gStore, Target src, Target dest) + protected static void gsCopyTriples(DatasetGraph dsg, Target src, Target dest) { - Graph gSrc = graph(gStore, src) ; - Graph gDest = graph(gStore, dest) ; + Graph gSrc = graph(dsg, src) ; + Graph gDest = graph(dsg, dest) ; // Avoids concurrency problems by reading fully before writing - ThresholdPolicy<Triple> policy = ThresholdPolicyFactory.policyFromContext(gStore.getContext()); + ThresholdPolicy<Triple> policy = ThresholdPolicyFactory.policyFromContext(dsg.getContext()); DataBag<Triple> db = BagFactory.newDefaultBag(policy, SerializationFactoryFinder.tripleSerializationFactory()) ; try { @@ -267,19 +266,19 @@ public class UpdateEngineWorker implements UpdateVisitor finally { db.close() ; } } - protected static void gsClear(GraphStore gStore, Target target, boolean isSilent) + protected static void gsClear(DatasetGraph dsg, Target target, boolean isSilent) { // No create - we tested earlier. - Graph g = graph(gStore, target) ; + Graph g = graph(dsg, target) ; g.clear() ; } - protected static void gsDrop(GraphStore gStore, Target target, boolean isSilent) + protected static void gsDrop(DatasetGraph dsg, Target target, boolean isSilent) { if ( target.isDefault() ) - gStore.getDefaultGraph().clear() ; + dsg.getDefaultGraph().clear() ; else - gStore.removeGraph(target.getGraph()) ; + dsg.removeGraph(target.getGraph()) ; } // ---- @@ -292,13 +291,13 @@ public class UpdateEngineWorker implements UpdateVisitor @Override public void send(Quad quad) { - addToGraphStore(graphStore, quad); + addTodatasetGraph(datasetGraph, quad); } @Override public void flush() { - SystemARQ.sync(graphStore); + SystemARQ.sync(datasetGraph); } @Override @@ -311,7 +310,7 @@ public class UpdateEngineWorker implements UpdateVisitor public void visit(UpdateDataInsert update) { for ( Quad quad : update.getQuads() ) - addToGraphStore(graphStore, quad) ; + addTodatasetGraph(datasetGraph, quad) ; } @Override @@ -322,13 +321,13 @@ public class UpdateEngineWorker implements UpdateVisitor @Override public void send(Quad quad) { - deleteFromGraphStore(graphStore, quad); + deleteFromdatasetGraph(datasetGraph, quad); } @Override public void flush() { - SystemARQ.sync(graphStore); + SystemARQ.sync(datasetGraph); } @Override @@ -341,7 +340,7 @@ public class UpdateEngineWorker implements UpdateVisitor public void visit(UpdateDataDelete update) { for ( Quad quad : update.getQuads() ) - deleteFromGraphStore(graphStore, quad) ; + deleteFromdatasetGraph(datasetGraph, quad) ; } @Override @@ -358,7 +357,7 @@ public class UpdateEngineWorker implements UpdateVisitor // Decided to serialize the bindings, but could also have decided to // serialize the quads after applying the template instead. - ThresholdPolicy<Binding> policy = ThresholdPolicyFactory.policyFromContext(graphStore.getContext()); + ThresholdPolicy<Binding> policy = ThresholdPolicyFactory.policyFromContext(datasetGraph.getContext()); DataBag<Binding> db = BagFactory.newDefaultBag(policy, SerializationFactoryFinder.bindingSerializationFactory()) ; try { @@ -408,10 +407,10 @@ public class UpdateEngineWorker implements UpdateVisitor // ------------------- if ( dsg == null ) - dsg = graphStore ; + dsg = datasetGraph ; Query query = elementToQuery(elt) ; - ThresholdPolicy<Binding> policy = ThresholdPolicyFactory.policyFromContext(graphStore.getContext()); + ThresholdPolicy<Binding> policy = ThresholdPolicyFactory.policyFromContext(datasetGraph.getContext()); DataBag<Binding> db = BagFactory.newDefaultBag(policy, SerializationFactoryFinder.bindingSerializationFactory()) ; try { @@ -420,7 +419,7 @@ public class UpdateEngineWorker implements UpdateVisitor if ( false ) { // System.out.println("=======================================") ; -// System.out.println(graphStore) ; +// System.out.println(datasetGraph) ; List<Binding> x = Iter.toList(bindings) ; System.out.printf("====>> Bindings (%d)\n", x.size()) ; Iter.print(System.out, x.iterator()) ; @@ -451,7 +450,7 @@ public class UpdateEngineWorker implements UpdateVisitor if ( update.getUsing().size() == 0 && update.getUsingNamed().size() == 0 ) return null ; - return DynamicDatasets.dynamicDataset(update.getUsing(), update.getUsingNamed(), graphStore, false) ; + return DynamicDatasets.dynamicDataset(update.getUsing(), update.getUsingNamed(), datasetGraph, false) ; } protected DatasetGraph processWith(UpdateModify update) @@ -459,14 +458,14 @@ public class UpdateEngineWorker implements UpdateVisitor Node withGraph = update.getWithIRI() ; if ( withGraph == null ) return null ; - Graph g = graphOrDummy(graphStore, withGraph) ; - DatasetGraph dsg = new DatasetGraphAltDefaultGraph(graphStore, g) ; + Graph g = graphOrDummy(datasetGraph, withGraph) ; + DatasetGraph dsg = new DatasetGraphAltDefaultGraph(datasetGraph, g) ; return dsg ; } private Graph graphOrDummy(DatasetGraph dsg, Node gn) { - Graph g = graph(graphStore, gn) ; + Graph g = graph(datasetGraph, gn) ; if ( g == null ) g = GraphFactory.createGraphMem() ; return g ; @@ -513,14 +512,14 @@ public class UpdateEngineWorker implements UpdateVisitor while (it.hasNext()) { Quad q = it.next(); - graphStore.delete(q); + datasetGraph.delete(q); } // Alternate implementation that can use the graph BulkUpdateHandler, but forces all quads into // memory (we don't want that!). The issue is that all of the quads can be mixed up based on the // user supplied template. If graph stores can benefit from bulk insert/delete operations, then we - // need to expose a bulk update interface on GraphStore, not just Graph. + // need to expose a bulk update interface on datasetGraph, not just Graph. // MultiMap<Node, Triple> acc = MultiMap.createMapList() ; // while (it.hasNext()) // { @@ -530,7 +529,7 @@ public class UpdateEngineWorker implements UpdateVisitor // for ( Node gn : acc.keys() ) // { // Collection<Triple> triples = acc.get(gn) ; -// graph(graphStore, gn).getBulkUpdateHandler().delete(triples.iterator()) ; +// graph(datasetGraph, gn).getBulkUpdateHandler().delete(triples.iterator()) ; // } } @@ -542,23 +541,23 @@ public class UpdateEngineWorker implements UpdateVisitor while (it.hasNext()) { Quad q = it.next(); - addToGraphStore(graphStore, q); + addTodatasetGraph(datasetGraph, q); } } // Catch all individual adds of quads (and deletes - mainly for symmetry). - private static void addToGraphStore(GraphStore graphStore, Quad quad) + private static void addTodatasetGraph(DatasetGraph datasetGraph, Quad quad) { // Check legal triple. if ( quad.isLegalAsData() ) - graphStore.add(quad); + datasetGraph.add(quad); // Else drop. //Log.warn(UpdateEngineWorker.class, "Bad quad as data: "+quad) ; } - private static void deleteFromGraphStore(GraphStore graphStore, Quad quad) + private static void deleteFromdatasetGraph(DatasetGraph datasetGraph, Quad quad) { - graphStore.delete(quad) ; + datasetGraph.delete(quad) ; } protected Query elementToQuery(Element pattern) @@ -580,7 +579,7 @@ public class UpdateEngineWorker implements UpdateVisitor protected Iterator<Binding> evalBindings(Query query, Node dftGraph) { - DatasetGraph dsg = graphStore ; + DatasetGraph dsg = datasetGraph ; if ( query != null ) { if ( dftGraph != null ) @@ -613,20 +612,20 @@ public class UpdateEngineWorker implements UpdateVisitor return toReturn ; } - protected static Graph graph(GraphStore graphStore, Node gn) + protected static Graph graph(DatasetGraph datasetGraph, Node gn) { if ( gn == null || gn == Quad.defaultGraphNodeGenerated ) - return graphStore.getDefaultGraph() ; + return datasetGraph.getDefaultGraph() ; else - return graphStore.getGraph(gn) ; + return datasetGraph.getGraph(gn) ; } - protected static Graph graph(GraphStore graphStore, Target target) + protected static Graph graph(DatasetGraph datasetGraph, Target target) { if ( target.isDefault() ) - return graphStore.getDefaultGraph() ; + return datasetGraph.getDefaultGraph() ; if ( target.isOneNamedGraph() ) - return graph(graphStore, target.getGraph()) ; + return graph(datasetGraph, target.getGraph()) ; error("Target does not name one graph: "+target) ; return null ; } http://git-wip-us.apache.org/repos/asf/jena/blob/bb8d6f3b/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateProcessRemoteBase.java ---------------------------------------------------------------------- diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateProcessRemoteBase.java b/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateProcessRemoteBase.java index 0e6de13..1e3aa53 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateProcessRemoteBase.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateProcessRemoteBase.java @@ -18,25 +18,25 @@ package org.apache.jena.sparql.modify; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; +import java.util.ArrayList ; +import java.util.List ; +import java.util.Map ; -import org.apache.http.protocol.HttpContext; -import org.apache.jena.atlas.web.auth.HttpAuthenticator; -import org.apache.jena.atlas.web.auth.SimpleAuthenticator; -import org.apache.jena.riot.web.HttpOp; +import org.apache.http.protocol.HttpContext ; +import org.apache.jena.atlas.web.auth.HttpAuthenticator ; +import org.apache.jena.atlas.web.auth.SimpleAuthenticator ; +import org.apache.jena.riot.web.HttpOp ; +import org.apache.jena.sparql.core.DatasetGraph ; import org.apache.jena.sparql.engine.http.HttpParams ; import org.apache.jena.sparql.engine.http.Params ; import org.apache.jena.sparql.engine.http.QueryEngineHTTP ; import org.apache.jena.sparql.engine.http.Service ; import org.apache.jena.sparql.util.Context ; import org.apache.jena.sparql.util.Symbol ; -import org.apache.jena.update.GraphStore ; import org.apache.jena.update.UpdateProcessor ; import org.apache.jena.update.UpdateRequest ; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.slf4j.Logger ; +import org.slf4j.LoggerFactory ; /** * Abstract base class for update processors that perform remote updates over @@ -122,7 +122,7 @@ public abstract class UpdateProcessRemoteBase implements UpdateProcessor { } @Override - public GraphStore getGraphStore() { + public DatasetGraph getDatasetGraph() { return null; } http://git-wip-us.apache.org/repos/asf/jena/blob/bb8d6f3b/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateProcessorBase.java ---------------------------------------------------------------------- diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateProcessorBase.java b/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateProcessorBase.java index b244d6b..fd00fca 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateProcessorBase.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateProcessorBase.java @@ -19,9 +19,9 @@ package org.apache.jena.sparql.modify; import org.apache.jena.atlas.iterator.Iter ; +import org.apache.jena.sparql.core.DatasetGraph ; import org.apache.jena.sparql.engine.binding.Binding ; import org.apache.jena.sparql.util.Context ; -import org.apache.jena.update.GraphStore ; import org.apache.jena.update.UpdateProcessor ; import org.apache.jena.update.UpdateRequest ; @@ -31,28 +31,27 @@ import org.apache.jena.update.UpdateRequest ; public class UpdateProcessorBase implements UpdateProcessor { protected final UpdateRequest request ; - protected final GraphStore graphStore ; + protected final DatasetGraph datasetGraph ; protected final Binding inputBinding; protected final UpdateEngineFactory factory ; protected final Context context ; public UpdateProcessorBase(UpdateRequest request, - GraphStore graphStore, + DatasetGraph datasetGraph, Binding inputBinding, Context context, UpdateEngineFactory factory) { this.request = request ; - this.graphStore = graphStore ; + this.datasetGraph = datasetGraph ; this.inputBinding = inputBinding; - this.context = Context.setupContext(context, graphStore) ; + this.context = Context.setupContext(context, datasetGraph) ; this.factory = factory ; } @Override - public void execute() - { - UpdateEngine uProc = factory.create(graphStore, inputBinding, context); + public void execute() { + UpdateEngine uProc = factory.create(datasetGraph, inputBinding, context); uProc.startRequest(); try { @@ -64,14 +63,12 @@ public class UpdateProcessorBase implements UpdateProcessor } @Override - public GraphStore getGraphStore() - { - return graphStore ; + public DatasetGraph getDatasetGraph() { + return datasetGraph ; } @Override - public Context getContext() - { + public Context getContext() { return context ; } } http://git-wip-us.apache.org/repos/asf/jena/blob/bb8d6f3b/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateProcessorStreamingBase.java ---------------------------------------------------------------------- diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateProcessorStreamingBase.java b/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateProcessorStreamingBase.java index 53606b1..48569e0 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateProcessorStreamingBase.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateProcessorStreamingBase.java @@ -18,9 +18,9 @@ package org.apache.jena.sparql.modify; +import org.apache.jena.sparql.core.DatasetGraph ; import org.apache.jena.sparql.engine.binding.Binding ; import org.apache.jena.sparql.util.Context ; -import org.apache.jena.update.GraphStore ; import org.apache.jena.update.UpdateProcessorStreaming ; /** Class to hold the general state of a update request execution. @@ -28,46 +28,40 @@ import org.apache.jena.update.UpdateProcessorStreaming ; */ public class UpdateProcessorStreamingBase implements UpdateProcessorStreaming { - protected final GraphStore graphStore ; + protected final DatasetGraph datasetGraph ; protected final Context context ; protected final UpdateEngine proc; - public UpdateProcessorStreamingBase(GraphStore graphStore, Binding inputBinding, Context context, UpdateEngineFactory factory) + public UpdateProcessorStreamingBase(DatasetGraph datasetGraph, Binding inputBinding, Context context, UpdateEngineFactory factory) { - this.graphStore = graphStore ; - this.context = Context.setupContext(context, graphStore) ; - - proc = factory.create(graphStore, inputBinding, context) ; + this.datasetGraph = datasetGraph ; + this.context = Context.setupContext(context, datasetGraph) ; + proc = factory.create(datasetGraph, inputBinding, context) ; } @Override - public void startRequest() - { - proc.startRequest(); + public void startRequest() { + proc.startRequest() ; } - + @Override - public void finishRequest() - { - proc.finishRequest(); + public void finishRequest() { + proc.finishRequest() ; } - + @Override - public UpdateSink getUpdateSink() - { - return proc.getUpdateSink(); + public UpdateSink getUpdateSink() { + return proc.getUpdateSink() ; } @Override - public GraphStore getGraphStore() - { - return graphStore ; + public DatasetGraph getDatasetGraph() { + return datasetGraph ; } - + @Override - public Context getContext() - { + public Context getContext() { return context ; } } http://git-wip-us.apache.org/repos/asf/jena/blob/bb8d6f3b/jena-arq/src/main/java/org/apache/jena/update/GraphStoreFactory.java ---------------------------------------------------------------------- diff --git a/jena-arq/src/main/java/org/apache/jena/update/GraphStoreFactory.java b/jena-arq/src/main/java/org/apache/jena/update/GraphStoreFactory.java index e36e082..9d3f0a3 100644 --- a/jena-arq/src/main/java/org/apache/jena/update/GraphStoreFactory.java +++ b/jena-arq/src/main/java/org/apache/jena/update/GraphStoreFactory.java @@ -26,7 +26,9 @@ import org.apache.jena.sparql.core.DatasetGraphFactory ; import org.apache.jena.sparql.modify.GraphStoreBasic ; /** Operations to create a GraphStore + * @deprecated Use a {@link DatasetGraph} directly. many operations also accept a {@link Dataset}. */ +@Deprecated public class GraphStoreFactory { /** Create an empty GraphStore with an empty default graph (in-memory) */ http://git-wip-us.apache.org/repos/asf/jena/blob/bb8d6f3b/jena-arq/src/main/java/org/apache/jena/update/UpdateAction.java ---------------------------------------------------------------------- diff --git a/jena-arq/src/main/java/org/apache/jena/update/UpdateAction.java b/jena-arq/src/main/java/org/apache/jena/update/UpdateAction.java index 78be9b6..97dfc77 100644 --- a/jena-arq/src/main/java/org/apache/jena/update/UpdateAction.java +++ b/jena-arq/src/main/java/org/apache/jena/update/UpdateAction.java @@ -28,6 +28,7 @@ import org.apache.jena.query.Syntax ; import org.apache.jena.rdf.model.Model ; import org.apache.jena.sparql.ARQException ; import org.apache.jena.sparql.core.DatasetGraph ; +import org.apache.jena.sparql.core.DatasetGraphFactory ; import org.apache.jena.sparql.engine.binding.Binding ; import org.apache.jena.sparql.engine.binding.BindingUtils ; import org.apache.jena.sparql.lang.UpdateParser ; @@ -49,84 +50,81 @@ public class UpdateAction */ public static void readExecute(String filename, Model model) { - readExecute(filename, GraphStoreFactory.create(model)) ; + readExecute(filename, toDatasetGraph(model.getGraph())) ; } /** Read a file containing SPARQL Update operations, and execute the operations. * @param filename - * @param dataset + * @param graph */ - public static void readExecute(String filename, Dataset dataset) + public static void readExecute(String filename, Graph graph) { - readExecute(filename, GraphStoreFactory.create(dataset)) ; + readExecute(filename, toDatasetGraph(graph)) ; } /** Read a file containing SPARQL Update operations, and execute the operations. * @param filename * @param dataset */ - public static void readExecute(String filename, DatasetGraph dataset) + public static void readExecute(String filename, Dataset dataset) { - readExecute(filename, GraphStoreFactory.create(dataset)) ; + readExecute(filename, dataset.asDatasetGraph()) ; } /** Read a file containing SPARQL Update operations, and execute the operations. * @param filename - * @param graph - */ - public static void readExecute(String filename, Graph graph) - { - readExecute(filename, GraphStoreFactory.create(graph)) ; - } - - /** Read a file containing SPARQL Update operations, and execute the operations. - * @param filename - * @param graphStore + * @param dataset */ - @Deprecated - public static void readExecute(String filename, GraphStore graphStore) + public static void readExecute(String filename, DatasetGraph dataset) { - readExecute(filename, graphStore, (Binding)null); + readExecute(filename, dataset, null) ; } /** Read a file containing SPARQL Update operations, and execute the operations. * @param filename - * @param graphStore + * @param dataset * @param inputBinding */ - public static void readExecute(String filename, GraphStore graphStore, QuerySolution inputBinding) - { - readExecute(filename, graphStore, BindingUtils.asBinding(inputBinding)) ; + public static void readExecute(String filename, Dataset dataset, QuerySolution inputBinding) { + UpdateRequest req = UpdateFactory.read(filename) ; + execute(req, dataset, inputBinding) ; } - /** Read a file containing SPARQL Update operations, and execute the operations. * @param filename - * @param graphStore + * @param datasetGraph * @param inputBinding */ - public static void readExecute(String filename, GraphStore graphStore, Binding inputBinding) - { + public static void readExecute(String filename, DatasetGraph datasetGraph, Binding inputBinding) { UpdateRequest req = UpdateFactory.read(filename) ; - execute(req, graphStore, inputBinding) ; + execute$(req, datasetGraph, inputBinding) ; } - + /** Parse a string containing SPARQL Update operations, and execute the operations. * @param updateString * @param model */ public static void parseExecute(String updateString, Model model) { - parseExecute(updateString, GraphStoreFactory.create(model)) ; + parseExecute(updateString, model.getGraph()) ; } /** Parse a string containing SPARQL Update operations, and execute the operations. * @param updateString + * @param graph + */ + public static void parseExecute(String updateString, Graph graph) + { + parseExecute(updateString, toDatasetGraph(graph)) ; + } + + /** Parse a string containing SPARQL Update operations, and execute the operations. + * @param updateString * @param dataset */ public static void parseExecute(String updateString, Dataset dataset) { - parseExecute(updateString, GraphStoreFactory.create(dataset)) ; + parseExecute(updateString, dataset.asDatasetGraph()) ; } /** Parse a string containing SPARQL Update operations, and execute the operations. @@ -135,29 +133,30 @@ public class UpdateAction */ public static void parseExecute(String updateString, DatasetGraph dataset) { - parseExecute(updateString, GraphStoreFactory.create(dataset)) ; + UpdateRequest req = UpdateFactory.create(updateString) ; + execute(req, dataset) ; } - /** Parse a string containing SPARQL Update operations, and execute the operations. * @param updateString - * @param graph + * @param dataset + * @param inputBinding */ - public static void parseExecute(String updateString, Graph graph) + public static void parseExecute(String updateString, Dataset dataset, QuerySolution inputBinding) { - parseExecute(updateString, GraphStoreFactory.create(graph)) ; + parseExecute(updateString, dataset.asDatasetGraph(), BindingUtils.asBinding(inputBinding)) ; } /** Parse a string containing SPARQL Update operations, and execute the operations. * @param updateString - * @param graphStore + * @param dataset + * @param inputBinding */ - public static void parseExecute(String updateString, GraphStore graphStore) + public static void parseExecute(String updateString, DatasetGraph dataset, Binding inputBinding) { UpdateRequest req = UpdateFactory.create(updateString) ; - execute(req, graphStore) ; + execute(req, dataset, inputBinding) ; } - /** Execute SPARQL Update operations. * @param request @@ -165,70 +164,65 @@ public class UpdateAction */ public static void execute(UpdateRequest request, Model model) { - execute(request, GraphStoreFactory.create(model)) ; + execute(request, model.getGraph()) ; } /** Execute SPARQL Update operations. * @param request - * @param dataset + * @param graph */ - public static void execute(UpdateRequest request, Dataset dataset) + public static void execute(UpdateRequest request, Graph graph) { - execute(request, GraphStoreFactory.create(dataset)) ; + execute(request, toDatasetGraph(graph)) ; } /** Execute SPARQL Update operations. * @param request * @param dataset */ - public static void execute(UpdateRequest request, DatasetGraph dataset) + public static void execute(UpdateRequest request, Dataset dataset) { - execute(request, GraphStoreFactory.create(dataset)) ; + execute(request, dataset.asDatasetGraph()) ; } /** Execute SPARQL Update operations. * @param request - * @param graph - */ - public static void execute(UpdateRequest request, Graph graph) - { - execute(request, GraphStoreFactory.create(graph)) ; - } - - /** Execute SPARQL Update operations. - * @param request - * @param graphStore + * @param dataset */ - public static void execute(UpdateRequest request, GraphStore graphStore) + public static void execute(UpdateRequest request, DatasetGraph dataset) { - execute(request, graphStore, (Binding)null); + execute$(request, dataset, null) ; } /** Execute SPARQL Update operations. * @param request - * @param graphStore + * @param dataset * @param inputBinding */ - public static void execute(UpdateRequest request, GraphStore graphStore, QuerySolution inputBinding) + public static void execute(UpdateRequest request, Dataset dataset, QuerySolution inputBinding) { - execute(request, graphStore, BindingUtils.asBinding(inputBinding)) ; + execute(request, dataset.asDatasetGraph(), BindingUtils.asBinding(inputBinding)) ; } /** Execute SPARQL Update operations. * @param request - * @param graphStore + * @param datasetGraph * @param inputBinding */ - public static void execute(UpdateRequest request, GraphStore graphStore, Binding inputBinding) + public static void execute(UpdateRequest request, DatasetGraph datasetGraph, Binding inputBinding) { - execute$(request, graphStore, inputBinding) ; + execute$(request, datasetGraph, inputBinding) ; } + private static DatasetGraph toDatasetGraph(Graph graph) { + return DatasetGraphFactory.create(graph) ; + } + // All non-streaming updates come through here. - private static void execute$(UpdateRequest request, GraphStore graphStore, Binding inputBinding) + private static void execute$(UpdateRequest request, DatasetGraph datasetGraph, Binding inputBinding) { - UpdateProcessor uProc = UpdateExecutionFactory.create(request, graphStore, inputBinding); + UpdateProcessor uProc = UpdateExecutionFactory.create(request, datasetGraph, inputBinding); if (uProc == null) throw new ARQException("No suitable update procesors are registered/able to execute your updates"); uProc.execute(); @@ -241,70 +235,61 @@ public class UpdateAction */ public static void execute(Update update, Model model) { - execute(update, GraphStoreFactory.create(model)) ; + execute(update, model.getGraph()) ; } /** Execute a single SPARQL Update operation. * @param update - * @param dataset + * @param graph */ - public static void execute(Update update, Dataset dataset) + public static void execute(Update update, Graph graph) { - execute(update, GraphStoreFactory.create(dataset)) ; + execute(update, toDatasetGraph(graph)) ; } /** Execute a single SPARQL Update operation. * @param update * @param dataset */ - public static void execute(Update update, DatasetGraph dataset) + public static void execute(Update update, Dataset dataset) { - execute(update, GraphStoreFactory.create(dataset)) ; + execute(update, dataset.asDatasetGraph()) ; } /** Execute a single SPARQL Update operation. * @param update - * @param graph - */ - public static void execute(Update update, Graph graph) - { - execute(update, GraphStoreFactory.create(graph)) ; - } - - /** Execute a single SPARQL Update operation. - * @param update - * @param graphStore + * @param dataset */ - public static void execute(Update update, GraphStore graphStore) + public static void execute(Update update, DatasetGraph dataset) { - execute(update, graphStore, (Binding)null); + execute(update, dataset, null) ; } /** Execute a single SPARQL Update operation. * @param update - * @param graphStore + * @param dataset * @param inputBinding */ - public static void execute(Update update, GraphStore graphStore, QuerySolution inputBinding) + public static void execute(Update update, Dataset dataset, QuerySolution inputBinding) { - execute(update, graphStore, BindingUtils.asBinding(inputBinding)) ; + execute(update, dataset.asDatasetGraph(), BindingUtils.asBinding(inputBinding)) ; } /** Execute a single SPARQL Update operation. * @param update - * @param graphStore + * @param datasetGraph * @param inputBinding */ - public static void execute(Update update, GraphStore graphStore, Binding inputBinding) + public static void execute(Update update, DatasetGraph datasetGraph, Binding inputBinding) { - execute$(update, graphStore, inputBinding) ; + execute$(update, datasetGraph, inputBinding) ; } - private static void execute$(Update update, GraphStore graphStore, Binding inputBinding) + private static void execute$(Update update, DatasetGraph datasetGraph, Binding inputBinding) { UpdateRequest request = new UpdateRequest() ; request.add(update) ; - execute$(request, graphStore, inputBinding) ; + execute$(request, datasetGraph, inputBinding) ; } // Streaming Updates: @@ -422,9 +407,7 @@ public class UpdateAction */ public static void parseExecute(UsingList usingList, DatasetGraph dataset, InputStream input, Binding inputBinding, String baseURI, Syntax syntax) { - GraphStore graphStore = GraphStoreFactory.create(dataset); - - UpdateProcessorStreaming uProc = UpdateExecutionFactory.createStreaming(graphStore, inputBinding) ; + UpdateProcessorStreaming uProc = UpdateExecutionFactory.createStreaming(dataset, inputBinding) ; if (uProc == null) throw new ARQException("No suitable update procesors are registered/able to execute your updates");
