This is an automated email from the ASF dual-hosted git repository.

andy pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/jena.git

commit 6a65120b0e06b2c88fd7fdd475b893983aa00bb0
Author: Andy Seaborne <[email protected]>
AuthorDate: Thu Apr 24 10:55:15 2025 +0100

    StreamRDF.version
---
 .../apache/jena/riot/lang/CollectorStreamBase.java |   4 +
 .../jena/riot/lang/CollectorStreamQuads.java       |   1 +
 .../apache/jena/riot/lang/CollectorStreamRDF.java  |   3 +
 .../jena/riot/lang/CollectorStreamTriples.java     |   1 +
 .../org/apache/jena/riot/out/NodeFormatter.java    |   7 +-
 .../riot/out/quoted/QuotedStringOutputBase.java    |   8 +-
 .../jena/riot/protobuf/StreamRDF2Protobuf.java     |   3 +
 .../org/apache/jena/riot/system/AsyncParser.java   |   3 +
 .../apache/jena/riot/system/BatchedStreamRDF.java  |   5 +
 .../apache/jena/riot/system/LoggingStreamRDF.java  |  31 +--
 .../java/org/apache/jena/riot/system/RiotLib.java  |  37 ++++
 .../org/apache/jena/riot/system/StreamRDF.java     |   7 +-
 .../org/apache/jena/riot/system/StreamRDF2.java    |  45 +++--
 .../org/apache/jena/riot/system/StreamRDFBase.java |  28 ++-
 .../jena/riot/system/StreamRDFBatchHandler.java    |   3 +
 .../jena/riot/system/StreamRDFCollectOne.java      |   7 +-
 .../apache/jena/riot/system/StreamRDFReject.java   |  10 +-
 .../apache/jena/riot/system/StreamRDFWrapper.java  |   4 +
 .../apache/jena/riot/thrift/StreamRDF2Thrift.java  |   3 +
 .../apache/jena/riot/writer/StreamWriterTriX.java  |   2 +
 .../jena/riot/writer/WriterStreamRDFBase.java      |   5 +
 .../jena/riot/writer/WriterStreamRDFPlain.java     |   3 +
 .../java/org/apache/jena/rdfs/TestStreamRDFS.java  |   6 +-
 .../apache/jena/riot/lang/TestCollectorStream.java |  10 +-
 .../apache/jena/riot/system/CatchParserOutput.java |   3 +
 .../java/org/apache/jena/atlas/lib/EscapeStr.java  |   3 +-
 .../examples/riot/ExRIOT5_StreamRDFCollect.java    |  16 +-
 .../example/streaming/StreamRDFToConnection.java   | 211 +++++++++++----------
 .../org/apache/jena/commonsrdf/impl/ToDataset.java |   3 +
 .../org/apache/jena/commonsrdf/impl/ToGraph.java   |   3 +
 .../java/org/apache/jena/rdfpatch/RDF2Patch.java   |   3 +
 .../java/org/apache/jena/rdfpatch/StreamPatch.java |   3 +
 .../jena/tdb1/store/bulkloader/BulkLoader.java     |   6 +
 .../store/xloader/ProcNodeTableDataBuilder.java    |  39 ++--
 .../apache/jena/tdb2/loader/main/DataBatcher.java  |   3 +
 .../jena/tdb2/loader/main/DataToTuplesInline.java  |   3 +
 .../tdb2/loader/main/DataToTuplesInlineSingle.java |   3 +
 .../jena/tdb2/xloader/ProcBuildNodeTableX.java     |   3 +
 .../apache/jena/tdb2/xloader/ProcIngestDataX.java  |   3 +
 .../jena/tdb2/sys/TestNormalizedTermsTDB2.java     |  11 +-
 40 files changed, 345 insertions(+), 207 deletions(-)

diff --git 
a/jena-arq/src/main/java/org/apache/jena/riot/lang/CollectorStreamBase.java 
b/jena-arq/src/main/java/org/apache/jena/riot/lang/CollectorStreamBase.java
index 65804645e0..52feeb5c17 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/lang/CollectorStreamBase.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/lang/CollectorStreamBase.java
@@ -39,6 +39,7 @@ import org.apache.jena.sparql.core.Quad ;
  *
  * @param <T> Type of the value stored in the collection
  */
+@Deprecated(forRemoval = true)
 public abstract class CollectorStreamBase<T> implements StreamRDF {
        private final PrefixMap prefixes = PrefixMapFactory.create();
        private String baseIri;
@@ -65,6 +66,9 @@ public abstract class CollectorStreamBase<T> implements 
StreamRDF {
                prefixes.add(prefix, iri);
        }
 
+       @Override
+       public void version(String version) {}
+
        public PrefixMap getPrefixes() {
                return prefixes;
        }
diff --git 
a/jena-arq/src/main/java/org/apache/jena/riot/lang/CollectorStreamQuads.java 
b/jena-arq/src/main/java/org/apache/jena/riot/lang/CollectorStreamQuads.java
index 64cc147e7e..6369a203c6 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/lang/CollectorStreamQuads.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/lang/CollectorStreamQuads.java
@@ -29,6 +29,7 @@ import org.apache.jena.sparql.core.Quad ;
  *
  * @see CollectorStreamBase
  */
+@Deprecated(forRemoval = true)
 public class CollectorStreamQuads extends CollectorStreamBase<Quad>    
implements StreamRDF {
        private List<Quad> quads = new ArrayList<>();
 
diff --git 
a/jena-arq/src/main/java/org/apache/jena/riot/lang/CollectorStreamRDF.java 
b/jena-arq/src/main/java/org/apache/jena/riot/lang/CollectorStreamRDF.java
index f25e66b6f9..405c5ff6e9 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/lang/CollectorStreamRDF.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/lang/CollectorStreamRDF.java
@@ -67,6 +67,9 @@ public class CollectorStreamRDF implements StreamRDF {
                this.baseIri = base;
        }
 
+    @Override
+    public void version(String version) {}
+
        @Override
        public void prefix(String prefix, String iri) {
                prefixes.add(prefix, iri);
diff --git 
a/jena-arq/src/main/java/org/apache/jena/riot/lang/CollectorStreamTriples.java 
b/jena-arq/src/main/java/org/apache/jena/riot/lang/CollectorStreamTriples.java
index a7aed07f10..6ff00d4d9a 100644
--- 
a/jena-arq/src/main/java/org/apache/jena/riot/lang/CollectorStreamTriples.java
+++ 
b/jena-arq/src/main/java/org/apache/jena/riot/lang/CollectorStreamTriples.java
@@ -29,6 +29,7 @@ import org.apache.jena.riot.system.StreamRDF;
  *
  * @see CollectorStreamBase
  */
+@Deprecated(forRemoval = true)
 public class CollectorStreamTriples extends CollectorStreamBase<Triple> 
implements StreamRDF {
        private List<Triple> triples = new ArrayList<>();
 
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/out/NodeFormatter.java 
b/jena-arq/src/main/java/org/apache/jena/riot/out/NodeFormatter.java
index 18e52aa6b9..71d49b10f9 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/out/NodeFormatter.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/out/NodeFormatter.java
@@ -46,9 +46,12 @@ public interface NodeFormatter
     /** String with language tag */
     public void formatLitLang(AWriter w, String lex, String langTag);
 
-    /** String with language tag and base direction */
+    /** String with language tag and base direction (RDF 1.2) */
     public void formatLitLangDir(AWriter w, String lex, String langTag, String 
direction);
 
-    /** Literal with datatype, not a simple literal, not an xsd:string (RDF 
1.1), no language tag. */
+    /**
+     * Literal with datatype, not a simple literal, not an xsd:string (RDF 
1.1), no
+     * language tag or and base direction.
+     */
     public void formatLitDT(AWriter w, String lex, String datatypeURI);
 }
diff --git 
a/jena-arq/src/main/java/org/apache/jena/riot/out/quoted/QuotedStringOutputBase.java
 
b/jena-arq/src/main/java/org/apache/jena/riot/out/quoted/QuotedStringOutputBase.java
index 26a8abb8c2..d4c84803cc 100644
--- 
a/jena-arq/src/main/java/org/apache/jena/riot/out/quoted/QuotedStringOutputBase.java
+++ 
b/jena-arq/src/main/java/org/apache/jena/riot/out/quoted/QuotedStringOutputBase.java
@@ -26,15 +26,15 @@ import org.apache.jena.atlas.lib.EscapeStr;
 public class QuotedStringOutputBase implements QuotedStringOutput {
     protected final CharSpace charSpace;
     protected final char quoteChar;
-    
+
     protected QuotedStringOutputBase(char quoteChar, CharSpace charSpace) {
         this.charSpace = charSpace;
         this.quoteChar = quoteChar;
-    } 
+    }
 
     @Override
-    public char getQuoteChar() { return quoteChar; } 
-    
+    public char getQuoteChar() { return quoteChar; }
+
     @Override
     public void writeStr(AWriter writer, String str) {
         // Only " strings in N-Triples/N-Quads
diff --git 
a/jena-arq/src/main/java/org/apache/jena/riot/protobuf/StreamRDF2Protobuf.java 
b/jena-arq/src/main/java/org/apache/jena/riot/protobuf/StreamRDF2Protobuf.java
index c2084fb2ac..eb44015d00 100644
--- 
a/jena-arq/src/main/java/org/apache/jena/riot/protobuf/StreamRDF2Protobuf.java
+++ 
b/jena-arq/src/main/java/org/apache/jena/riot/protobuf/StreamRDF2Protobuf.java
@@ -108,6 +108,9 @@ public class StreamRDF2Protobuf implements StreamRDF, 
AutoCloseable
         rowHandler.accept(streamRowBuilder.build());
     }
 
+    @Override
+    public void version(String version) {}
+
     @Override
     public void triple(Triple triple) {
         streamRowBuilder.clear();
diff --git 
a/jena-arq/src/main/java/org/apache/jena/riot/system/AsyncParser.java 
b/jena-arq/src/main/java/org/apache/jena/riot/system/AsyncParser.java
index 1f35e9c804..251c98d9f2 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/system/AsyncParser.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/system/AsyncParser.java
@@ -582,6 +582,9 @@ public class AsyncParser {
             deliver(elt);
         }
 
+        @Override
+        public void version(String version) {}
+
         private void deliver(EltStreamRDF elt) {
             destination.accept(elt);
         }
diff --git 
a/jena-arq/src/main/java/org/apache/jena/riot/system/BatchedStreamRDF.java 
b/jena-arq/src/main/java/org/apache/jena/riot/system/BatchedStreamRDF.java
index 18bb35410c..f61a9dd22d 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/system/BatchedStreamRDF.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/system/BatchedStreamRDF.java
@@ -141,4 +141,9 @@ public class BatchedStreamRDF implements StreamRDF {
     public void prefix(String prefix, String iri) {
         batchProc.prefix(prefix, iri);
     }
+
+    @Override
+    public void version(String version) {
+        batchProc.version(version);
+    }
 }
diff --git 
a/jena-arq/src/main/java/org/apache/jena/riot/system/LoggingStreamRDF.java 
b/jena-arq/src/main/java/org/apache/jena/riot/system/LoggingStreamRDF.java
index d17c93e1a7..81e9af8b30 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/system/LoggingStreamRDF.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/system/LoggingStreamRDF.java
@@ -16,18 +16,18 @@
  * limitations under the License.
  */
 
-package org.apache.jena.riot.system ;
+package org.apache.jena.riot.system;
 
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.riot.out.NodeFmtLib ;
-import org.apache.jena.sparql.core.Quad ;
-import org.slf4j.Logger ;
+import org.apache.jena.graph.Triple;
+import org.apache.jena.riot.out.NodeFmtLib;
+import org.apache.jena.sparql.core.Quad;
+import org.slf4j.Logger;
 
 public class LoggingStreamRDF implements StreamRDF {
-    private Logger log ;
+    private Logger log;
 
     public LoggingStreamRDF(Logger log) {
-        this.log = log ;
+        this.log = log;
     }
 
     @Override
@@ -35,24 +35,29 @@ public class LoggingStreamRDF implements StreamRDF {
 
     @Override
     public void triple(Triple triple) {
-        String string = NodeFmtLib.str(triple) ;
-        log.info(string) ;
+        String string = NodeFmtLib.str(triple);
+        log.info(string);
     }
 
     @Override
     public void quad(Quad quad) {
-        String string = NodeFmtLib.str(quad) ;
-        log.info(string) ;
+        String string = NodeFmtLib.str(quad);
+        log.info(string);
     }
 
     @Override
     public void base(String base) {
-        log.info("BASE -- " + base) ;
+        log.info("BASE -- " + base);
     }
 
     @Override
     public void prefix(String prefix, String iri) {
-        log.info("Prefix (" + prefix + "," + iri + ")") ;
+        log.info("Prefix (" + prefix + "," + iri + ")");
+    }
+
+    @Override
+    public void version(String version) {
+        log.info("Version (\"" + version + "\"");
     }
 
     @Override
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/system/RiotLib.java 
b/jena-arq/src/main/java/org/apache/jena/riot/system/RiotLib.java
index 11e3568a3e..bb3f4b8de9 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/system/RiotLib.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/system/RiotLib.java
@@ -31,6 +31,8 @@ import java.util.function.Predicate;
 
 import org.apache.jena.atlas.io.IndentedWriter;
 import org.apache.jena.atlas.iterator.Iter;
+import org.apache.jena.atlas.lib.Chars;
+import org.apache.jena.atlas.lib.EscapeStr;
 import org.apache.jena.graph.Graph;
 import org.apache.jena.graph.Node;
 import org.apache.jena.graph.NodeFactory;
@@ -41,6 +43,8 @@ import org.apache.jena.irix.IRIxResolver;
 import org.apache.jena.query.ARQ;
 import org.apache.jena.riot.*;
 import org.apache.jena.riot.lang.LabelToNode;
+import org.apache.jena.riot.out.quoted.QuotedStringOutput;
+import org.apache.jena.riot.out.quoted.QuotedStringOutputNT;
 import org.apache.jena.riot.writer.DirectiveStyle;
 import org.apache.jena.riot.writer.WriterGraphRIOTBase;
 import org.apache.jena.sparql.core.DatasetGraph;
@@ -391,6 +395,39 @@ public class RiotLib {
         out.println();
     }
 
+    private static final QuotedStringOutput quotedStringProc = new 
QuotedStringOutputNT();
+    /**
+     * Write a version.
+     * Write using {@code version} or {@code VERSION}.
+     */
+    public static void writeVersion(IndentedWriter out, String version, 
DirectiveStyle writeStyle) {
+        if ( writeStyle == DirectiveStyle.AT )
+            writeVersionOldStyle(out, version);
+        else
+            writeVersionNewStyle(out, version);
+    }
+
+    private static void writeVersionNewStyle(IndentedWriter out, String 
version) {
+        char chQuote = Chars.CH_QUOTE2;
+        String escVersion = EscapeStr.stringEsc(version, Chars.CH_QUOTE2);
+        out.print("VERSION ");
+        out.print(chQuote);
+        out.print(escVersion);
+        out.print(chQuote);
+        out.println();
+    }
+
+    private static void writeVersionOldStyle(IndentedWriter out, String 
version) {
+        char chQuote = Chars.CH_QUOTE2;
+        String escVersion = EscapeStr.stringEsc(version, Chars.CH_QUOTE2);
+        out.print("@version ");
+        out.print(chQuote);
+        out.print(escVersion);
+        out.print(chQuote);
+        out.print(" .");
+        out.println();
+    }
+
     /**
      * IndentedWriter over a java.io.Writer (better to use an IndentedWriter 
over an OutputStream)
      */
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/system/StreamRDF.java 
b/jena-arq/src/main/java/org/apache/jena/riot/system/StreamRDF.java
index f516a893a3..0ec800d74a 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/system/StreamRDF.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/system/StreamRDF.java
@@ -25,13 +25,13 @@ import org.apache.jena.sparql.core.Quad ;
  *  The parser event model is that items are emitted for significant events.
  *  The events are start/finish, emitting triples/quads/tuples as necessary, 
prefixes and base directives.
  *  Tuples are generalized triples or quads.  A triple language will call 
triple(),
- *  quad language quad() in preference.    
+ *  quad language quad() in preference.
  */
 public interface StreamRDF
 {
     /** Start processing */
     public void start() ;
-    
+
     /** Triple emitted */
     public void triple(Triple triple) ;
 
@@ -47,6 +47,9 @@ public interface StreamRDF
     /** prefix declaration seen */
     public void prefix(String prefix, String iri) ;
 
+    /** version declaration seen */
+    public void version(String version);
+
     /** Finish processing */
     public void finish() ;
 
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/system/StreamRDF2.java 
b/jena-arq/src/main/java/org/apache/jena/riot/system/StreamRDF2.java
index 7b8c4d2a51..e4807f5ea0 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/system/StreamRDF2.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/system/StreamRDF2.java
@@ -18,54 +18,59 @@
 
 package org.apache.jena.riot.system;
 
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.sparql.core.Quad ;
+import org.apache.jena.graph.Triple;
+import org.apache.jena.sparql.core.Quad;
 
 /** Send to two streams */
-public class StreamRDF2 implements StreamRDF
-{
-    protected final StreamRDF sink1 ;
-    protected final StreamRDF sink2 ;
+public class StreamRDF2 implements StreamRDF {
+    protected final StreamRDF sink1;
+    protected final StreamRDF sink2;
 
     public StreamRDF2(StreamRDF sink1, StreamRDF sink2) {
-        this.sink1 = sink1 ;
-        this.sink2 = sink2 ;
+        this.sink1 = sink1;
+        this.sink2 = sink2;
     }
 
     @Override
     public void start() {
-        sink1.start() ;
-        sink2.start() ;
+        sink1.start();
+        sink2.start();
     }
 
     @Override
     public void triple(Triple triple) {
-        sink1.triple(triple) ;
-        sink2.triple(triple) ;
+        sink1.triple(triple);
+        sink2.triple(triple);
     }
 
     @Override
     public void quad(Quad quad) {
-        sink1.quad(quad) ;
-        sink2.quad(quad) ;
+        sink1.quad(quad);
+        sink2.quad(quad);
     }
 
     @Override
     public void base(String base) {
-        sink1.base(base) ;
-        sink2.base(base) ;
+        sink1.base(base);
+        sink2.base(base);
     }
 
     @Override
     public void prefix(String prefix, String iri) {
-        sink1.prefix(prefix, iri) ;
-        sink2.prefix(prefix, iri) ;
+        sink1.prefix(prefix, iri);
+        sink2.prefix(prefix, iri);
+    }
+
+    @Override
+    public void version(String version) {
+        sink1.version(version);
+        sink2.version(version);
     }
 
     @Override
     public void finish() {
-        sink1.finish() ;
-        sink2.finish() ;
+        sink1.finish();
+        sink2.finish();
     }
 
 }
diff --git 
a/jena-arq/src/main/java/org/apache/jena/riot/system/StreamRDFBase.java 
b/jena-arq/src/main/java/org/apache/jena/riot/system/StreamRDFBase.java
index 010bd0fee0..9fe155b95c 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/system/StreamRDFBase.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/system/StreamRDFBase.java
@@ -18,32 +18,28 @@
 
 package org.apache.jena.riot.system;
 
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.sparql.core.Quad ;
+import org.apache.jena.graph.Triple;
+import org.apache.jena.sparql.core.Quad;
 
-public class StreamRDFBase implements StreamRDF
-{
+public class StreamRDFBase implements StreamRDF {
     @Override
-    public void start()
-    {}
+    public void start() {}
 
     @Override
-    public void triple(Triple triple)
-    {}
+    public void triple(Triple triple) {}
 
     @Override
-    public void quad(Quad quad)
-    {}
+    public void quad(Quad quad) {}
 
     @Override
-    public void base(String base)
-    {}
+    public void base(String base) {}
 
     @Override
-    public void prefix(String prefix, String iri)
-    {}
+    public void prefix(String prefix, String iri) {}
 
     @Override
-    public void finish()
-    {}
+    public void version(String version) {}
+
+    @Override
+    public void finish() {}
 }
diff --git 
a/jena-arq/src/main/java/org/apache/jena/riot/system/StreamRDFBatchHandler.java 
b/jena-arq/src/main/java/org/apache/jena/riot/system/StreamRDFBatchHandler.java
index bf495c710d..4125940563 100644
--- 
a/jena-arq/src/main/java/org/apache/jena/riot/system/StreamRDFBatchHandler.java
+++ 
b/jena-arq/src/main/java/org/apache/jena/riot/system/StreamRDFBatchHandler.java
@@ -50,6 +50,9 @@ public interface StreamRDFBatchHandler {
     /** prefix declaration seen */
     public void prefix(String prefix, String iri);
 
+    /** version declaration seen */
+    default public void version(String version) {}
+
     /** Finish parsing */
     public void finish();
 }
diff --git 
a/jena-arq/src/main/java/org/apache/jena/riot/system/StreamRDFCollectOne.java 
b/jena-arq/src/main/java/org/apache/jena/riot/system/StreamRDFCollectOne.java
index 5be231859b..0058f737ed 100644
--- 
a/jena-arq/src/main/java/org/apache/jena/riot/system/StreamRDFCollectOne.java
+++ 
b/jena-arq/src/main/java/org/apache/jena/riot/system/StreamRDFCollectOne.java
@@ -31,7 +31,7 @@ public class StreamRDFCollectOne implements StreamRDF {
     public StreamRDFCollectOne() {
         pmap = PrefixMapFactory.create() ;
     }
-    
+
     public StreamRDFCollectOne(PrefixMap pmap) {
         this.pmap = pmap ;
     }
@@ -58,9 +58,12 @@ public class StreamRDFCollectOne implements StreamRDF {
         pmap.add(prefix, iri) ;
     }
 
+    @Override
+    public void version(String version) {}
+
     @Override
     public void finish() {}
-    
+
     public StreamRowRDF getRow() {
         return row ;
     }
diff --git 
a/jena-arq/src/main/java/org/apache/jena/riot/system/StreamRDFReject.java 
b/jena-arq/src/main/java/org/apache/jena/riot/system/StreamRDFReject.java
index 8143e5db46..35aac504c9 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/system/StreamRDFReject.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/system/StreamRDFReject.java
@@ -21,8 +21,9 @@ package org.apache.jena.riot.system;
 import org.apache.jena.graph.Triple ;
 import org.apache.jena.sparql.core.Quad ;
 
-/** {@link StreamRDF} that throws an exception on each operation except {@code 
start()} and {@code finish()}.
- *  @see StreamRDFBase
+/**
+ * {@link StreamRDF} that throws an exception on each operation except {@code 
start()} and {@code finish()}.
+ * @see StreamRDFBase
  */
 public class StreamRDFReject implements StreamRDF
 {
@@ -47,4 +48,9 @@ public class StreamRDFReject implements StreamRDF
     @Override
     public void prefix(String prefix, String iri)
     { throw new UnsupportedOperationException("StreamRDF.prefix"); }
+
+    @Override
+    public void version(String version)
+    { throw new UnsupportedOperationException("StreamRDF.version"); }
+
 }
diff --git 
a/jena-arq/src/main/java/org/apache/jena/riot/system/StreamRDFWrapper.java 
b/jena-arq/src/main/java/org/apache/jena/riot/system/StreamRDFWrapper.java
index dccfb1c58a..40309e4c34 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/system/StreamRDFWrapper.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/system/StreamRDFWrapper.java
@@ -52,6 +52,10 @@ public class StreamRDFWrapper implements StreamRDF
     public void prefix(String prefix, String iri)
     { other.prefix(prefix, iri) ; }
 
+    @Override
+    public void version(String versionString)
+    { other.version(versionString); }
+
     @Override
     public void finish()
     { other.finish() ; }
diff --git 
a/jena-arq/src/main/java/org/apache/jena/riot/thrift/StreamRDF2Thrift.java 
b/jena-arq/src/main/java/org/apache/jena/riot/thrift/StreamRDF2Thrift.java
index 333df57830..65d1613783 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/thrift/StreamRDF2Thrift.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/thrift/StreamRDF2Thrift.java
@@ -149,6 +149,9 @@ public class StreamRDF2Thrift implements StreamRDF, 
AutoCloseable
         tStreamRow.clear();
     }
 
+    @Override
+    public void version(String version) {}
+
     @Override
     public void close() {
         finish();
diff --git 
a/jena-arq/src/main/java/org/apache/jena/riot/writer/StreamWriterTriX.java 
b/jena-arq/src/main/java/org/apache/jena/riot/writer/StreamWriterTriX.java
index 89cff086e5..8bcd352907 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/writer/StreamWriterTriX.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/writer/StreamWriterTriX.java
@@ -98,6 +98,8 @@ public class StreamWriterTriX implements StreamRDF {
         // See notes.
     }
 
+    @Override public void version(String version) {} // Ignore.
+
     @Override
     public void triple(Triple triple) {
         if ( inGraph && gn != null ) {
diff --git 
a/jena-arq/src/main/java/org/apache/jena/riot/writer/WriterStreamRDFBase.java 
b/jena-arq/src/main/java/org/apache/jena/riot/writer/WriterStreamRDFBase.java
index 2153f0f5cb..c0adee51c4 100644
--- 
a/jena-arq/src/main/java/org/apache/jena/riot/writer/WriterStreamRDFBase.java
+++ 
b/jena-arq/src/main/java/org/apache/jena/riot/writer/WriterStreamRDFBase.java
@@ -168,6 +168,11 @@ public abstract class WriterStreamRDFBase implements 
StreamRDF
         RiotLib.writePrefix(out, prefix, iri, directiveStyle);
     }
 
+    @Override
+    public void version(String version) {
+        RiotLib.writeVersion(out, version, directiveStyle);
+    }
+
     protected void prefixSetup(String prefix, String iri) {}
 
     protected void outputNode(Node n) {
diff --git 
a/jena-arq/src/main/java/org/apache/jena/riot/writer/WriterStreamRDFPlain.java 
b/jena-arq/src/main/java/org/apache/jena/riot/writer/WriterStreamRDFPlain.java
index 706a3bf750..8c31a5045a 100644
--- 
a/jena-arq/src/main/java/org/apache/jena/riot/writer/WriterStreamRDFPlain.java
+++ 
b/jena-arq/src/main/java/org/apache/jena/riot/writer/WriterStreamRDFPlain.java
@@ -118,6 +118,9 @@ public class WriterStreamRDFPlain implements StreamRDF {
     @Override
     public void prefix(String prefix, String iri) {}
 
+    @Override
+    public void version(String version) {}
+
     private static boolean outputGraphSlot(Node g) {
         return (g != null && g != Quad.tripleInQuad && 
!Quad.isDefaultGraph(g));
     }
diff --git a/jena-arq/src/test/java/org/apache/jena/rdfs/TestStreamRDFS.java 
b/jena-arq/src/test/java/org/apache/jena/rdfs/TestStreamRDFS.java
index c35f3b5796..f04779ef4e 100644
--- a/jena-arq/src/test/java/org/apache/jena/rdfs/TestStreamRDFS.java
+++ b/jena-arq/src/test/java/org/apache/jena/rdfs/TestStreamRDFS.java
@@ -31,7 +31,7 @@ import org.apache.jena.graph.Node;
 import org.apache.jena.graph.Triple;
 import org.apache.jena.rdfs.setup.ConfigRDFS;
 import org.apache.jena.riot.RDFDataMgr;
-import org.apache.jena.riot.lang.CollectorStreamTriples;
+import org.apache.jena.riot.lang.CollectorStreamRDF;
 import org.apache.jena.riot.system.StreamRDF;
 import org.apache.jena.riot.system.StreamRDFOps;
 import org.apache.jena.sparql.graph.NodeConst;
@@ -105,10 +105,10 @@ public class TestStreamRDFS {
 
     // Inference to a list
     private static List<Triple> infOutput(Consumer<StreamRDF> action) {
-        CollectorStreamTriples dest = new CollectorStreamTriples();
+        CollectorStreamRDF dest = new CollectorStreamRDF();
         StreamRDF stream = RDFSFactory.streamRDFS(dest, vocab);
         exec(stream, action);
-        return dest.getCollected();
+        return dest.getTriples();
     }
 
     private static void exec(StreamRDF stream, Consumer<StreamRDF> action) {
diff --git 
a/jena-arq/src/test/java/org/apache/jena/riot/lang/TestCollectorStream.java 
b/jena-arq/src/test/java/org/apache/jena/riot/lang/TestCollectorStream.java
index 010ad6fc9f..e521de0210 100644
--- a/jena-arq/src/test/java/org/apache/jena/riot/lang/TestCollectorStream.java
+++ b/jena-arq/src/test/java/org/apache/jena/riot/lang/TestCollectorStream.java
@@ -45,10 +45,9 @@ public class TestCollectorStream {
 
     @Test
     public void test_streamed_triples() {
-        CollectorStreamTriples out = new CollectorStreamTriples();
+        CollectorStreamRDF out = new CollectorStreamRDF();
         List<Triple> expected = writeTriples(out, 10);
-
-        Assert.assertEquals(expected, out.getCollected());
+        Assert.assertEquals(expected, out.getTriples());
     }
 
     private List<Quad> writeQuads(StreamRDF out, int size) {
@@ -66,9 +65,8 @@ public class TestCollectorStream {
 
     @Test
     public void test_streamed_quads() {
-        CollectorStreamQuads out = new CollectorStreamQuads();
+        CollectorStreamRDF out = new CollectorStreamRDF();
         List<Quad> expected = writeQuads(out, 10);
-
-        Assert.assertEquals(expected, out.getCollected());
+        Assert.assertEquals(expected, out.getQuads());
     }
 }
diff --git 
a/jena-arq/src/test/java/org/apache/jena/riot/system/CatchParserOutput.java 
b/jena-arq/src/test/java/org/apache/jena/riot/system/CatchParserOutput.java
index d70b543dd1..6068033d51 100644
--- a/jena-arq/src/test/java/org/apache/jena/riot/system/CatchParserOutput.java
+++ b/jena-arq/src/test/java/org/apache/jena/riot/system/CatchParserOutput.java
@@ -31,6 +31,7 @@ public class CatchParserOutput implements StreamRDF
     public List<Quad>        quads       = new ArrayList<>() ;
     public List<Pair<String,String>>     prefixes     = new ArrayList<>() ;
     public List<String>     bases       = new ArrayList<>() ;
+    public List<String>     versions    = new ArrayList<>() ;
 
     public int startCalled = 0 ;
 
@@ -46,5 +47,7 @@ public class CatchParserOutput implements StreamRDF
 
     @Override public void prefix(String prefix, String iri) { 
prefixes.add(Pair.create(prefix, iri)) ; }
 
+    @Override public void version(String version)   { versions.add(version); }
+
     @Override public void finish()  { finishCalled++ ; }
 }
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/EscapeStr.java 
b/jena-base/src/main/java/org/apache/jena/atlas/lib/EscapeStr.java
index e40452b816..f430145df7 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/EscapeStr.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/EscapeStr.java
@@ -132,7 +132,8 @@ public class EscapeStr
             }
 
             // Normal case!
-            out.print(c);        }
+            out.print(c);
+        }
     }
 
     /** Write a string with Unicode to ASCII conversion using \-u escapes */
diff --git 
a/jena-examples/src/main/java/arq/examples/riot/ExRIOT5_StreamRDFCollect.java 
b/jena-examples/src/main/java/arq/examples/riot/ExRIOT5_StreamRDFCollect.java
index 4817688b9d..8ed5bbebf7 100644
--- 
a/jena-examples/src/main/java/arq/examples/riot/ExRIOT5_StreamRDFCollect.java
+++ 
b/jena-examples/src/main/java/arq/examples/riot/ExRIOT5_StreamRDFCollect.java
@@ -21,26 +21,26 @@ package arq.examples.riot;
 import org.apache.jena.graph.Triple;
 import org.apache.jena.riot.RDFParser;
 import org.apache.jena.riot.lang.CollectorStreamBase;
-import org.apache.jena.riot.lang.CollectorStreamTriples;
+import org.apache.jena.riot.lang.CollectorStreamRDF;
 
 /**
  * Example of using RIOT for streaming RDF to be stored into a Collection.
- * 
- * Suitable for single-threaded parsing, for use with small data or 
distributed 
+ *
+ * Suitable for single-threaded parsing, for use with small data or distributed
  * computing frameworks (e.g. Hadoop) where the overhead of creating many 
threads
- * is significant. 
- * 
+ * is significant.
+ *
  * @see CollectorStreamBase
  */
 public class ExRIOT5_StreamRDFCollect {
 
     public static void main(String... argv) {
         final String filename = "data.ttl";
-        
-        CollectorStreamTriples inputStream = new CollectorStreamTriples();
+
+        CollectorStreamRDF inputStream = new CollectorStreamRDF();
         RDFParser.source(filename).parse(inputStream);
 
-        for (Triple triple : inputStream.getCollected()) {
+        for (Triple triple : inputStream.getTriples()) {
                System.out.println(triple);
         }
     }
diff --git 
a/jena-examples/src/main/java/org/apache/jena/example/streaming/StreamRDFToConnection.java
 
b/jena-examples/src/main/java/org/apache/jena/example/streaming/StreamRDFToConnection.java
index 55f3f6772e..dcc2d14a2f 100644
--- 
a/jena-examples/src/main/java/org/apache/jena/example/streaming/StreamRDFToConnection.java
+++ 
b/jena-examples/src/main/java/org/apache/jena/example/streaming/StreamRDFToConnection.java
@@ -15,6 +15,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+
 package org.apache.jena.example.streaming;
 
 import java.util.HashSet;
@@ -33,107 +34,115 @@ import org.apache.jena.sparql.core.Quad;
 import org.apache.jena.vocabulary.RDF;
 
 /**
- * Example of how to implement a StreamRDF that caches and writes to
- * an RDFConnection.
- *
+ * Example of how to implement a StreamRDF that caches and writes to an
+ * RDFConnection.
  */
 public class StreamRDFToConnection implements StreamRDF {
-       private RDFConnection connection;
-       private int bufferSize = 1000;
-       private Set<Quad> quads = new HashSet<Quad>();
-       private Model model = ModelFactory.createDefaultModel();
-
-       /**
-        * Constructs the StreamRDFToConnection using default 1000 quad buffer 
size.
-        * @param connection the connection to talk to.
-        */
-       public StreamRDFToConnection( RDFConnection connection ) {
-               this.connection = connection;
-       }
-
-       /**
-        * Constructs the StreamRDFToConnection with the specified buffer size
-        * @param connection the connection to talk to.
-        * @param bufferSize the buffersize.
-        */
-       public StreamRDFToConnection( RDFConnection connection, int bufferSize 
) {
-               this.connection = connection;
-               this.bufferSize = bufferSize;
-       }
-
-       /**
-        * See if we should flush the buffer.
-        */
-       private void isBufferFull() {
-               if (model.size() + quads.size() >= bufferSize)
-               {
-                       flush();
-               }
-       }
-
-       /**
-        * Flushes the buffer to the connection.
-        */
-       private void flush() {
-               UpdateBuilder builder = new UpdateBuilder();
-               builder.addPrefixes( model );
-               builder.addInsert( model );
-               builder.addInsertQuads( quads );
-               connection.begin( TxnType.WRITE );
-               connection.update( builder.build() );
-               connection.commit();
-               model.removeAll();
-               quads.clear();
-       }
-
-       @Override
-       public void start() {
-               // does nothing.
-       }
-       @Override
-       public void triple(Triple triple) {
-               model.add( model.asStatement(triple));
-               isBufferFull();
-       }
-       @Override
-       public void quad(Quad quad) {
-               quads.add(quad);
-               isBufferFull();
-       }
-       @Override
-       public void base(String base) {
-               // do nothing
-       }
-       @Override
-       public void prefix(String prefix, String iri) {
-               model.setNsPrefix(prefix, iri);
-       }
-       @Override
-       public void finish() {
-               flush();
-       }
-
-       public static void main(String [] args) {
-               Dataset dataset = DatasetFactory.create();
-               RDFConnection connection = RDFConnection.connect(dataset);
-               StreamRDFToConnection stream = new StreamRDFToConnection( 
connection );
-
-               Resource s = ResourceFactory.createResource( "s" );
-               Property p = ResourceFactory.createProperty( "p" );
-               RDFNode o = ResourceFactory.createPlainLiteral("OHHHH");
-               Resource t = ResourceFactory.createResource( "t" );
-               Resource g = ResourceFactory.createResource( "g" );
-               Statement stmt1 = new StatementImpl( s, p ,o );
-               Statement stmt2 = new StatementImpl( s, RDF.type, t );
-               stream.start();
-               stream.triple( stmt1.asTriple() );
-               stream.quad( new Quad( g.asNode(), stmt2.asTriple()));
-               stream.finish();
-
-               System.out.println( "Contains model 'g': 
"+dataset.containsNamedModel("g") );
-               Model m = dataset.getDefaultModel();
-               System.out.println( "Default model contains <s,p,o>: "+ 
m.contains( stmt1 ));
-               m = dataset.getNamedModel( "g" );
-               System.out.println( "model 'g' contains <s,RDF.type,t>: "+      
m.contains( stmt2 ));
-       }
+    private RDFConnection connection;
+    private int bufferSize = 1000;
+    private Set<Quad> quads = new HashSet<Quad>();
+    private Model model = ModelFactory.createDefaultModel();
+
+    /**
+     * Constructs the StreamRDFToConnection using default 1000 quad buffer 
size.
+     *
+     * @param connection the connection to talk to.
+     */
+    public StreamRDFToConnection(RDFConnection connection) {
+        this.connection = connection;
+    }
+
+    /**
+     * Constructs the StreamRDFToConnection with the specified buffer size
+     *
+     * @param connection the connection to talk to.
+     * @param bufferSize the buffersize.
+     */
+    public StreamRDFToConnection(RDFConnection connection, int bufferSize) {
+        this.connection = connection;
+        this.bufferSize = bufferSize;
+    }
+
+    /**
+     * See if we should flush the buffer.
+     */
+    private void isBufferFull() {
+        if ( model.size() + quads.size() >= bufferSize ) {
+            flush();
+        }
+    }
+
+    /**
+     * Flushes the buffer to the connection.
+     */
+    private void flush() {
+        UpdateBuilder builder = new UpdateBuilder();
+        builder.addPrefixes(model);
+        builder.addInsert(model);
+        builder.addInsertQuads(quads);
+        connection.begin(TxnType.WRITE);
+        connection.update(builder.build());
+        connection.commit();
+        model.removeAll();
+        quads.clear();
+    }
+
+    @Override
+    public void start() {
+        // does nothing.
+    }
+
+    @Override
+    public void triple(Triple triple) {
+        model.add(model.asStatement(triple));
+        isBufferFull();
+    }
+
+    @Override
+    public void quad(Quad quad) {
+        quads.add(quad);
+        isBufferFull();
+    }
+
+    @Override
+    public void base(String base) {
+        // do nothing
+    }
+
+    @Override
+    public void version(String version) {}
+
+    @Override
+    public void prefix(String prefix, String iri) {
+        model.setNsPrefix(prefix, iri);
+    }
+
+    @Override
+    public void finish() {
+        flush();
+    }
+
+    public static void main(String[] args) {
+        Dataset dataset = DatasetFactory.create();
+        RDFConnection connection = RDFConnection.connect(dataset);
+        StreamRDFToConnection stream = new StreamRDFToConnection(connection);
+
+        Resource s = ResourceFactory.createResource("s");
+        Property p = ResourceFactory.createProperty("p");
+        RDFNode o = ResourceFactory.createPlainLiteral("OHHHH");
+        Resource t = ResourceFactory.createResource("t");
+        Resource g = ResourceFactory.createResource("g");
+        Statement stmt1 = new StatementImpl(s, p, o);
+        Statement stmt2 = new StatementImpl(s, RDF.type, t);
+        stream.start();
+        stream.triple(stmt1.asTriple());
+        stream.quad(new Quad(g.asNode(), stmt2.asTriple()));
+        stream.finish();
+
+        System.out.println("Contains model 'g': " + 
dataset.containsNamedModel("g"));
+        Model m = dataset.getDefaultModel();
+        System.out.println("Default model contains <s,p,o>: " + 
m.contains(stmt1));
+        m = dataset.getNamedModel("g");
+        System.out.println("model 'g' contains <s,RDF.type,t>: " + 
m.contains(stmt2));
+    }
 }
diff --git 
a/jena-extras/jena-commonsrdf/src/main/java/org/apache/jena/commonsrdf/impl/ToDataset.java
 
b/jena-extras/jena-commonsrdf/src/main/java/org/apache/jena/commonsrdf/impl/ToDataset.java
index 02e729ee4a..595d65c5dd 100644
--- 
a/jena-extras/jena-commonsrdf/src/main/java/org/apache/jena/commonsrdf/impl/ToDataset.java
+++ 
b/jena-extras/jena-commonsrdf/src/main/java/org/apache/jena/commonsrdf/impl/ToDataset.java
@@ -57,6 +57,9 @@ public class ToDataset implements StreamRDF {
     @Override
     public void prefix(String prefix, String iri) {}
 
+    @Override
+    public void version(String version) {}
+
     @Override
     public void finish() {}
 
diff --git 
a/jena-extras/jena-commonsrdf/src/main/java/org/apache/jena/commonsrdf/impl/ToGraph.java
 
b/jena-extras/jena-commonsrdf/src/main/java/org/apache/jena/commonsrdf/impl/ToGraph.java
index 38c51270ec..18963f6149 100644
--- 
a/jena-extras/jena-commonsrdf/src/main/java/org/apache/jena/commonsrdf/impl/ToGraph.java
+++ 
b/jena-extras/jena-commonsrdf/src/main/java/org/apache/jena/commonsrdf/impl/ToGraph.java
@@ -57,6 +57,9 @@ public class ToGraph implements StreamRDF {
     @Override
     public void prefix(String prefix, String iri) {}
 
+    @Override
+    public void version(String version) {}
+
     @Override
     public void finish() {}
 
diff --git 
a/jena-rdfpatch/src/main/java/org/apache/jena/rdfpatch/RDF2Patch.java 
b/jena-rdfpatch/src/main/java/org/apache/jena/rdfpatch/RDF2Patch.java
index c0d23c623c..d2e8e1c785 100644
--- a/jena-rdfpatch/src/main/java/org/apache/jena/rdfpatch/RDF2Patch.java
+++ b/jena-rdfpatch/src/main/java/org/apache/jena/rdfpatch/RDF2Patch.java
@@ -54,6 +54,9 @@ public class RDF2Patch implements StreamRDF {
     @Override
     public void base(String base) {}
 
+    @Override
+    public void version(String version) {}
+
     @Override
     public void prefix(String prefix, String iri) {
         changes.addPrefix(null, prefix, iri);
diff --git 
a/jena-rdfpatch/src/main/java/org/apache/jena/rdfpatch/StreamPatch.java 
b/jena-rdfpatch/src/main/java/org/apache/jena/rdfpatch/StreamPatch.java
index 4f30e0755f..f93223633d 100644
--- a/jena-rdfpatch/src/main/java/org/apache/jena/rdfpatch/StreamPatch.java
+++ b/jena-rdfpatch/src/main/java/org/apache/jena/rdfpatch/StreamPatch.java
@@ -80,4 +80,7 @@ public class StreamPatch implements StreamRDF {
     public void prefix(String prefix, String iri) {
         changes.addPrefix(null, prefix, iri);
     }
+
+    @Override
+    public void version(String version) {}
 }
\ No newline at end of file
diff --git 
a/jena-tdb1/src/main/java/org/apache/jena/tdb1/store/bulkloader/BulkLoader.java 
b/jena-tdb1/src/main/java/org/apache/jena/tdb1/store/bulkloader/BulkLoader.java
index d3d53720f5..4a02dc51b9 100644
--- 
a/jena-tdb1/src/main/java/org/apache/jena/tdb1/store/bulkloader/BulkLoader.java
+++ 
b/jena-tdb1/src/main/java/org/apache/jena/tdb1/store/bulkloader/BulkLoader.java
@@ -273,6 +273,9 @@ public class BulkLoader {
             dsg.prefixes().add(prefix, iri);
         }
 
+        @Override
+        public void version(String version) {}
+
         @Override
         public void finish() {}
     }
@@ -358,6 +361,9 @@ public class BulkLoader {
             prefixMap.add(prefix, iri);
         }
 
+        @Override
+        public void version(String version) {}
+
         @Override
         public void finish() {}
     }
diff --git 
a/jena-tdb1/src/main/java/org/apache/jena/tdb1/store/xloader/ProcNodeTableDataBuilder.java
 
b/jena-tdb1/src/main/java/org/apache/jena/tdb1/store/xloader/ProcNodeTableDataBuilder.java
index dc24e58087..2a933ecb63 100644
--- 
a/jena-tdb1/src/main/java/org/apache/jena/tdb1/store/xloader/ProcNodeTableDataBuilder.java
+++ 
b/jena-tdb1/src/main/java/org/apache/jena/tdb1/store/xloader/ProcNodeTableDataBuilder.java
@@ -152,8 +152,7 @@ public class ProcNodeTableDataBuilder {
         {}
 
         @Override
-        public void finishBulk()
-        {
+        public void finishBulk() {
             writerTriples.flush();
             writerQuads.flush();
             nodeTable.sync();
@@ -161,36 +160,31 @@ public class ProcNodeTableDataBuilder {
         }
 
         @Override
-        public void triple(Triple triple)
-        {
+        public void triple(Triple triple) {
             Node s = triple.getSubject();
             Node p = triple.getPredicate();
             Node o = triple.getObject();
-            process(Quad.tripleInQuad,s,p,o);
+            process(Quad.tripleInQuad, s, p, o);
         }
 
         @Override
-        public void quad(Quad quad)
-        {
+        public void quad(Quad quad) {
             Node s = quad.getSubject();
             Node p = quad.getPredicate();
             Node o = quad.getObject();
             Node g = null;
             // Union graph?!
-            if ( ! quad.isTriple() && ! quad.isDefaultGraph() )
+            if ( !quad.isTriple() && !quad.isDefaultGraph() )
                 g = quad.getGraph();
-            process(g,s,p,o);
+            process(g, s, p, o);
         }
 
-
-        private void process(Node g, Node s, Node p, Node o)
-        {
+        private void process(Node g, Node s, Node p, Node o) {
             NodeId sId = nodeTable.getAllocateNodeId(s);
             NodeId pId = nodeTable.getAllocateNodeId(p);
             NodeId oId = nodeTable.getAllocateNodeId(o);
 
-            if ( g != null )
-            {
+            if ( g != null ) {
                 NodeId gId = nodeTable.getAllocateNodeId(g);
                 writerQuads.write(gId.getId());
                 writerQuads.write(sId.getId());
@@ -199,9 +193,7 @@ public class ProcNodeTableDataBuilder {
                 writerQuads.endOfRow();
                 if ( stats != null )
                     stats.record(gId, sId, pId, oId);
-            }
-            else
-            {
+            } else {
                 writerTriples.write(sId.getId());
                 writerTriples.write(pId.getId());
                 writerTriples.write(oId.getId());
@@ -212,17 +204,20 @@ public class ProcNodeTableDataBuilder {
             monitor.tick();
         }
 
-        public StatsCollectorNodeId getCollector() { return stats; }
+        public StatsCollectorNodeId getCollector() {
+            return stats;
+        }
 
         @Override
-        public void base(String base)
-        {}
+        public void base(String base) {}
 
         @Override
-        public void prefix(String prefix, String iri)
-        {
+        public void prefix(String prefix, String iri) {
             dsg.getStoragePrefixes().getPrefixMap().add(prefix, iri);
         }
+
+        @Override
+        public void version(String version) {}
     }
 }
 
diff --git 
a/jena-tdb2/src/main/java/org/apache/jena/tdb2/loader/main/DataBatcher.java 
b/jena-tdb2/src/main/java/org/apache/jena/tdb2/loader/main/DataBatcher.java
index d4fe925034..a43b0f9c2c 100644
--- a/jena-tdb2/src/main/java/org/apache/jena/tdb2/loader/main/DataBatcher.java
+++ b/jena-tdb2/src/main/java/org/apache/jena/tdb2/loader/main/DataBatcher.java
@@ -161,6 +161,9 @@ public class DataBatcher implements StreamRDFCounting, 
BulkStartFinish {
             prefixHandler.accept(prefix, iri);
     }
 
+    @Override
+    public void version(String version) {}
+
     private List<Triple>  allocChunkTriples() {
         return new ArrayList<>(LoaderConst.ChunkSize);
     }
diff --git 
a/jena-tdb2/src/main/java/org/apache/jena/tdb2/loader/main/DataToTuplesInline.java
 
b/jena-tdb2/src/main/java/org/apache/jena/tdb2/loader/main/DataToTuplesInline.java
index fd2c6b89b2..e844854e3c 100644
--- 
a/jena-tdb2/src/main/java/org/apache/jena/tdb2/loader/main/DataToTuplesInline.java
+++ 
b/jena-tdb2/src/main/java/org/apache/jena/tdb2/loader/main/DataToTuplesInline.java
@@ -165,6 +165,9 @@ public class DataToTuplesInline implements 
StreamRDFCounting, BulkStartFinish {
         prefixes.add_ext(Prefixes.nodeDataset, prefix, iri);
     }
 
+    @Override
+    public void version(String version) {}
+
     private static void accTuples(Triple triple, NodeTable nodeTable, 
List<Tuple<NodeId>> acc) {
         acc.add(nodes(nodeTable, triple));
     }
diff --git 
a/jena-tdb2/src/main/java/org/apache/jena/tdb2/loader/main/DataToTuplesInlineSingle.java
 
b/jena-tdb2/src/main/java/org/apache/jena/tdb2/loader/main/DataToTuplesInlineSingle.java
index bfb85eb765..df2e93eea8 100644
--- 
a/jena-tdb2/src/main/java/org/apache/jena/tdb2/loader/main/DataToTuplesInlineSingle.java
+++ 
b/jena-tdb2/src/main/java/org/apache/jena/tdb2/loader/main/DataToTuplesInlineSingle.java
@@ -138,6 +138,9 @@ public class DataToTuplesInlineSingle implements 
StreamRDFCounting, BulkStartFin
         prefixes.add_ext(Prefixes.nodeDataset, prefix, iri);
     }
 
+    @Override
+    public void version(String version) {}
+
     private static Tuple<NodeId> nodes(NodeTable nt, Triple triple) {
         NodeId s = idForNode(nt, triple.getSubject());
         NodeId p = idForNode(nt, triple.getPredicate());
diff --git 
a/jena-tdb2/src/main/java/org/apache/jena/tdb2/xloader/ProcBuildNodeTableX.java 
b/jena-tdb2/src/main/java/org/apache/jena/tdb2/xloader/ProcBuildNodeTableX.java
index 5fbdcade54..df9170dbe6 100644
--- 
a/jena-tdb2/src/main/java/org/apache/jena/tdb2/xloader/ProcBuildNodeTableX.java
+++ 
b/jena-tdb2/src/main/java/org/apache/jena/tdb2/xloader/ProcBuildNodeTableX.java
@@ -448,6 +448,9 @@ public class ProcBuildNodeTableX {
         @Override
         public void prefix(String prefix, String iri) {}
 
+        @Override
+        public void version(String version) {}
+
         @Override
         public void finish() {
             IO.flush(outputData);
diff --git 
a/jena-tdb2/src/main/java/org/apache/jena/tdb2/xloader/ProcIngestDataX.java 
b/jena-tdb2/src/main/java/org/apache/jena/tdb2/xloader/ProcIngestDataX.java
index 009788e476..3f9e8f315c 100644
--- a/jena-tdb2/src/main/java/org/apache/jena/tdb2/xloader/ProcIngestDataX.java
+++ b/jena-tdb2/src/main/java/org/apache/jena/tdb2/xloader/ProcIngestDataX.java
@@ -308,5 +308,8 @@ public class ProcIngestDataX {
         public void prefix(String prefix, String iri) {
             dsg.prefixes().add(prefix, iri);
         }
+
+        @Override
+        public void version(String version) {}
     }
 }
diff --git 
a/jena-tdb2/src/test/java/org/apache/jena/tdb2/sys/TestNormalizedTermsTDB2.java 
b/jena-tdb2/src/test/java/org/apache/jena/tdb2/sys/TestNormalizedTermsTDB2.java
index d0b359898c..b42762c82b 100644
--- 
a/jena-tdb2/src/test/java/org/apache/jena/tdb2/sys/TestNormalizedTermsTDB2.java
+++ 
b/jena-tdb2/src/test/java/org/apache/jena/tdb2/sys/TestNormalizedTermsTDB2.java
@@ -20,17 +20,18 @@ package org.apache.jena.tdb2.sys;
 
 import static org.junit.Assert.assertEquals;
 
+import org.junit.Before;
+import org.junit.Test;
+
 import org.apache.jena.graph.Node;
 import org.apache.jena.graph.Triple;
-import org.apache.jena.riot.lang.CollectorStreamTriples;
+import org.apache.jena.riot.lang.CollectorStreamRDF;
 import org.apache.jena.riot.system.StreamRDF;
 import org.apache.jena.sparql.core.DatasetGraph;
 import org.apache.jena.sparql.sse.SSE;
 import org.apache.jena.tdb2.DatabaseMgr;
 import org.apache.jena.tdb2.store.NodeId;
 import org.apache.jena.tdb2.store.NodeIdInline;
-import org.junit.Before;
-import org.junit.Test;
 
 /**
  * This specifically tests by putting a node into a TDB2 database and getting 
them
@@ -97,10 +98,10 @@ public class TestNormalizedTermsTDB2 {
     }
 
     private void testViaStream(Node nInput, Node nNorm) {
-        CollectorStreamTriples collector = new CollectorStreamTriples();
+        CollectorStreamRDF collector = new CollectorStreamRDF();
         StreamRDF stream = NormalizeTermsTDB2.stream(collector);
         stream.triple(Triple.create(s, p, nInput));
-        Triple triple2 = collector.getCollected().get(0);
+        Triple triple2 = collector.getTriples().get(0);
         Node streamObj = triple2.getObject();
         assertEquals(nNorm, streamObj);
     }

Reply via email to