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 2018/11/17 17:20:49 UTC

[23/34] jena git commit: JENA-1625: Update DynamicDatasets.

JENA-1625: Update DynamicDatasets.

Add to coverage in AbstractTestDynamicDataset.

Enable TestDynamicDatasetMem.

Avoid the (implicit) union graph including an explicitly named union
graph in DynamicDatasets.

Fix union graph in default graphs.


Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/1b0a78ca
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/1b0a78ca
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/1b0a78ca

Branch: refs/heads/master
Commit: 1b0a78cae302153470617d5327f91e43adc8bd40
Parents: fcbcc78
Author: Andy Seaborne <an...@apache.org>
Authored: Mon Nov 5 15:19:58 2018 +0000
Committer: Andy Seaborne <an...@apache.org>
Committed: Tue Nov 13 15:39:14 2018 +0000

----------------------------------------------------------------------
 .../jena/sparql/core/DatasetGraphReadOnly.java  | 49 +++++++-----
 .../jena/sparql/core/DatasetGraphWrapper.java   | 16 +++-
 .../sparql/core/DatasetGraphWrapperView.java    |  2 +-
 .../jena/sparql/core/DynamicDatasets.java       | 74 ++++++++---------
 .../sparql/core/AbstractTestDynamicDataset.java | 84 ++++++++++++++++++++
 .../org/apache/jena/sparql/core/TS_Core.java    |  2 +-
 .../jena/sparql/core/TestDynamicDatasetMem.java |  2 +-
 .../jena/tdb2/store/DatasetGraphSwitchable.java |  2 +-
 .../jena/tdb2/store/TestDynamicDatasetTDB.java  |  6 --
 .../jena/tdb/store/TestDynamicDatasetTDB.java   |  5 --
 10 files changed, 166 insertions(+), 76 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/1b0a78ca/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphReadOnly.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphReadOnly.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphReadOnly.java
index a0557f2..72aa82f 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphReadOnly.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphReadOnly.java
@@ -18,11 +18,12 @@
 
 package org.apache.jena.sparql.core;
 
-import org.apache.jena.atlas.logging.Log ;
-import org.apache.jena.graph.Graph ;
-import org.apache.jena.graph.Node ;
-import org.apache.jena.query.ReadWrite ;
-import org.apache.jena.sparql.graph.GraphReadOnly ;
+import org.apache.jena.atlas.logging.Log;
+import org.apache.jena.graph.Graph;
+import org.apache.jena.graph.Node;
+import org.apache.jena.query.ReadWrite;
+import org.apache.jena.sparql.graph.GraphReadOnly;
+import org.apache.jena.sparql.util.Context;
 
 /** Read-only view of a DatasetGraph.  Assumes the dataset underneath isn't changing.
  */
@@ -31,37 +32,45 @@ public class DatasetGraphReadOnly extends DatasetGraphWrapper
     // Add a read-only wrapper any graphs returned.
     // Block write access at getW().
 
-    public DatasetGraphReadOnly(DatasetGraph dsg) { super(dsg) ; }
+    public DatasetGraphReadOnly(DatasetGraph dsg) {
+        super(dsg);
+    }
     
-    private Graph dftGraph = new GraphReadOnly(super.getDefaultGraph()) ;
+    public DatasetGraphReadOnly(DatasetGraph dsg, Context cxt) {
+        super(dsg, cxt);
+    }
+
+    private Graph dftGraph = new GraphReadOnly(super.getDefaultGraph());
     
     @Override
     public Graph getDefaultGraph() {
-        return dftGraph ;
+        return dftGraph;
     }
 
     @Override public void begin(ReadWrite mode) {
         if ( mode == ReadWrite.WRITE )
-            //throw new JenaTransactionException("read-only dataset : no write transactions") ;
-            Log.warn(this, "Write transaction on a read-only dataset") ;
-        get().begin(mode) ; 
+            //throw new JenaTransactionException("read-only dataset : no write transactions");
+            Log.warn(this, "Write transaction on a read-only dataset");
+        get().begin(mode); 
     }
     
     @Override
     public Graph getGraph(Node graphNode) {
-        Graph g = get().getGraph(graphNode) ;
+        Graph g = get().getGraph(graphNode);
         if ( g == null )
-            return null ;
-        g = new GraphReadOnly(g) ;
-        return g ;
+            return null;
+        g = new GraphReadOnly(g);
+        return g;
     }
 
     /** For operations that write the DatasetGraph. */
     @Override
-    protected DatasetGraph getW()
-    { throw new UnsupportedOperationException("read-only dataset") ; }
-    
+    protected DatasetGraph getW() {
+        throw new UnsupportedOperationException("read-only dataset");
+    }
+
     @Override
-    public void close()
-    { get().close() ; }
+    public void close() {
+        get().close();
+    }
 }

http://git-wip-us.apache.org/repos/asf/jena/blob/1b0a78ca/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphWrapper.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphWrapper.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphWrapper.java
index f1d9861..4249248 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphWrapper.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphWrapper.java
@@ -34,6 +34,7 @@ public class DatasetGraphWrapper implements DatasetGraph, Sync
 {
     // The wrapped DatasetGraph but all calls go via get() so this can be null.
     private final DatasetGraph dsg;
+    private Context context;
     
     /** Return the DatasetGraph being wrapped. */
     public final DatasetGraph getWrapped() { 
@@ -73,6 +74,7 @@ public class DatasetGraphWrapper implements DatasetGraph, Sync
      *  made based on that contract. 
      */
     protected DatasetGraph get() { return dsg; }
+    protected Context getCxt()   { return context; }
 
     /** For operations that only read the DatasetGraph. */ 
     protected DatasetGraph getR() { return get(); }
@@ -86,8 +88,20 @@ public class DatasetGraphWrapper implements DatasetGraph, Sync
     /** For operations that pass on transaction actions. */
     protected DatasetGraph getT() { return get(); }
 
+    /**
+     * Create a operations wrapper around {@code dsg}.
+     * The {@link Context} of the wrapper is the context of the {@code dsg}. 
+     */
     public DatasetGraphWrapper(DatasetGraph dsg) {
+        this(dsg, (dsg == null) ? null : dsg.getContext());
+    }
+
+    /**
+     * Create a operations wrapper around {@code dsg} with {@code context}.
+     */
+    public DatasetGraphWrapper(DatasetGraph dsg, Context context) {
         this.dsg = dsg;
+        this.context = context;
     }
 
     @Override
@@ -180,7 +194,7 @@ public class DatasetGraphWrapper implements DatasetGraph, Sync
 
     @Override
     public Context getContext()
-    { return getR().getContext(); }
+    { return getCxt(); }
 
     @Override
     public long size()

http://git-wip-us.apache.org/repos/asf/jena/blob/1b0a78ca/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphWrapperView.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphWrapperView.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphWrapperView.java
index 181ace1..dd7e705 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphWrapperView.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphWrapperView.java
@@ -22,7 +22,7 @@ import org.apache.jena.sparql.engine.QueryEngineFactoryWrapper;
 
 /** 
  *  Marker interface that indicates a DatasetGraphWrapper
- *  is one that defined a different view on the base dataset data.
+ *  is one that defines a different view on the base dataset data.
  *  Hence, query should not access the wrapped dataset.
  *  
  *  @see QueryEngineFactoryWrapper

http://git-wip-us.apache.org/repos/asf/jena/blob/1b0a78ca/jena-arq/src/main/java/org/apache/jena/sparql/core/DynamicDatasets.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/DynamicDatasets.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/DynamicDatasets.java
index d394dfb..d610bb6 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/core/DynamicDatasets.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/DynamicDatasets.java
@@ -25,6 +25,7 @@ import java.util.Set;
 
 import org.apache.jena.graph.Graph ;
 import org.apache.jena.graph.Node ;
+import org.apache.jena.graph.compose.Union;
 import org.apache.jena.query.Dataset ;
 import org.apache.jena.query.DatasetFactory ;
 import org.apache.jena.sparql.ARQConstants ;
@@ -64,16 +65,32 @@ public class DynamicDatasets
     
     /** Given a DatasetGraph and a query, form a DatasetGraph that 
      * is the dynamic dataset from the collection of graphs from the dataset
-     * that go to make up the default graph (union) and named graphs.  
+     * that go to make up the default graph and named graphs.  
      */
     public static DatasetGraph dynamicDataset(Collection<Node> defaultGraphs, Collection<Node> namedGraphs, DatasetGraph dsg, boolean defaultUnionGraph)
-    {
-        Graph dft = new GraphUnionRead(dsg, defaultGraphs) ;
-        DatasetGraph dsg2 = new DatasetGraphMapLink(dft) ;
+   {
+        Graph dft;
+        if ( defaultUnionGraph || defaultGraphs.contains(Quad.unionGraph) ) {
+            if ( defaultGraphs.contains(Quad.defaultGraphIRI) )
+                dft = new Union(dsg.getUnionGraph(), dsg.getDefaultGraph());
+            else
+                // Any other FROM graphs don't matter - they are in the union graph.
+                dft = dsg.getUnionGraph();
+        } else
+            dft = new GraphUnionRead(dsg, defaultGraphs);
+        
+        DatasetGraph dsg2 = new DatasetGraphMapLink(dft);
         
         // The named graphs.
         for ( Node gn : namedGraphs )
         {
+            if ( Quad.isUnionGraph(gn) ) {
+                // Special case - don't put an explicitly named union graph into the name
+                // graphs because union is an operation over all named graphs ... which
+                // includes itself.
+                // In practical terms, it can lead to stackoveflow in execution.  
+                continue;
+            }
             Graph g = GraphOps.getGraph(dsg, gn) ;
             if ( g != null )
                 dsg2.addGraph(gn, g) ;
@@ -82,50 +99,27 @@ public class DynamicDatasets
         if ( dsg.getContext() != null )
             dsg2.getContext().putAll(dsg.getContext()) ;
 
-        if ( defaultUnionGraph && defaultGraphs.size() == 0 )
-        {
-            // Create a union graph - there were no defaultGraphs explicitly named.
-            Graph unionGraph = new GraphUnionRead(dsg, namedGraphs) ;
-            dsg2.setDefaultGraph(unionGraph) ;
-        }
-
-        // read-only, <urn:x-arq:DefaultGraph> and <urn:x-arq:UnionGraph> processing.
-        dsg2 = new DynamicDatasetGraph(dsg2) ;
+        // Wrap with marker.
+        dsg2 = new DynamicDatasetGraph(dsg2, dsg);
+        
         // Record what we've done.
-        // c.f. "ARQConstants.sysDatasetDescription" which is used to pass in a  DatasetDescription
+        // c.f. "ARQConstants.sysDatasetDescription" which is used to pass in a DatasetDescription
         dsg2.getContext().set(ARQConstants.symDatasetDefaultGraphs, defaultGraphs) ;
         dsg2.getContext().set(ARQConstants.symDatasetNamedGraphs,   namedGraphs) ;
         return dsg2 ;
     }
-    
-    public static class DynamicDatasetGraph extends DatasetGraphReadOnly
-    {
-        public DynamicDatasetGraph(DatasetGraph dsg) {
-            super(dsg) ;
-        }
 
-        private Graph unionGraph = null ;
+    // DatasetGraphWrapperView
+    public static class DynamicDatasetGraph extends DatasetGraphReadOnly {
+        private final DatasetGraph projected;
 
-        @Override
-        public boolean containsGraph(Node graphNode) {
-            if ( Quad.isUnionGraph(graphNode) ) return true ;
-            if ( Quad.isDefaultGraphExplicit(graphNode)) return true ;
-            return super.containsGraph(graphNode) ;
+        public DynamicDatasetGraph(DatasetGraph viewDSG, DatasetGraph baseDSG) {
+            super(viewDSG, baseDSG.getContext().copy());
+            this.projected = baseDSG;
         }
-
-        // See also the GraphOps
-        @Override
-        public Graph getGraph(Node graphNode)
-        {
-            if ( Quad.isUnionGraph(graphNode) ) {
-                if ( unionGraph == null )
-                    unionGraph = GraphOps.unionGraph(super.getWrapped()) ;
-                return unionGraph ;
-            }
-            if ( Quad.isDefaultGraph(graphNode))
-                return getDefaultGraph() ;
-
-            return super.getGraph(graphNode) ;
+        
+        public DatasetGraph getProjected() {
+            return projected;
         }
     }
 }

http://git-wip-us.apache.org/repos/asf/jena/blob/1b0a78ca/jena-arq/src/test/java/org/apache/jena/sparql/core/AbstractTestDynamicDataset.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/core/AbstractTestDynamicDataset.java b/jena-arq/src/test/java/org/apache/jena/sparql/core/AbstractTestDynamicDataset.java
index fcf5fbe..ca6d503 100644
--- a/jena-arq/src/test/java/org/apache/jena/sparql/core/AbstractTestDynamicDataset.java
+++ b/jena-arq/src/test/java/org/apache/jena/sparql/core/AbstractTestDynamicDataset.java
@@ -120,6 +120,90 @@ public abstract class AbstractTestDynamicDataset extends BaseTest
                                                  2, dataset) ; 
                                      }
 
+    // -- Union graph.
+    
+    // No FROM <union> the underlying dataset.
+    @Test public void dynamic_union_1() { 
+        testCount("SELECT * FROM <urn:x-arq:UnionGraph> { ?s <uri:p> ?o }", 5, dataset) ; 
+    } 
+    
+    // Should be able to see two graphs in the union.
+    @Test public void dynamic_union_2() {
+        testCount("SELECT * FROM NAMED <graph:1> FROM NAMED <graph:2> FROM <graph:3>" + 
+                  "{ GRAPH <urn:x-arq:UnionGraph> { ?s <uri:p> ?o } }",
+            2, dataset);
+    }
+
+    @Test public void dynamic_union_3() {
+        testCount("SELECT * FROM NAMED <urn:x-arq:UnionGraph> { GRAPH <urn:x-arq:UnionGraph> { } }", 1, dataset);
+    }
+    
+    // The union graph isn't in the named set, even if placed there explicitly.
+    @Test
+    public void dynamic_union_4() {
+        testCount("SELECT * FROM NAMED <urn:x-arq:UnionGraph> { GRAPH ?g { } }", 0, dataset);
+    }
+
+    @Test
+    public void dynamic_union5() {
+        testCount("SELECT * " + "FROM NAMED <urn:x-arq:UnionGraph> " + "{ GRAPH <urn:x-arq:UnionGraph> { ?s <uri:p> ?o } }", 0, dataset);
+    }
+
+    // GRAPH <union> is the union over the view dataset (FROM NAMED)
+    @Test
+    public void dynamic_union_6() {
+        testCount("SELECT * " + "FROM NAMED <urn:x-arq:UnionGraph> " + "FROM NAMED <graph:4> "
+                  + "{ GRAPH <urn:x-arq:UnionGraph> { ?s <uri:p> ?o } }",
+            1, dataset);
+    }
+
+    // -- dft graph
+
+    @Test
+    public void dynamic_dft_1() {
+        testCount("SELECT * FROM <urn:x-arq:DefaultGraph> { ?s <uri:p> 0 }", 1, dataset);
+    }
+
+    @Test
+    public void dynamic_dft_2() {
+        testCount("SELECT * FROM NAMED <urn:x-arq:DefaultGraph> { ?s <uri:p> 0 }", 0, dataset);
+    }
+
+    @Test
+    public void dynamic_dft_3() {
+        testCount("SELECT * FROM NAMED <urn:x-arq:DefaultGraph> { GRAPH ?g { } }",
+            1, dataset);
+    }
+
+    // No FROM -> empty default.
+    @Test
+    public void dynamic_dft_4() {
+        testCount("SELECT * FROM NAMED <urn:x-arq:DefaultGraph> { GRAPH ?g { ?s <uri:p> 0 } }",
+            0, dataset);
+    }
+
+    // No FROM -> empty default.
+    @Test
+    public void dynamic_dft_5() {
+        testCount("SELECT * FROM NAMED <urn:x-arq:DefaultGraph> "+
+                  "{ GRAPH <urn:x-arq:DefaultGraph> { ?s <uri:p> 0 } }",
+                  0, dataset);
+    }
+
+    @Test
+    public void dynamic_dft_6() {
+        testCount("SELECT * " + "FROM <graph:1> FROM <graph:2> " + "FROM NAMED <urn:x-arq:DefaultGraph> "+
+                  "{ GRAPH ?g { ?s <uri:p> ?o .FILTER ( ?o IN ( 1, 2) ) } }",
+                  2, dataset);
+    }
+
+    @Test
+    public void dynamic_dft_7() {
+        testCount("SELECT * " + "FROM <graph:1> FROM <graph:2> " + "FROM NAMED <urn:x-arq:DefaultGraph> "+
+                  "{ GRAPH <urn:x-arq:DefaultGraph> { ?s <uri:p> ?o . FILTER ( ?o IN ( 1, 2) ) } }",
+                  2, dataset);
+    }
+    
     private static void testCount(String queryString, int expected, Dataset ds)
     {
         Query query = QueryFactory.create(queryString) ;

http://git-wip-us.apache.org/repos/asf/jena/blob/1b0a78ca/jena-arq/src/test/java/org/apache/jena/sparql/core/TS_Core.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/core/TS_Core.java b/jena-arq/src/test/java/org/apache/jena/sparql/core/TS_Core.java
index fcdab02..088c2c9 100644
--- a/jena-arq/src/test/java/org/apache/jena/sparql/core/TS_Core.java
+++ b/jena-arq/src/test/java/org/apache/jena/sparql/core/TS_Core.java
@@ -27,7 +27,7 @@ import org.junit.runners.Suite ;
     , TestDatasetGraphMem.class
     , TestDatasetGraphMemTriplesQuads.class
     , TestDatasetGeneral.class
-    // Not ready , TestDynamicDatasetMem.class
+    , TestDynamicDatasetMem.class
     , TestDatasetGraphsRegular.class
     , TestDatasetGraphCopyAdd.class
     , TestGraphOverDatasetMem.class

http://git-wip-us.apache.org/repos/asf/jena/blob/1b0a78ca/jena-arq/src/test/java/org/apache/jena/sparql/core/TestDynamicDatasetMem.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/core/TestDynamicDatasetMem.java b/jena-arq/src/test/java/org/apache/jena/sparql/core/TestDynamicDatasetMem.java
index 879d9ba..3cbdb9c 100644
--- a/jena-arq/src/test/java/org/apache/jena/sparql/core/TestDynamicDatasetMem.java
+++ b/jena-arq/src/test/java/org/apache/jena/sparql/core/TestDynamicDatasetMem.java
@@ -29,7 +29,7 @@ import org.junit.runners.Parameterized ;
 import org.junit.runners.Parameterized.Parameters ;
 
 /** <b>This class is not in the test suite (it tests for currently unavailable features)</b>.
- * TDB does support this feature and uses AbstractTestDynamicDatase
+ * TDB does support this feature and uses AbstractTestDynamicDatabase
  */
 @RunWith(Parameterized.class)
 public class TestDynamicDatasetMem extends AbstractTestDynamicDataset

http://git-wip-us.apache.org/repos/asf/jena/blob/1b0a78ca/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/store/DatasetGraphSwitchable.java
----------------------------------------------------------------------
diff --git a/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/store/DatasetGraphSwitchable.java b/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/store/DatasetGraphSwitchable.java
index aec485d..ba1f7d8 100644
--- a/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/store/DatasetGraphSwitchable.java
+++ b/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/store/DatasetGraphSwitchable.java
@@ -48,7 +48,7 @@ public class DatasetGraphSwitchable extends DatasetGraphWrapper
     
     public DatasetGraphSwitchable(Path base, Location location, DatasetGraph dsg) {
         // Don't use the slot in datasetGraphWrapper - use the AtomicReference
-        super(null) ;
+        super(null, dsg.getContext()) ;
         dsgx.set(dsg);
         this.basePath = base;
         this.location = location; 

http://git-wip-us.apache.org/repos/asf/jena/blob/1b0a78ca/jena-db/jena-tdb2/src/test/java/org/apache/jena/tdb2/store/TestDynamicDatasetTDB.java
----------------------------------------------------------------------
diff --git a/jena-db/jena-tdb2/src/test/java/org/apache/jena/tdb2/store/TestDynamicDatasetTDB.java b/jena-db/jena-tdb2/src/test/java/org/apache/jena/tdb2/store/TestDynamicDatasetTDB.java
index 0248314..eb6b2a0 100644
--- a/jena-db/jena-tdb2/src/test/java/org/apache/jena/tdb2/store/TestDynamicDatasetTDB.java
+++ b/jena-db/jena-tdb2/src/test/java/org/apache/jena/tdb2/store/TestDynamicDatasetTDB.java
@@ -21,7 +21,6 @@ package org.apache.jena.tdb2.store;
 import org.apache.jena.query.Dataset ;
 import org.apache.jena.query.ReadWrite ;
 import org.apache.jena.sparql.core.AbstractTestDynamicDataset ;
-import org.apache.jena.tdb2.TDB2;
 import org.apache.jena.tdb2.junit.TL;
 
 public class TestDynamicDatasetTDB extends AbstractTestDynamicDataset
@@ -36,10 +35,5 @@ public class TestDynamicDatasetTDB extends AbstractTestDynamicDataset
     
     @Override
     protected void releaseDataset(Dataset ds) { ds.abort(); TL.expel(ds); }
-
-    protected void startDynamicAndUnionTest()    { TDB2.getContext().setTrue(TDB2.symUnionDefaultGraph) ; }
-
-    protected void finishDynamicAndUnionTest()   { TDB2.getContext().unset(TDB2.symUnionDefaultGraph) ; }
-
 }
 

http://git-wip-us.apache.org/repos/asf/jena/blob/1b0a78ca/jena-tdb/src/test/java/org/apache/jena/tdb/store/TestDynamicDatasetTDB.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/test/java/org/apache/jena/tdb/store/TestDynamicDatasetTDB.java b/jena-tdb/src/test/java/org/apache/jena/tdb/store/TestDynamicDatasetTDB.java
index 1a684f6..2aaedda 100644
--- a/jena-tdb/src/test/java/org/apache/jena/tdb/store/TestDynamicDatasetTDB.java
+++ b/jena-tdb/src/test/java/org/apache/jena/tdb/store/TestDynamicDatasetTDB.java
@@ -20,7 +20,6 @@ package org.apache.jena.tdb.store;
 
 import org.apache.jena.query.Dataset ;
 import org.apache.jena.sparql.core.AbstractTestDynamicDataset ;
-import org.apache.jena.tdb.TDB ;
 import org.apache.jena.tdb.TDBFactory ;
 
 public class TestDynamicDatasetTDB extends AbstractTestDynamicDataset
@@ -33,9 +32,5 @@ public class TestDynamicDatasetTDB extends AbstractTestDynamicDataset
     
     @Override
     protected void releaseDataset(Dataset ds) {}
-    
-    protected void startDynamicAndUnionTest()    { TDB.getContext().setTrue(TDB.symUnionDefaultGraph) ; }
-
-    protected void finishDynamicAndUnionTest()   { TDB.getContext().unset(TDB.symUnionDefaultGraph) ; }
 }