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 2017/12/07 14:27:17 UTC

[1/9] jena git commit: JENA-1430: Read quads for ja:data by filename

Repository: jena
Updated Branches:
  refs/heads/master e512f51b1 -> f987d61f3


JENA-1430: Read quads for ja:data by filename


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

Branch: refs/heads/master
Commit: d174ec04dccb205de96e63c775e01f948380f8cc
Parents: bd58437
Author: Andy Seaborne <an...@apache.org>
Authored: Mon Nov 20 10:57:01 2017 +0000
Committer: Andy Seaborne <an...@apache.org>
Committed: Mon Nov 20 17:31:47 2017 +0000

----------------------------------------------------------------------
 .../core/assembler/InMemDatasetAssembler.java   | 35 +++++++++-----------
 .../jena/sparql/util/graph/GraphUtils.java      | 18 ++++++++++
 .../assembler/TestInMemDatasetAssembler.java    | 32 +++++++++++++++---
 jena-fuseki2/examples/fuseki-in-mem-txn.ttl     | 24 ++++++++++++++
 4 files changed, 86 insertions(+), 23 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/d174ec04/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/InMemDatasetAssembler.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/InMemDatasetAssembler.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/InMemDatasetAssembler.java
index a79779f..b70be2a 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/InMemDatasetAssembler.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/InMemDatasetAssembler.java
@@ -20,12 +20,12 @@ package org.apache.jena.sparql.core.assembler;
 
 import static org.apache.jena.assembler.JA.data;
 import static org.apache.jena.query.DatasetFactory.createTxnMem;
-import static org.apache.jena.query.ReadWrite.WRITE;
 import static org.apache.jena.riot.RDFDataMgr.read;
 import static org.apache.jena.sparql.core.assembler.AssemblerUtils.setContext;
 import static org.apache.jena.sparql.core.assembler.DatasetAssemblerVocab.pGraphName;
 import static org.apache.jena.sparql.core.assembler.DatasetAssemblerVocab.pNamedGraph;
 import static org.apache.jena.sparql.util.graph.GraphUtils.getAsStringValue;
+import static org.apache.jena.sparql.util.graph.GraphUtils.multiValueAsString;
 import static org.apache.jena.sparql.util.graph.GraphUtils.multiValueResource;
 
 import org.apache.jena.assembler.Assembler;
@@ -33,6 +33,7 @@ import org.apache.jena.assembler.Mode;
 import org.apache.jena.assembler.assemblers.AssemblerBase;
 import org.apache.jena.query.Dataset;
 import org.apache.jena.rdf.model.Resource;
+import org.apache.jena.system.Txn;
 
 /**
  * An {@link Assembler} that creates in-memory {@link Dataset}s.
@@ -49,25 +50,21 @@ public class InMemDatasetAssembler extends AssemblerBase implements Assembler {
 		final Dataset dataset = createTxnMem();
 		setContext(root, dataset.getContext());
 
-		dataset.begin(WRITE);
-
-		// load data into the default graph
-		if (root.hasProperty(data)) {
-		    multiValueResource(root, data)
-				.forEach(defaultGraphDocument -> read(dataset, defaultGraphDocument.getURI()));
-		}
-
-		// load data into named graphs
-		multiValueResource(root, pNamedGraph).forEach(namedGraphResource -> {
-			final String graphName = getAsStringValue(namedGraphResource, pGraphName);
-			if (namedGraphResource.hasProperty(data)) {
-			    multiValueResource(namedGraphResource, data)
-			        .forEach(namedGraphData -> read(dataset.getNamedModel(graphName), namedGraphData.getURI()));
-			}
+		Txn.executeWrite(dataset, ()->{ 
+    		// Load data into the default graph
+		    // This also loads quads into the dataset.
+    		multiValueAsString(root, data)
+    		    .forEach(dataURI -> read(dataset, dataURI));
+    
+    		// load data into named graphs
+    		multiValueResource(root, pNamedGraph).forEach(namedGraphResource -> {
+    			final String graphName = getAsStringValue(namedGraphResource, pGraphName);
+    			if (namedGraphResource.hasProperty(data)) {
+    			    multiValueAsString(namedGraphResource, data)
+    			        .forEach(namedGraphData -> read(dataset.getNamedModel(graphName), namedGraphData));
+    			}
+    		});
 		});
-
-		dataset.commit();
-		dataset.end();
 		return dataset;
 	}
 }

http://git-wip-us.apache.org/repos/asf/jena/blob/d174ec04/jena-arq/src/main/java/org/apache/jena/sparql/util/graph/GraphUtils.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/util/graph/GraphUtils.java b/jena-arq/src/main/java/org/apache/jena/sparql/util/graph/GraphUtils.java
index 719fe21..3d907bd 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/util/graph/GraphUtils.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/util/graph/GraphUtils.java
@@ -66,6 +66,24 @@ public class GraphUtils {
         }
         return values ;
     }
+    
+    /** Get a list of the URIs (as strings) and strings
+     *  @see #getAsStringValue
+     */
+    public static List<String> multiValueAsString(Resource r, Property p) {
+        List<RDFNode> nodes = multiValue(r, p) ;
+        List<String> values = new ArrayList<>() ;
+
+        for ( RDFNode n : nodes ) {
+            if ( n.isLiteral() ) {
+                values.add(((Literal)n).getString()) ;
+            }
+            if ( n.isURIResource() ) {
+                values.add(((Resource)n).getURI());
+            }
+        }
+        return values ;
+    }
 
     public static List<RDFNode> multiValue(Resource r, Property p) {
         List<RDFNode> values = new ArrayList<>() ;

http://git-wip-us.apache.org/repos/asf/jena/blob/d174ec04/jena-arq/src/test/java/org/apache/jena/sparql/core/assembler/TestInMemDatasetAssembler.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/core/assembler/TestInMemDatasetAssembler.java b/jena-arq/src/test/java/org/apache/jena/sparql/core/assembler/TestInMemDatasetAssembler.java
index 29644b6..6d88214 100644
--- a/jena-arq/src/test/java/org/apache/jena/sparql/core/assembler/TestInMemDatasetAssembler.java
+++ b/jena-arq/src/test/java/org/apache/jena/sparql/core/assembler/TestInMemDatasetAssembler.java
@@ -22,7 +22,6 @@ import static java.nio.file.Files.createTempFile;
 import static org.apache.jena.assembler.JA.MemoryModel ;
 import static org.apache.jena.assembler.JA.data ;
 import static org.apache.jena.assembler.Mode.DEFAULT;
-import static org.apache.jena.query.DatasetFactory.createTxnMem;
 import static org.apache.jena.rdf.model.ModelFactory.createDefaultModel;
 import static org.apache.jena.riot.Lang.NQUADS;
 import static org.apache.jena.riot.RDFDataMgr.write;
@@ -45,7 +44,10 @@ import org.apache.jena.rdf.model.Model;
 import org.apache.jena.rdf.model.Resource;
 import org.apache.jena.rdf.model.Statement;
 import org.apache.jena.sparql.core.DatasetGraph;
+import org.apache.jena.sparql.core.DatasetGraphFactory;
 import org.apache.jena.sparql.core.Quad;
+import org.apache.jena.sparql.sse.SSE;
+import org.apache.jena.sparql.util.IsoMatcher;
 import org.junit.Assert;
 import org.junit.Test;
 
@@ -113,7 +115,7 @@ public class TestInMemDatasetAssembler extends Assert {
 	}
 
 	@Test
-	public void directDataLinkToQuads() throws IOException {
+	public void directDataQuadsURI() throws IOException {
 		// first make a file of quads to load later
 		final Model model = createDefaultModel();
 		final Path quads = createTempFile("quadExample", ".nq");
@@ -122,7 +124,7 @@ public class TestInMemDatasetAssembler extends Assert {
 		simpleExample.addProperty(type, DatasetAssemblerVocab.tDatasetTxnMem);
 		simpleExample.addProperty(data, quadsURI);
 
-		final DatasetGraph dsg = createTxnMem().asDatasetGraph();
+		final DatasetGraph dsg = DatasetGraphFactory.createTxnMem();
 		model.listStatements().mapWith(Statement::asTriple).mapWith(t -> new Quad(quadsURI.asNode(), t))
 				.forEachRemaining(dsg::add);
 		try (OutputStream out = new FileOutputStream(quads.toFile())) {
@@ -136,7 +138,29 @@ public class TestInMemDatasetAssembler extends Assert {
 		assertTrue(assembledNamedModel.contains(assembledNamedModel.createStatement(simpleExample, data, quadsURI)));
 	}
 
-	@Test(expected = CannotConstructException.class)
+    @Test
+    public void directDataQuadsString() throws IOException {
+        // first make a file of quads to load later
+        DatasetGraph dsgData = DatasetGraphFactory.createTxnMem();
+        dsgData.add(SSE.parseQuad("(_ :s1 :p1 :o1)"));
+        dsgData.add(SSE.parseQuad("(:gn :s2 :p2 :o2)"));
+        Path quads = createTempFile("quadExample2", ".nq");
+        String dataFileName = quads.toFile().toURI().toString();
+        try (OutputStream out = new FileOutputStream(quads.toFile())) {
+            write(out, dsgData, NQUADS);
+        }
+        
+        Model assemblerModel = createDefaultModel();
+        Resource simpleExample2 = assemblerModel.createResource("test:simpleExample2");
+        simpleExample2.addProperty(type, DatasetAssemblerVocab.tDatasetTxnMem) ;
+        simpleExample2.addProperty(data, dataFileName);
+        
+        final Dataset dataset = assemble(simpleExample2);
+        
+        assertTrue(IsoMatcher.isomorphic(dsgData, dataset.asDatasetGraph()));
+    }
+
+    @Test(expected = CannotConstructException.class)
 	public void wrongKindOfAssemblerDefinition() {
 		final Model model = createDefaultModel();
 		final Resource badExample = model.createResource("test:badExample");

http://git-wip-us.apache.org/repos/asf/jena/blob/d174ec04/jena-fuseki2/examples/fuseki-in-mem-txn.ttl
----------------------------------------------------------------------
diff --git a/jena-fuseki2/examples/fuseki-in-mem-txn.ttl b/jena-fuseki2/examples/fuseki-in-mem-txn.ttl
new file mode 100644
index 0000000..340d53f
--- /dev/null
+++ b/jena-fuseki2/examples/fuseki-in-mem-txn.ttl
@@ -0,0 +1,24 @@
+## Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0
+
+@prefix :        <#> .
+@prefix fuseki:  <http://jena.apache.org/fuseki#> .
+@prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix ja:      <http://jena.hpl.hp.com/2005/11/Assembler#> .
+@prefix tdb:     <http://jena.hpl.hp.com/2008/tdb#> .
+
+<#serviceInMemory> rdf:type fuseki:Service;
+    rdfs:label                   "In-memory, trasnactioal dataset.";
+    fuseki:name                  "ds";
+    fuseki:serviceQuery          "query";
+    fuseki:serviceQuery          "sparql";
+    fuseki:serviceUpdate         "update";
+    fuseki:serviceUpload         "upload" ;
+    fuseki:serviceReadGraphStore "data" ;
+    fuseki:serviceReadGraphStore "get" ;
+    fuseki:dataset <#dataset> ;
+.
+
+<#dataset> rdf:type ja:DatasetTxnMem;
+   ja:data <file:data.trig>;
+.


[7/9] jena git commit: Improve the message.

Posted by an...@apache.org.
Improve the message.

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

Branch: refs/heads/master
Commit: e3993206f0aa90496dca6f370c1cc0087a4cdba2
Parents: a49e997
Author: Andy Seaborne <an...@apache.org>
Authored: Thu Dec 7 13:55:28 2017 +0000
Committer: Andy Seaborne <an...@apache.org>
Committed: Thu Dec 7 13:55:28 2017 +0000

----------------------------------------------------------------------
 .../jena/assembler/exceptions/CannotConstructException.java   | 7 +++++++
 1 file changed, 7 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/e3993206/jena-core/src/main/java/org/apache/jena/assembler/exceptions/CannotConstructException.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/assembler/exceptions/CannotConstructException.java b/jena-core/src/main/java/org/apache/jena/assembler/exceptions/CannotConstructException.java
index 132768a..88e1f4c 100644
--- a/jena-core/src/main/java/org/apache/jena/assembler/exceptions/CannotConstructException.java
+++ b/jena-core/src/main/java/org/apache/jena/assembler/exceptions/CannotConstructException.java
@@ -43,6 +43,13 @@ public class CannotConstructException extends AssemblerException
 
     private static String constructMessage( Class<?>assemblerClass, Resource root, Resource... types )
         {
+        if ( types.length == 1) {
+            return 
+                "the assembler " + getClassName( assemblerClass )
+                + " cannot construct the object named " + nice( root )
+                + " because it is not of rdf:type " + nice(types[0]);
+        }
+        
         return 
             "the assembler " + getClassName( assemblerClass )
             + " cannot construct the object named " + nice( root )


[5/9] jena git commit: JENA-1340: Merge commit 'refs/pull/314/head' of github.com:apache/jena

Posted by an...@apache.org.
JENA-1340: Merge commit 'refs/pull/314/head' of github.com:apache/jena

This closes #314.


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

Branch: refs/heads/master
Commit: 74cbc638655a4661e13ad7a06ccd619e328c7ee7
Parents: e512f51 10ff0be
Author: Andy Seaborne <an...@apache.org>
Authored: Thu Dec 7 13:43:39 2017 +0000
Committer: Andy Seaborne <an...@apache.org>
Committed: Thu Dec 7 13:43:39 2017 +0000

----------------------------------------------------------------------
 .../sparql/core/assembler/DatasetAssembler.java |  57 +++++----
 .../core/assembler/DatasetAssemblerVocab.java   |   2 +-
 .../core/assembler/InMemDatasetAssembler.java   |  45 +++----
 .../jena/sparql/util/graph/GraphUtils.java      |  18 +++
 .../sparql/core/assembler/TS_Assembler.java     |   2 +-
 .../core/assembler/TestDatasetAssembler.java    | 122 +++++++++++++++++++
 .../assembler/TestInMemDatasetAssembler.java    |  83 ++++---------
 .../assembler/assemblers/AssemblerBase.java     |  15 ++-
 .../exceptions/CannotConstructException.java    |  22 ++--
 .../jena/assembler/test/AssemblerTestBase.java  |   3 +-
 jena-fuseki2/examples/fuseki-in-mem-txn.ttl     |  24 ++++
 11 files changed, 263 insertions(+), 130 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/74cbc638/jena-arq/src/main/java/org/apache/jena/sparql/util/graph/GraphUtils.java
----------------------------------------------------------------------


[4/9] jena git commit: Better, clearer handling of mixed assembling

Posted by an...@apache.org.
Better, clearer handling of mixed assembling


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

Branch: refs/heads/master
Commit: 10ff0beed4d44a5c61c95d280c4e6ac306c22bba
Parents: 462b5a3
Author: ajs6f <aj...@apache.org>
Authored: Wed Nov 22 11:28:13 2017 -0500
Committer: ajs6f <aj...@apache.org>
Committed: Wed Nov 22 11:28:13 2017 -0500

----------------------------------------------------------------------
 .../sparql/core/assembler/DatasetAssembler.java | 19 ++++-----
 .../core/assembler/InMemDatasetAssembler.java   |  5 +--
 .../core/assembler/TestDatasetAssembler.java    | 44 ++++++++++----------
 .../assembler/TestInMemDatasetAssembler.java    | 10 ++++-
 .../assembler/assemblers/AssemblerBase.java     | 15 ++++---
 .../exceptions/CannotConstructException.java    | 22 +++++-----
 .../jena/assembler/test/AssemblerTestBase.java  |  3 +-
 7 files changed, 66 insertions(+), 52 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/10ff0bee/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/DatasetAssembler.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/DatasetAssembler.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/DatasetAssembler.java
index ec85899..407ed5b 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/DatasetAssembler.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/DatasetAssembler.java
@@ -19,8 +19,8 @@
 package org.apache.jena.sparql.core.assembler ;
 
 import static org.apache.jena.assembler.JA.data;
-import static org.apache.jena.riot.RDFDataMgr.read;
-import static org.apache.jena.sparql.util.graph.GraphUtils.multiValueAsString;
+import static org.apache.jena.sparql.core.assembler.DatasetAssemblerVocab.pNamedGraph;
+import static org.apache.jena.sparql.util.graph.GraphUtils.multiValueResource;
 
 import java.util.List ;
 
@@ -30,9 +30,7 @@ import org.apache.jena.assembler.assemblers.AssemblerBase ;
 import org.apache.jena.atlas.logging.Log ;
 import org.apache.jena.query.Dataset ;
 import org.apache.jena.query.DatasetFactory ;
-import org.apache.jena.rdf.model.Model ;
-import org.apache.jena.rdf.model.RDFNode ;
-import org.apache.jena.rdf.model.Resource ;
+import org.apache.jena.rdf.model.*;
 import org.apache.jena.sparql.graph.GraphFactory ;
 import org.apache.jena.sparql.util.FmtUtils ;
 import org.apache.jena.sparql.util.graph.GraphUtils ;
@@ -51,6 +49,10 @@ public class DatasetAssembler extends AssemblerBase implements Assembler {
 
     public Dataset createDataset(Assembler a, Resource root, Mode mode) {
         checkType(root, DatasetAssemblerVocab.tDataset);
+        // use TIM if quads are loaded or if all named Graphs are loaded via data property
+        final boolean allNamedGraphsLoadViaData = multiValueResource(root, pNamedGraph).stream().allMatch(g -> g.hasProperty(data));
+        if (root.hasProperty(data) || allNamedGraphsLoadViaData) return new InMemDatasetAssembler().open(a, root, mode);
+
         // -------- Default graph
         // Can use ja:graph or ja:defaultGraph
         Resource dftGraph = GraphUtils.getResourceValue(root, DatasetAssemblerVocab.pDefaultGraph) ;
@@ -63,12 +65,9 @@ public class DatasetAssembler extends AssemblerBase implements Assembler {
         else
             // Assembler description did not define one.
             dftModel = GraphFactory.makeDefaultModel() ;
-        Dataset ds = DatasetFactory.create(dftModel) ;
+        Dataset ds = DatasetFactory.create(dftModel);
+
         Txn.executeWrite(ds, () -> {
-            // Load data into the default graph or quads into the dataset.
-            multiValueAsString(root, data)
-                .forEach(dataURI -> read(ds, dataURI));
-    
             // -------- Named graphs
             List<RDFNode> nodes = GraphUtils.multiValue(root, DatasetAssemblerVocab.pNamedGraph) ;
             for ( RDFNode n : nodes ) {

http://git-wip-us.apache.org/repos/asf/jena/blob/10ff0bee/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/InMemDatasetAssembler.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/InMemDatasetAssembler.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/InMemDatasetAssembler.java
index 792f382..83a8017 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/InMemDatasetAssembler.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/InMemDatasetAssembler.java
@@ -22,8 +22,7 @@ import static org.apache.jena.assembler.JA.data;
 import static org.apache.jena.query.DatasetFactory.createTxnMem;
 import static org.apache.jena.riot.RDFDataMgr.read;
 import static org.apache.jena.sparql.core.assembler.AssemblerUtils.setContext;
-import static org.apache.jena.sparql.core.assembler.DatasetAssemblerVocab.pGraphName;
-import static org.apache.jena.sparql.core.assembler.DatasetAssemblerVocab.pNamedGraph;
+import static org.apache.jena.sparql.core.assembler.DatasetAssemblerVocab.*;
 import static org.apache.jena.sparql.util.graph.GraphUtils.*;
 
 import org.apache.jena.assembler.Assembler;
@@ -43,7 +42,7 @@ public class InMemDatasetAssembler extends DatasetAssembler {
     
 	@Override
 	public Dataset open(final Assembler assembler, final Resource root, final Mode mode) {
-		checkType(root, DatasetAssemblerVocab.tMemoryDataset);
+		checkType(root, getType(), tDataset);
 		final Dataset dataset = createTxnMem();
 		setContext(root, dataset.getContext());
 

http://git-wip-us.apache.org/repos/asf/jena/blob/10ff0bee/jena-arq/src/test/java/org/apache/jena/sparql/core/assembler/TestDatasetAssembler.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/core/assembler/TestDatasetAssembler.java b/jena-arq/src/test/java/org/apache/jena/sparql/core/assembler/TestDatasetAssembler.java
index c65ab54..0515f97 100644
--- a/jena-arq/src/test/java/org/apache/jena/sparql/core/assembler/TestDatasetAssembler.java
+++ b/jena-arq/src/test/java/org/apache/jena/sparql/core/assembler/TestDatasetAssembler.java
@@ -74,28 +74,28 @@ public class TestDatasetAssembler extends Assert {
 
     @Test
     public void directDataQuadsURI() throws IOException {
-    	// first make a file of quads to load later
-    	final Model model = createDefaultModel();
-    	final Path quads = createTempFile("quadExample", ".nq");
-    	final Resource quadsURI = model.createResource(quads.toFile().toURI().toString());
-    	final Resource simpleExample = model.createResource("test:simpleExample");
-    	simpleExample.addProperty(type, assemblerType());
-    	simpleExample.addProperty(data, quadsURI);
-    
-    	final DatasetGraph dsg = DatasetGraphFactory.createTxnMem();
-        Txn.executeWrite(dsg, () ->
-            model.listStatements().mapWith(Statement::asTriple)
-                .mapWith(t -> new Quad(quadsURI.asNode(), t)).forEachRemaining(dsg::add));
-    
-    	try (OutputStream out = new FileOutputStream(quads.toFile())) {
-    		write(out, dsg, NQUADS);
-    	}
-    
-    	final Dataset dataset = assemble(simpleExample);
-    	final Model assembledDefaultModel = dataset.getDefaultModel();
-    	final Model assembledNamedModel = dataset.getNamedModel(quadsURI.getURI());
-    	assertTrue(assembledDefaultModel.isEmpty());
-    	assertTrue(assembledNamedModel.contains(assembledNamedModel.createStatement(simpleExample, data, quadsURI)));
+        	// first make a file of quads to load later
+        	final Model model = createDefaultModel();
+        	final Path quads = createTempFile("quadExample", ".nq");
+        	final Resource quadsURI = model.createResource(quads.toFile().toURI().toString());
+        	final Resource simpleExample = model.createResource("test:simpleExample");
+        	simpleExample.addProperty(type, assemblerType());
+        	simpleExample.addProperty(data, quadsURI);
+        
+        	final DatasetGraph dsg = DatasetGraphFactory.createTxnMem();
+            Txn.executeWrite(dsg, () ->
+                model.listStatements().mapWith(Statement::asTriple)
+                    .mapWith(t -> new Quad(quadsURI.asNode(), t)).forEachRemaining(dsg::add));
+        
+        	try (OutputStream out = new FileOutputStream(quads.toFile())) {
+        		write(out, dsg, NQUADS);
+        	}
+        
+        	final Dataset dataset = assemble(simpleExample);
+        	final Model assembledDefaultModel = dataset.getDefaultModel();
+        	final Model assembledNamedModel = dataset.getNamedModel(quadsURI.getURI());
+        	assertTrue(assembledDefaultModel.isEmpty());
+        	assertTrue(assembledNamedModel.contains(assembledNamedModel.createStatement(simpleExample, data, quadsURI)));
     }
 
     @Test

http://git-wip-us.apache.org/repos/asf/jena/blob/10ff0bee/jena-arq/src/test/java/org/apache/jena/sparql/core/assembler/TestInMemDatasetAssembler.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/core/assembler/TestInMemDatasetAssembler.java b/jena-arq/src/test/java/org/apache/jena/sparql/core/assembler/TestInMemDatasetAssembler.java
index a4740e5..8ef7ab8 100644
--- a/jena-arq/src/test/java/org/apache/jena/sparql/core/assembler/TestInMemDatasetAssembler.java
+++ b/jena-arq/src/test/java/org/apache/jena/sparql/core/assembler/TestInMemDatasetAssembler.java
@@ -53,6 +53,15 @@ public class TestInMemDatasetAssembler extends TestDatasetAssembler {
     protected DatasetAssembler createAssembler() {
         return new InMemDatasetAssembler();
     }
+    
+    @Test
+    public void shouldAccept_tDataset_type() {
+        final Model model = createDefaultModel();
+        final Resource empty = model.createResource("test:empty");
+        empty.addProperty(type, DatasetAssemblerVocab.tDataset) ;
+        Dataset dataset = assemble(empty) ;
+        assertFalse(dataset.asDatasetGraph().find().hasNext()) ;
+    }
 
 	@Test
 	public void directDataLinkForDefaultAndNamedGraphs() throws IOException {
@@ -92,5 +101,4 @@ public class TestInMemDatasetAssembler extends TestDatasetAssembler {
 		assertEquals(namedGraphName.asNode(), graphNodes.next());
 		assertFalse(graphNodes.hasNext());
 	}
-
 }

http://git-wip-us.apache.org/repos/asf/jena/blob/10ff0bee/jena-core/src/main/java/org/apache/jena/assembler/assemblers/AssemblerBase.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/assembler/assemblers/AssemblerBase.java b/jena-core/src/main/java/org/apache/jena/assembler/assemblers/AssemblerBase.java
index e1f9bc7..b3ec1e4 100644
--- a/jena-core/src/main/java/org/apache/jena/assembler/assemblers/AssemblerBase.java
+++ b/jena-core/src/main/java/org/apache/jena/assembler/assemblers/AssemblerBase.java
@@ -63,11 +63,16 @@ public abstract class AssemblerBase implements Assembler
         throw new NotUniqueException( root, property );
         }
 
-    protected void checkType( Resource root, Resource type )
-        {
-        if (!root.hasProperty( RDF.type, type ))
-            throw new CannotConstructException( this.getClass(), root, type );
-        }
+    /**
+     * Throws {@link CannotConstructException} if the offered resource isn't any of the offered types.
+     * 
+     * @param root resource to check
+     * @param types types for which to check
+     */
+    protected void checkType( Resource root, Resource... types ) {
+        for (Resource type : types) if (root.hasProperty( RDF.type, type )) return;
+        throw new CannotConstructException( this.getClass(), root, types );
+    }
 
     @Override
     public Model openModel( Resource root, Mode mode )

http://git-wip-us.apache.org/repos/asf/jena/blob/10ff0bee/jena-core/src/main/java/org/apache/jena/assembler/exceptions/CannotConstructException.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/assembler/exceptions/CannotConstructException.java b/jena-core/src/main/java/org/apache/jena/assembler/exceptions/CannotConstructException.java
index 032265a..132768a 100644
--- a/jena-core/src/main/java/org/apache/jena/assembler/exceptions/CannotConstructException.java
+++ b/jena-core/src/main/java/org/apache/jena/assembler/exceptions/CannotConstructException.java
@@ -18,6 +18,9 @@
 
 package org.apache.jena.assembler.exceptions;
 
+import static java.util.Arrays.stream;
+import static java.util.stream.Collectors.joining;
+
 import org.apache.jena.assembler.Assembler ;
 import org.apache.jena.rdf.model.Resource ;
 
@@ -28,23 +31,22 @@ import org.apache.jena.rdf.model.Resource ;
 */
 public class CannotConstructException extends AssemblerException
     {
-    protected final Resource type;
+    protected final Resource[] types;
     protected final Class<?> assemblerClass;
     
-    public CannotConstructException( Class<?> assemblerClass, Resource root, Resource type )
+    public CannotConstructException( Class<?> assemblerClass, Resource root, Resource... types )
         {
-        super( root, constructMessage( assemblerClass, root, type ) );
-        this.type = type; 
+        super( root, constructMessage( assemblerClass, root, types ) );
+        this.types = types; 
         this.assemblerClass = assemblerClass;
         }
 
-    private static String constructMessage( Class<?>assemblerClass, Resource root, Resource type )
+    private static String constructMessage( Class<?>assemblerClass, Resource root, Resource... types )
         {
         return 
             "the assembler " + getClassName( assemblerClass )
             + " cannot construct the object named " + nice( root )
-            + " because it is not of rdf:type " + nice( type ) 
-            ;
+            + " because it is not any rdf:type of " + stream(types).map(AssemblerException::nice).collect(joining(", or "));
         }
     
     private static final String rootPrefix = getPackagePrefix( Assembler.class.getName() );
@@ -68,9 +70,9 @@ public class CannotConstructException extends AssemblerException
         { return assemblerClass; }
 
     /**
-        Answer the (alleged most-specific) type of the object that could not be
+        Answer the types of the object that could not be
         constructed.
     */
-    public Resource getType()
-        { return type; }
+    public Resource[] getTypes()
+        { return types; }
     }

http://git-wip-us.apache.org/repos/asf/jena/blob/10ff0bee/jena-core/src/test/java/org/apache/jena/assembler/test/AssemblerTestBase.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/assembler/test/AssemblerTestBase.java b/jena-core/src/test/java/org/apache/jena/assembler/test/AssemblerTestBase.java
index a315dad..c9403fc 100644
--- a/jena-core/src/test/java/org/apache/jena/assembler/test/AssemblerTestBase.java
+++ b/jena-core/src/test/java/org/apache/jena/assembler/test/AssemblerTestBase.java
@@ -18,6 +18,7 @@
 
 package org.apache.jena.assembler.test;
 
+import org.apache.commons.lang3.ArrayUtils;
 import org.apache.jena.assembler.* ;
 import org.apache.jena.assembler.assemblers.AssemblerBase ;
 import org.apache.jena.assembler.exceptions.CannotConstructException ;
@@ -125,7 +126,7 @@ public class AssemblerTestBase extends ModelTestBase
         catch (CannotConstructException e)
             {
             assertEquals( getAssemblerClass(), e.getAssemblerClass() );
-            assertEquals( type, e.getType() ); 
+            assertTrue( ArrayUtils.contains(e.getTypes(), type) ); 
             assertEquals( resource( "x" ), e.getRoot() );
             }
         }


[8/9] jena git commit: Use stream.

Posted by an...@apache.org.
Use stream.

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

Branch: refs/heads/master
Commit: f554233f63d5d373e1df60284b524141b8b225aa
Parents: e399320
Author: Andy Seaborne <an...@apache.org>
Authored: Thu Dec 7 13:58:40 2017 +0000
Committer: Andy Seaborne <an...@apache.org>
Committed: Thu Dec 7 13:58:40 2017 +0000

----------------------------------------------------------------------
 .../assembler/assemblers/AssemblerBase.java     | 22 ++++++++++++++++----
 1 file changed, 18 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/f554233f/jena-core/src/main/java/org/apache/jena/assembler/assemblers/AssemblerBase.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/assembler/assemblers/AssemblerBase.java b/jena-core/src/main/java/org/apache/jena/assembler/assemblers/AssemblerBase.java
index b3ec1e4..7045424 100644
--- a/jena-core/src/main/java/org/apache/jena/assembler/assemblers/AssemblerBase.java
+++ b/jena-core/src/main/java/org/apache/jena/assembler/assemblers/AssemblerBase.java
@@ -18,10 +18,22 @@
 
 package org.apache.jena.assembler.assemblers;
 
+import static java.util.Arrays.stream;
 import java.util.List;
-import org.apache.jena.assembler.* ;
-import org.apache.jena.assembler.exceptions.* ;
-import org.apache.jena.rdf.model.* ;
+
+import org.apache.jena.assembler.Assembler;
+import org.apache.jena.assembler.AssemblerHelp;
+import org.apache.jena.assembler.Mode;
+import org.apache.jena.assembler.exceptions.CannotConstructException;
+import org.apache.jena.assembler.exceptions.CannotLoadClassException;
+import org.apache.jena.assembler.exceptions.NotUniqueException;
+import org.apache.jena.assembler.exceptions.PropertyRequiredException;
+import org.apache.jena.rdf.model.Literal;
+import org.apache.jena.rdf.model.Model;
+import org.apache.jena.rdf.model.Property;
+import org.apache.jena.rdf.model.RDFNode;
+import org.apache.jena.rdf.model.Resource;
+import org.apache.jena.rdf.model.Statement;
 import org.apache.jena.shared.JenaException ;
 import org.apache.jena.system.JenaSystem ;
 import org.apache.jena.vocabulary.RDF ;
@@ -70,7 +82,9 @@ public abstract class AssemblerBase implements Assembler
      * @param types types for which to check
      */
     protected void checkType( Resource root, Resource... types ) {
-        for (Resource type : types) if (root.hasProperty( RDF.type, type )) return;
+        boolean hasType = stream(types).anyMatch(t->root.hasProperty( RDF.type, t ));
+        if ( hasType )
+            return;
         throw new CannotConstructException( this.getClass(), root, types );
     }
 


[6/9] jena git commit: Put in compatibility for ja:DatasetTxnMem.

Posted by an...@apache.org.
Put in compatibility for ja:DatasetTxnMem.


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

Branch: refs/heads/master
Commit: a49e997c6b3b2fd699d588b2ec0114337a2a0ae8
Parents: 74cbc63
Author: Andy Seaborne <an...@apache.org>
Authored: Thu Dec 7 13:55:11 2017 +0000
Committer: Andy Seaborne <an...@apache.org>
Committed: Thu Dec 7 13:55:11 2017 +0000

----------------------------------------------------------------------
 .../sparql/core/assembler/AssemblerUtils.java   |  8 ++--
 .../core/assembler/DatasetAssemblerVocab.java   |  3 ++
 .../core/assembler/InMemDatasetAssembler.java   | 43 ++++++++++----------
 3 files changed, 30 insertions(+), 24 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/a49e997c/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 5d77a36..c003500 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
@@ -51,14 +51,16 @@ public class AssemblerUtils
     
     static { JenaSystem.init() ; } 
     
+    @SuppressWarnings("deprecation")
     static public void init()
     {
         if ( initialized )
             return ;
         initialized = true ;
-        // Wire in the extension assemblers (extensions relative to the Jena assembler framework)
-        registerDataset(DatasetAssembler.getType(),         new DatasetAssembler()) ;
-        registerDataset(InMemDatasetAssembler.getType(),    new InMemDatasetAssembler()) ;
+        // Wire in the datasets assemblers
+        registerDataset(DatasetAssembler.getType(),             new DatasetAssembler()) ;
+        registerDataset(InMemDatasetAssembler.getType(),        new InMemDatasetAssembler()) ;
+        registerDataset(DatasetAssemblerVocab.tDatasetTxnMem,   new InMemDatasetAssembler()) ;
     }
     
     private static Model modelExtras = ModelFactory.createDefaultModel() ;

http://git-wip-us.apache.org/repos/asf/jena/blob/a49e997c/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/DatasetAssemblerVocab.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/DatasetAssemblerVocab.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/DatasetAssemblerVocab.java
index 1a2bc0c..6122eb9 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/DatasetAssemblerVocab.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/DatasetAssemblerVocab.java
@@ -31,7 +31,10 @@ public class DatasetAssemblerVocab
     // General dataset
     public static final Resource tDataset            = ResourceFactory.createResource(NS+"RDFDataset") ;
     // In-memory dataset
+    
     public static final Resource tMemoryDataset      = ResourceFactory.createResource(NS+"MemoryDataset") ;
+    /** @deprecated use {@link #tMemoryDataset} */
+    public static final Resource tDatasetTxnMem      = ResourceFactory.createResource(NS+"") ;
     public static final Resource tDatasetNull        = ResourceFactory.createResource(NS+"DatasetNull") ;
     
     public static final Property pDefaultGraph       = ResourceFactory.createProperty(NS, "defaultGraph") ;

http://git-wip-us.apache.org/repos/asf/jena/blob/a49e997c/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/InMemDatasetAssembler.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/InMemDatasetAssembler.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/InMemDatasetAssembler.java
index 83a8017..9e3717d 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/InMemDatasetAssembler.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/InMemDatasetAssembler.java
@@ -39,26 +39,27 @@ public class InMemDatasetAssembler extends DatasetAssembler {
     public static Resource getType() {
         return DatasetAssemblerVocab.tMemoryDataset ;
     }
-    
-	@Override
-	public Dataset open(final Assembler assembler, final Resource root, final Mode mode) {
-		checkType(root, getType(), tDataset);
-		final Dataset dataset = createTxnMem();
-		setContext(root, dataset.getContext());
 
-		Txn.executeWrite(dataset, ()->{ 
-        		// Load data into the default graph or quads into the dataset.
-        		multiValueAsString(root, data)
-        		    .forEach(dataURI -> read(dataset, dataURI));
-        
-        		// load data into named graphs
-        		multiValueResource(root, pNamedGraph).forEach(namedGraphResource -> {
-        			final String graphName = getAsStringValue(namedGraphResource, pGraphName);
-        			if (namedGraphResource.hasProperty(data))
-        			    multiValueAsString(namedGraphResource, data)
-        			        .forEach(namedGraphData -> read(dataset.getNamedModel(graphName), namedGraphData));
-        		});
-		});
-		return dataset;
-	}
+    @SuppressWarnings("deprecation")
+    @Override
+    public Dataset open(final Assembler assembler, final Resource root, final Mode mode) {
+        checkType(root, getType(), tDataset, DatasetAssemblerVocab.tDatasetTxnMem);
+        final Dataset dataset = createTxnMem();
+        setContext(root, dataset.getContext());
+
+        Txn.executeWrite(dataset, ()->{ 
+            // Load data into the default graph or quads into the dataset.
+            multiValueAsString(root, data)
+            .forEach(dataURI -> read(dataset, dataURI));
+
+            // load data into named graphs
+            multiValueResource(root, pNamedGraph).forEach(namedGraphResource -> {
+                final String graphName = getAsStringValue(namedGraphResource, pGraphName);
+                if (namedGraphResource.hasProperty(data))
+                    multiValueAsString(namedGraphResource, data)
+                    .forEach(namedGraphData -> read(dataset.getNamedModel(graphName), namedGraphData));
+            });
+        });
+        return dataset;
+    }
 }


[9/9] jena git commit: Fix URI

Posted by an...@apache.org.
Fix URI


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

Branch: refs/heads/master
Commit: f987d61f373e7922e9e80945e7b08b34825de358
Parents: f554233
Author: Andy Seaborne <an...@apache.org>
Authored: Thu Dec 7 14:23:23 2017 +0000
Committer: Andy Seaborne <an...@apache.org>
Committed: Thu Dec 7 14:23:23 2017 +0000

----------------------------------------------------------------------
 .../apache/jena/sparql/core/assembler/DatasetAssemblerVocab.java   | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/f987d61f/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/DatasetAssemblerVocab.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/DatasetAssemblerVocab.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/DatasetAssemblerVocab.java
index 6122eb9..d41028f 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/DatasetAssemblerVocab.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/DatasetAssemblerVocab.java
@@ -34,7 +34,7 @@ public class DatasetAssemblerVocab
     
     public static final Resource tMemoryDataset      = ResourceFactory.createResource(NS+"MemoryDataset") ;
     /** @deprecated use {@link #tMemoryDataset} */
-    public static final Resource tDatasetTxnMem      = ResourceFactory.createResource(NS+"") ;
+    public static final Resource tDatasetTxnMem      = ResourceFactory.createResource(NS+"DatasetTxnMem") ;
     public static final Resource tDatasetNull        = ResourceFactory.createResource(NS+"DatasetNull") ;
     
     public static final Property pDefaultGraph       = ResourceFactory.createProperty(NS, "defaultGraph") ;


[3/9] jena git commit: Correcting dataset type in Fuseki example

Posted by an...@apache.org.
Correcting dataset type in Fuseki example


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

Branch: refs/heads/master
Commit: 462b5a3df0338948c3a10f873d5984b8b21d5bf8
Parents: 3e13dc6
Author: ajs6f <aj...@apache.org>
Authored: Tue Nov 21 09:04:10 2017 -0500
Committer: ajs6f <aj...@apache.org>
Committed: Tue Nov 21 09:04:10 2017 -0500

----------------------------------------------------------------------
 jena-fuseki2/examples/fuseki-in-mem-txn.ttl | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/462b5a3d/jena-fuseki2/examples/fuseki-in-mem-txn.ttl
----------------------------------------------------------------------
diff --git a/jena-fuseki2/examples/fuseki-in-mem-txn.ttl b/jena-fuseki2/examples/fuseki-in-mem-txn.ttl
index 340d53f..1da24cb 100644
--- a/jena-fuseki2/examples/fuseki-in-mem-txn.ttl
+++ b/jena-fuseki2/examples/fuseki-in-mem-txn.ttl
@@ -8,7 +8,7 @@
 @prefix tdb:     <http://jena.hpl.hp.com/2008/tdb#> .
 
 <#serviceInMemory> rdf:type fuseki:Service;
-    rdfs:label                   "In-memory, trasnactioal dataset.";
+    rdfs:label                   "In-memory transactional dataset.";
     fuseki:name                  "ds";
     fuseki:serviceQuery          "query";
     fuseki:serviceQuery          "sparql";
@@ -19,6 +19,6 @@
     fuseki:dataset <#dataset> ;
 .
 
-<#dataset> rdf:type ja:DatasetTxnMem;
+<#dataset> rdf:type ja:MemoryDataset;
    ja:data <file:data.trig>;
 .


[2/9] jena git commit: JENA-1430: Quad loading for in-memory assemblers

Posted by an...@apache.org.
JENA-1430: Quad loading for in-memory assemblers


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

Branch: refs/heads/master
Commit: 3e13dc64f4047eb589d9da46e50561a25290a230
Parents: d174ec0
Author: ajs6f <aj...@apache.org>
Authored: Mon Nov 20 13:47:42 2017 -0500
Committer: ajs6f <aj...@apache.org>
Committed: Mon Nov 20 13:47:42 2017 -0500

----------------------------------------------------------------------
 .../sparql/core/assembler/DatasetAssembler.java |  52 +++++---
 .../core/assembler/DatasetAssemblerVocab.java   |   2 +-
 .../core/assembler/InMemDatasetAssembler.java   |  35 +++---
 .../sparql/core/assembler/TS_Assembler.java     |   2 +-
 .../core/assembler/TestDatasetAssembler.java    | 122 +++++++++++++++++++
 .../assembler/TestInMemDatasetAssembler.java    |  99 ++-------------
 6 files changed, 184 insertions(+), 128 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/3e13dc64/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/DatasetAssembler.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/DatasetAssembler.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/DatasetAssembler.java
index 82a3a91..ec85899 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/DatasetAssembler.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/DatasetAssembler.java
@@ -18,6 +18,10 @@
 
 package org.apache.jena.sparql.core.assembler ;
 
+import static org.apache.jena.assembler.JA.data;
+import static org.apache.jena.riot.RDFDataMgr.read;
+import static org.apache.jena.sparql.util.graph.GraphUtils.multiValueAsString;
+
 import java.util.List ;
 
 import org.apache.jena.assembler.Assembler ;
@@ -32,6 +36,7 @@ import org.apache.jena.rdf.model.Resource ;
 import org.apache.jena.sparql.graph.GraphFactory ;
 import org.apache.jena.sparql.util.FmtUtils ;
 import org.apache.jena.sparql.util.graph.GraphUtils ;
+import org.apache.jena.system.Txn;
 
 public class DatasetAssembler extends AssemblerBase implements Assembler {
     public static Resource getType() {
@@ -39,12 +44,13 @@ public class DatasetAssembler extends AssemblerBase implements Assembler {
     }
 
     @Override
-    public Object open(Assembler a, Resource root, Mode mode) {
+    public Dataset open(Assembler a, Resource root, Mode mode) {
         Dataset ds = createDataset(a, root, mode) ;
         return ds ;
     }
 
     public Dataset createDataset(Assembler a, Resource root, Mode mode) {
+        checkType(root, DatasetAssemblerVocab.tDataset);
         // -------- Default graph
         // Can use ja:graph or ja:defaultGraph
         Resource dftGraph = GraphUtils.getResourceValue(root, DatasetAssemblerVocab.pDefaultGraph) ;
@@ -58,27 +64,33 @@ public class DatasetAssembler extends AssemblerBase implements Assembler {
             // Assembler description did not define one.
             dftModel = GraphFactory.makeDefaultModel() ;
         Dataset ds = DatasetFactory.create(dftModel) ;
-        // -------- Named graphs
-        List<RDFNode> nodes = GraphUtils.multiValue(root, DatasetAssemblerVocab.pNamedGraph) ;
-        for ( RDFNode n : nodes ) {
-            if ( !(n instanceof Resource) )
-                throw new DatasetAssemblerException(root, "Not a resource: " + FmtUtils.stringForRDFNode(n));
-            Resource r = (Resource)n;
-
-            String gName = GraphUtils.getAsStringValue(r, DatasetAssemblerVocab.pGraphName);
-            Resource g = GraphUtils.getResourceValue(r, DatasetAssemblerVocab.pGraph);
-            if ( g == null ) {
-                g = GraphUtils.getResourceValue(r, DatasetAssemblerVocab.pGraphAlt);
-                if ( g != null ) {
-                    Log.warn(this, "Use of old vocabulary: use :graph not :graphData");
-                } else {
-                    throw new DatasetAssemblerException(root, "no graph for: " + gName);
+        Txn.executeWrite(ds, () -> {
+            // Load data into the default graph or quads into the dataset.
+            multiValueAsString(root, data)
+                .forEach(dataURI -> read(ds, dataURI));
+    
+            // -------- Named graphs
+            List<RDFNode> nodes = GraphUtils.multiValue(root, DatasetAssemblerVocab.pNamedGraph) ;
+            for ( RDFNode n : nodes ) {
+                if ( !(n instanceof Resource) )
+                    throw new DatasetAssemblerException(root, "Not a resource: " + FmtUtils.stringForRDFNode(n));
+                Resource r = (Resource)n;
+    
+                String gName = GraphUtils.getAsStringValue(r, DatasetAssemblerVocab.pGraphName);
+                Resource g = GraphUtils.getResourceValue(r, DatasetAssemblerVocab.pGraph);
+                if ( g == null ) {
+                    g = GraphUtils.getResourceValue(r, DatasetAssemblerVocab.pGraphAlt);
+                    if ( g != null ) {
+                        Log.warn(this, "Use of old vocabulary: use :graph not :graphData");
+                    } else {
+                        throw new DatasetAssemblerException(root, "no graph for: " + gName);
+                    }
                 }
+    
+                Model m = a.openModel(g);
+                ds.addNamedModel(gName, m);
             }
-
-            Model m = a.openModel(g);
-            ds.addNamedModel(gName, m);
-        }
+        });
         AssemblerUtils.setContext(root, ds.getContext()) ;
         return ds ;
     }

http://git-wip-us.apache.org/repos/asf/jena/blob/3e13dc64/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/DatasetAssemblerVocab.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/DatasetAssemblerVocab.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/DatasetAssemblerVocab.java
index f5bbe65..1a2bc0c 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/DatasetAssemblerVocab.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/DatasetAssemblerVocab.java
@@ -31,7 +31,7 @@ public class DatasetAssemblerVocab
     // General dataset
     public static final Resource tDataset            = ResourceFactory.createResource(NS+"RDFDataset") ;
     // In-memory dataset
-    public static final Resource tDatasetTxnMem      = ResourceFactory.createResource(NS+"DatasetTxnMem") ;
+    public static final Resource tMemoryDataset      = ResourceFactory.createResource(NS+"MemoryDataset") ;
     public static final Resource tDatasetNull        = ResourceFactory.createResource(NS+"DatasetNull") ;
     
     public static final Property pDefaultGraph       = ResourceFactory.createProperty(NS, "defaultGraph") ;

http://git-wip-us.apache.org/repos/asf/jena/blob/3e13dc64/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/InMemDatasetAssembler.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/InMemDatasetAssembler.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/InMemDatasetAssembler.java
index b70be2a..792f382 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/InMemDatasetAssembler.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/InMemDatasetAssembler.java
@@ -24,13 +24,10 @@ import static org.apache.jena.riot.RDFDataMgr.read;
 import static org.apache.jena.sparql.core.assembler.AssemblerUtils.setContext;
 import static org.apache.jena.sparql.core.assembler.DatasetAssemblerVocab.pGraphName;
 import static org.apache.jena.sparql.core.assembler.DatasetAssemblerVocab.pNamedGraph;
-import static org.apache.jena.sparql.util.graph.GraphUtils.getAsStringValue;
-import static org.apache.jena.sparql.util.graph.GraphUtils.multiValueAsString;
-import static org.apache.jena.sparql.util.graph.GraphUtils.multiValueResource;
+import static org.apache.jena.sparql.util.graph.GraphUtils.*;
 
 import org.apache.jena.assembler.Assembler;
 import org.apache.jena.assembler.Mode;
-import org.apache.jena.assembler.assemblers.AssemblerBase;
 import org.apache.jena.query.Dataset;
 import org.apache.jena.rdf.model.Resource;
 import org.apache.jena.system.Txn;
@@ -38,32 +35,30 @@ import org.apache.jena.system.Txn;
 /**
  * An {@link Assembler} that creates in-memory {@link Dataset}s.
  */
-public class InMemDatasetAssembler extends AssemblerBase implements Assembler {
+public class InMemDatasetAssembler extends DatasetAssembler {
 
     public static Resource getType() {
-        return DatasetAssemblerVocab.tDatasetTxnMem ;
+        return DatasetAssemblerVocab.tMemoryDataset ;
     }
     
 	@Override
 	public Dataset open(final Assembler assembler, final Resource root, final Mode mode) {
-		checkType(root, DatasetAssemblerVocab.tDatasetTxnMem);
+		checkType(root, DatasetAssemblerVocab.tMemoryDataset);
 		final Dataset dataset = createTxnMem();
 		setContext(root, dataset.getContext());
 
 		Txn.executeWrite(dataset, ()->{ 
-    		// Load data into the default graph
-		    // This also loads quads into the dataset.
-    		multiValueAsString(root, data)
-    		    .forEach(dataURI -> read(dataset, dataURI));
-    
-    		// load data into named graphs
-    		multiValueResource(root, pNamedGraph).forEach(namedGraphResource -> {
-    			final String graphName = getAsStringValue(namedGraphResource, pGraphName);
-    			if (namedGraphResource.hasProperty(data)) {
-    			    multiValueAsString(namedGraphResource, data)
-    			        .forEach(namedGraphData -> read(dataset.getNamedModel(graphName), namedGraphData));
-    			}
-    		});
+        		// Load data into the default graph or quads into the dataset.
+        		multiValueAsString(root, data)
+        		    .forEach(dataURI -> read(dataset, dataURI));
+        
+        		// load data into named graphs
+        		multiValueResource(root, pNamedGraph).forEach(namedGraphResource -> {
+        			final String graphName = getAsStringValue(namedGraphResource, pGraphName);
+        			if (namedGraphResource.hasProperty(data))
+        			    multiValueAsString(namedGraphResource, data)
+        			        .forEach(namedGraphData -> read(dataset.getNamedModel(graphName), namedGraphData));
+        		});
 		});
 		return dataset;
 	}

http://git-wip-us.apache.org/repos/asf/jena/blob/3e13dc64/jena-arq/src/test/java/org/apache/jena/sparql/core/assembler/TS_Assembler.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/core/assembler/TS_Assembler.java b/jena-arq/src/test/java/org/apache/jena/sparql/core/assembler/TS_Assembler.java
index 3dbe1bd..9a92f6c 100644
--- a/jena-arq/src/test/java/org/apache/jena/sparql/core/assembler/TS_Assembler.java
+++ b/jena-arq/src/test/java/org/apache/jena/sparql/core/assembler/TS_Assembler.java
@@ -23,5 +23,5 @@ import org.junit.runners.Suite;
 import org.junit.runners.Suite.SuiteClasses;
 
 @RunWith(Suite.class)
-@SuiteClasses({ TestInMemDatasetAssembler.class })
+@SuiteClasses({ TestInMemDatasetAssembler.class, TestDatasetAssembler.class })
 public class TS_Assembler {}

http://git-wip-us.apache.org/repos/asf/jena/blob/3e13dc64/jena-arq/src/test/java/org/apache/jena/sparql/core/assembler/TestDatasetAssembler.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/core/assembler/TestDatasetAssembler.java b/jena-arq/src/test/java/org/apache/jena/sparql/core/assembler/TestDatasetAssembler.java
new file mode 100644
index 0000000..c65ab54
--- /dev/null
+++ b/jena-arq/src/test/java/org/apache/jena/sparql/core/assembler/TestDatasetAssembler.java
@@ -0,0 +1,122 @@
+/*
+ * 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 static java.nio.file.Files.createTempFile;
+import static org.apache.jena.assembler.JA.data;
+import static org.apache.jena.assembler.Mode.DEFAULT;
+import static org.apache.jena.rdf.model.ModelFactory.createDefaultModel;
+import static org.apache.jena.riot.Lang.NQUADS;
+import static org.apache.jena.riot.RDFDataMgr.write;
+import static org.apache.jena.vocabulary.RDF.type;
+
+import java.io.*;
+import java.nio.file.Path;
+
+import org.apache.jena.assembler.JA;
+import org.apache.jena.assembler.exceptions.CannotConstructException;
+import org.apache.jena.query.Dataset;
+import org.apache.jena.rdf.model.*;
+import org.apache.jena.sparql.core.*;
+import org.apache.jena.sparql.sse.SSE;
+import org.apache.jena.sparql.util.IsoMatcher;
+import org.apache.jena.system.Txn;
+import org.junit.Assert;
+import org.junit.Test;
+
+public class TestDatasetAssembler extends Assert {
+    
+    protected Resource assemblerType() {
+        return DatasetAssemblerVocab.tDataset;
+    };
+    
+    protected DatasetAssembler createAssembler() {
+        return new DatasetAssembler();
+    }
+    
+    Dataset assemble(final Resource example) {
+        Model model = example.getModel() ;
+        model.setNsPrefix("ja", JA.getURI()) ;
+        final DatasetAssembler testAssembler = createAssembler();
+        return testAssembler.open(testAssembler, example, DEFAULT);
+    }
+
+    @Test
+    public void emptyDataset() {
+        final Model model = createDefaultModel();
+        final Resource empty = model.createResource("test:empty");
+        empty.addProperty(type, assemblerType()) ;
+        Dataset dataset = assemble(empty) ;
+        assertFalse(dataset.asDatasetGraph().find().hasNext()) ;
+    }
+
+    @Test(expected = CannotConstructException.class)
+    public void wrongKindOfAssemblerDefinition() {
+        final Model model = createDefaultModel();
+        final Resource badExample = model.createResource("test:badExample");
+        assemble(badExample);
+    }
+
+    @Test
+    public void directDataQuadsURI() throws IOException {
+    	// first make a file of quads to load later
+    	final Model model = createDefaultModel();
+    	final Path quads = createTempFile("quadExample", ".nq");
+    	final Resource quadsURI = model.createResource(quads.toFile().toURI().toString());
+    	final Resource simpleExample = model.createResource("test:simpleExample");
+    	simpleExample.addProperty(type, assemblerType());
+    	simpleExample.addProperty(data, quadsURI);
+    
+    	final DatasetGraph dsg = DatasetGraphFactory.createTxnMem();
+        Txn.executeWrite(dsg, () ->
+            model.listStatements().mapWith(Statement::asTriple)
+                .mapWith(t -> new Quad(quadsURI.asNode(), t)).forEachRemaining(dsg::add));
+    
+    	try (OutputStream out = new FileOutputStream(quads.toFile())) {
+    		write(out, dsg, NQUADS);
+    	}
+    
+    	final Dataset dataset = assemble(simpleExample);
+    	final Model assembledDefaultModel = dataset.getDefaultModel();
+    	final Model assembledNamedModel = dataset.getNamedModel(quadsURI.getURI());
+    	assertTrue(assembledDefaultModel.isEmpty());
+    	assertTrue(assembledNamedModel.contains(assembledNamedModel.createStatement(simpleExample, data, quadsURI)));
+    }
+
+    @Test
+    public void directDataQuadsString() throws IOException {
+        // first make a file of quads to load later
+        DatasetGraph dsgData = DatasetGraphFactory.createTxnMem();
+        dsgData.add(SSE.parseQuad("(_ :s1 :p1 :o1)"));
+        dsgData.add(SSE.parseQuad("(:gn :s2 :p2 :o2)"));
+        Path quads = createTempFile("quadExample2", ".nq");
+        String dataFileName = quads.toFile().toURI().toString();
+        try (OutputStream out = new FileOutputStream(quads.toFile())) {
+            write(out, dsgData, NQUADS);
+        }
+        
+        Model assemblerModel = createDefaultModel();
+        Resource simpleExample2 = assemblerModel.createResource("test:simpleExample2");
+        simpleExample2.addProperty(type, assemblerType()) ;
+        simpleExample2.addProperty(data, dataFileName);
+        
+        final Dataset dataset = assemble(simpleExample2);
+        
+        assertTrue(IsoMatcher.isomorphic(dsgData, dataset.asDatasetGraph()));
+    }
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/3e13dc64/jena-arq/src/test/java/org/apache/jena/sparql/core/assembler/TestInMemDatasetAssembler.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/core/assembler/TestInMemDatasetAssembler.java b/jena-arq/src/test/java/org/apache/jena/sparql/core/assembler/TestInMemDatasetAssembler.java
index 6d88214..a4740e5 100644
--- a/jena-arq/src/test/java/org/apache/jena/sparql/core/assembler/TestInMemDatasetAssembler.java
+++ b/jena-arq/src/test/java/org/apache/jena/sparql/core/assembler/TestInMemDatasetAssembler.java
@@ -21,59 +21,38 @@ package org.apache.jena.sparql.core.assembler;
 import static java.nio.file.Files.createTempFile;
 import static org.apache.jena.assembler.JA.MemoryModel ;
 import static org.apache.jena.assembler.JA.data ;
-import static org.apache.jena.assembler.Mode.DEFAULT;
 import static org.apache.jena.rdf.model.ModelFactory.createDefaultModel;
-import static org.apache.jena.riot.Lang.NQUADS;
 import static org.apache.jena.riot.RDFDataMgr.write;
 import static org.apache.jena.riot.RDFFormat.NTRIPLES;
 import static org.apache.jena.sparql.core.assembler.DatasetAssemblerVocab.pGraphName;
 import static org.apache.jena.sparql.core.assembler.DatasetAssemblerVocab.pNamedGraph;
 import static org.apache.jena.vocabulary.RDF.type;
 
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.OutputStream;
+import java.io.*;
 import java.nio.file.Path;
 import java.util.Iterator;
 
-import org.apache.jena.assembler.JA ;
-import org.apache.jena.assembler.exceptions.CannotConstructException;
 import org.apache.jena.graph.Node;
 import org.apache.jena.query.Dataset;
 import org.apache.jena.rdf.model.Model;
 import org.apache.jena.rdf.model.Resource;
-import org.apache.jena.rdf.model.Statement;
-import org.apache.jena.sparql.core.DatasetGraph;
-import org.apache.jena.sparql.core.DatasetGraphFactory;
-import org.apache.jena.sparql.core.Quad;
-import org.apache.jena.sparql.sse.SSE;
-import org.apache.jena.sparql.util.IsoMatcher;
-import org.junit.Assert;
 import org.junit.Test;
 
 /**
  * Tests for {@link InMemDatasetAssembler}
  *
  */
-public class TestInMemDatasetAssembler extends Assert {
-
-    private Dataset assemble(final Resource example) {
-	    Model model = example.getModel() ;
-	    model.setNsPrefix("ja", JA.getURI()) ;
-//	    System.out.println("-------------");
-//	    RDFDataMgr.write(System.out, model, Lang.TTL) ;
-	    final InMemDatasetAssembler testAssembler = new InMemDatasetAssembler();
-		return testAssembler.open(testAssembler, example, DEFAULT);
-	}
-	
-	@Test
-	public void emptyDataset() {
-	    final Model model = createDefaultModel();
-	    final Resource empty = model.createResource("test:empty");
-	    empty.addProperty(type, DatasetAssemblerVocab.tDatasetTxnMem) ;
-	    Dataset dataset = assemble(empty) ;
-	    assertFalse(dataset.asDatasetGraph().find().hasNext()) ;
-	}
+public class TestInMemDatasetAssembler extends TestDatasetAssembler {
+    
+    @Override
+    protected Resource assemblerType() {
+        return DatasetAssemblerVocab.tMemoryDataset;
+    };
+
+    @Override
+    protected DatasetAssembler createAssembler() {
+        return new InMemDatasetAssembler();
+    }
 
 	@Test
 	public void directDataLinkForDefaultAndNamedGraphs() throws IOException {
@@ -82,7 +61,7 @@ public class TestInMemDatasetAssembler extends Assert {
 		final Path triples = createTempFile("simpleExample", ".nt");
 		final Resource triplesURI = model.createResource(triples.toFile().toURI().toString());
 		final Resource simpleExample = model.createResource("test:simpleExample");
-		simpleExample.addProperty(type, DatasetAssemblerVocab.tDatasetTxnMem);
+		simpleExample.addProperty(type, assemblerType());
 		// add a default graph
 		simpleExample.addProperty(data, triplesURI);
 		// add a named graph
@@ -114,56 +93,4 @@ public class TestInMemDatasetAssembler extends Assert {
 		assertFalse(graphNodes.hasNext());
 	}
 
-	@Test
-	public void directDataQuadsURI() throws IOException {
-		// first make a file of quads to load later
-		final Model model = createDefaultModel();
-		final Path quads = createTempFile("quadExample", ".nq");
-		final Resource quadsURI = model.createResource(quads.toFile().toURI().toString());
-		final Resource simpleExample = model.createResource("test:simpleExample");
-		simpleExample.addProperty(type, DatasetAssemblerVocab.tDatasetTxnMem);
-		simpleExample.addProperty(data, quadsURI);
-
-		final DatasetGraph dsg = DatasetGraphFactory.createTxnMem();
-		model.listStatements().mapWith(Statement::asTriple).mapWith(t -> new Quad(quadsURI.asNode(), t))
-				.forEachRemaining(dsg::add);
-		try (OutputStream out = new FileOutputStream(quads.toFile())) {
-			write(out, dsg, NQUADS);
-		}
-
-		final Dataset dataset = assemble(simpleExample);
-		final Model assembledDefaultModel = dataset.getDefaultModel();
-		final Model assembledNamedModel = dataset.getNamedModel(quadsURI.getURI());
-		assertTrue(assembledDefaultModel.isEmpty());
-		assertTrue(assembledNamedModel.contains(assembledNamedModel.createStatement(simpleExample, data, quadsURI)));
-	}
-
-    @Test
-    public void directDataQuadsString() throws IOException {
-        // first make a file of quads to load later
-        DatasetGraph dsgData = DatasetGraphFactory.createTxnMem();
-        dsgData.add(SSE.parseQuad("(_ :s1 :p1 :o1)"));
-        dsgData.add(SSE.parseQuad("(:gn :s2 :p2 :o2)"));
-        Path quads = createTempFile("quadExample2", ".nq");
-        String dataFileName = quads.toFile().toURI().toString();
-        try (OutputStream out = new FileOutputStream(quads.toFile())) {
-            write(out, dsgData, NQUADS);
-        }
-        
-        Model assemblerModel = createDefaultModel();
-        Resource simpleExample2 = assemblerModel.createResource("test:simpleExample2");
-        simpleExample2.addProperty(type, DatasetAssemblerVocab.tDatasetTxnMem) ;
-        simpleExample2.addProperty(data, dataFileName);
-        
-        final Dataset dataset = assemble(simpleExample2);
-        
-        assertTrue(IsoMatcher.isomorphic(dsgData, dataset.asDatasetGraph()));
-    }
-
-    @Test(expected = CannotConstructException.class)
-	public void wrongKindOfAssemblerDefinition() {
-		final Model model = createDefaultModel();
-		final Resource badExample = model.createResource("test:badExample");
-		assemble(badExample);
-	}
 }