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