Github user ajs6f commented on a diff in the pull request: https://github.com/apache/jena/pull/314#discussion_r152284128 --- Diff: jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/DatasetAssembler.java --- @@ -58,27 +64,33 @@ public Dataset createDataset(Assembler a, Resource root, Mode mode) { // 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)); + --- End diff -- I'm trying to think of a use case for "load quads into non-TIM" and the one that occurs to me is in an embedded or integrated situation where you have a lot of quads, like so many that you prefer the memory-parsimonious-ness of the general IM dataset, maybe because you have other processes running in the system. Sound likely enough to merit (2)?
---