Github user ajs6f commented on a diff in the pull request: https://github.com/apache/jena/pull/314#discussion_r153814026 --- Diff: jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/DatasetAssembler.java --- @@ -57,28 +65,31 @@ public Dataset createDataset(Assembler a, Resource root, Mode mode) { else // 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; + Dataset ds = DatasetFactory.create(dftModel); - 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, () -> { --- End diff -- Yes, I just use it more or less for uniformity. I want our code to model best practices.
---