Github user afs commented on a diff in the pull request:
https://github.com/apache/jena/pull/314#discussion_r153753744
--- Diff:
jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/DatasetAssembler.java
---
@@ -26,25 +30,29 @@
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 ;
+import org.apache.jena.system.Txn;
public class DatasetAssembler extends AssemblerBase implements Assembler {
public static Resource getType() {
return DatasetAssemblerVocab.tDataset ;
}
@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);
+ // 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);
--- End diff --
All on one line is really quite unclear. Have to live with Java.
---