You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2015/05/04 22:27:28 UTC

[11/12] jena git commit: JENA-926: Remove all use of GraphStore.

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/jena926-remove-graphstore
Commit: bb8d6f3bc3ed7d4270a7b816e442638c5ee49782
Parents: f138e29
Author: Andy Seaborne <an...@apache.org>
Authored: Mon May 4 18:02:10 2015 +0100
Committer: Andy Seaborne <an...@apache.org>
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");