Github user ajs6f commented on a diff in the pull request:
https://github.com/apache/jena/pull/314#discussion_r152311436
--- 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 --
Okay, if I get what you are saying, it's:
1. Check to see if quads are being loaded, if so, TIM.
2. Otherwise, check the named graphs. If they are all `ja:data` guys, then
TIM again.
3. Otherwise, general dataset.
I'll get on this later today.
---