Merge branch 'GH-2359_from_and_fromNamed_take_object' of github.com:Claudenw/jena into GH-2358_from_and_fromNamed_take_object
diff --git a/.github/workflows/maven_windows.yml b/.github/workflows/maven_windows.yml
index 04b17d4..1fc5739 100644
--- a/.github/workflows/maven_windows.yml
+++ b/.github/workflows/maven_windows.yml
@@ -31,6 +31,5 @@
       run: bash -c "cp -r /d/a/jena/jena /c/jena"
 
     - name: Build with Maven for windows-latest
-      # If Windows and java 11, then MJAVADOC-586 / JDK issue.
       run: bash -c "mvn -B --file pom.xml -Dmaven.javadoc.skip=true install"
       working-directory: c:\jena
diff --git a/apache-jena-libs/pom.xml b/apache-jena-libs/pom.xml
index 1fc6379..caf2417 100644
--- a/apache-jena-libs/pom.xml
+++ b/apache-jena-libs/pom.xml
@@ -23,12 +23,12 @@
   <artifactId>apache-jena-libs</artifactId>
   <packaging>pom</packaging>
   <name>Apache Jena - Libraries POM</name>
-  <version>5.0.0-SNAPSHOT</version>
+  <version>5.1.0-SNAPSHOT</version>
 
   <parent>
     <groupId>org.apache.jena</groupId>
     <artifactId>jena</artifactId>
-    <version>5.0.0-SNAPSHOT</version>
+    <version>5.1.0-SNAPSHOT</version>
     <relativePath>..</relativePath>
   </parent>
 
@@ -47,37 +47,37 @@
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-rdfpatch</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
     </dependency>
 
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-shacl</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
     </dependency>
 
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-shex</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
     </dependency>
 
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-tdb1</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
     </dependency>
 
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-tdb2</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
     </dependency>
 
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-rdfconnection</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
     </dependency>
 
   </dependencies>
diff --git a/apache-jena/assembly-jena-zip.xml b/apache-jena/assembly-jena-download.xml
similarity index 100%
rename from apache-jena/assembly-jena-zip.xml
rename to apache-jena/assembly-jena-download.xml
diff --git a/apache-jena/log4j2.properties b/apache-jena/log4j2.properties
index a7756e2..7a6e435 100644
--- a/apache-jena/log4j2.properties
+++ b/apache-jena/log4j2.properties
@@ -49,13 +49,10 @@
 logger.jetty.name  = org.eclipse.jetty
 logger.jetty.level = WARN
 
-# May be useful to turn up to DEBUG if debugging HTTP communication issues
-logger.apache-http.name   = org.apache.http
-logger.apache-http.level  = WARN
-
 logger.shiro.name = org.apache.shiro
 logger.shiro.level = WARN
-# Hide bug in Shiro 1.5.0
+
+# Hide issue with Shiro 1.5.0+, 2.0.0
 logger.shiro-realm.name = org.apache.shiro.realm.text.IniRealm
 logger.shiro-realm.level = ERROR
 
diff --git a/apache-jena/pom.xml b/apache-jena/pom.xml
index 925ea58..abc105b 100644
--- a/apache-jena/pom.xml
+++ b/apache-jena/pom.xml
@@ -35,7 +35,7 @@
   <parent>
     <groupId>org.apache.jena</groupId>
     <artifactId>jena</artifactId>
-    <version>5.0.0-SNAPSHOT</version>
+    <version>5.1.0-SNAPSHOT</version>
     <relativePath>..</relativePath>
   </parent>
 
@@ -58,13 +58,13 @@
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-arq</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
     </dependency>
 
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-arq</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
       <classifier>sources</classifier>
       <optional>true</optional>
     </dependency>
@@ -72,13 +72,13 @@
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-core</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
     </dependency>
 
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-core</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
       <classifier>sources</classifier>
       <optional>true</optional>
     </dependency>
@@ -86,13 +86,13 @@
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-rdfconnection</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
     </dependency>
 
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-rdfconnection</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
       <classifier>sources</classifier>
       <optional>true</optional>
     </dependency>
@@ -100,13 +100,13 @@
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-shacl</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
     </dependency>
 
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-shacl</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
       <classifier>sources</classifier>
       <optional>true</optional>
     </dependency>
@@ -114,13 +114,13 @@
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-shex</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
     </dependency>
 
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-shex</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
       <classifier>sources</classifier>
       <optional>true</optional>
     </dependency>
@@ -128,7 +128,7 @@
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-cmds</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
     </dependency>
 
     <!-- Require a logging implementation for command line tools --> 
@@ -141,7 +141,7 @@
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-cmds</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
       <classifier>sources</classifier>
       <optional>true</optional>
     </dependency>
@@ -152,9 +152,6 @@
     <plugins>
       <plugin>
         <artifactId>maven-assembly-plugin</artifactId>
-        <configuration>
-          <tarLongFileMode>gnu</tarLongFileMode>
-        </configuration>
         <executions>
           <execution>
             <id>create-jena-download</id>
@@ -164,54 +161,14 @@
             </goals>
             <configuration>
               <appendAssemblyId>false</appendAssemblyId>
-              <tarLongFileMode>posix</tarLongFileMode>
               <descriptors>
-                <descriptor>assembly-jena-zip.xml</descriptor>
+                <descriptor>assembly-jena-download.xml</descriptor>
               </descriptors>
-              <tarLongFileFormat>gnu</tarLongFileFormat>
             </configuration>
           </execution>
         </executions>
       </plugin>
       
-      <!-- 
-      Use the dependencies plugin to copy the dependencies into the lib/ directory which makes the scripts work in dev enivronments 
-      - -> JENA-1173
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-dependency-plugin</artifactId>
-        <executions>
-          <execution>
-            <id>copy-libs-for-scripts</id>
-            <phase>package</phase>
-            <goals>
-              <goal>copy-dependencies</goal>
-            </goals>
-            <configuration>
-              <overWriteSnapshots>true</overWriteSnapshots>
-              <includeScope>runtime</includeScope>
-              <includeTypes>jar</includeTypes>
-              <outputDirectory>lib/</outputDirectory>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-      -->
-
-      <!-- 
-      As we copy dependencies into lib/ to make scripts work in dev environments we also need to clean up that directory
-      - -> JENA-1173
-      <plugin>
-        <artifactId>maven-clean-plugin</artifactId>
-        <configuration>
-          <filesets>
-            <fileset>
-              <directory>lib/</directory>
-            </fileset>
-          </filesets>
-        </configuration>
-      </plugin>
-      -->
     </plugins>
   </build>
 
diff --git a/jena-arq/pom.xml b/jena-arq/pom.xml
index 19160d4..8383fb9 100644
--- a/jena-arq/pom.xml
+++ b/jena-arq/pom.xml
@@ -24,7 +24,7 @@
   <parent>
     <groupId>org.apache.jena</groupId>
     <artifactId>jena</artifactId>
-    <version>5.0.0-SNAPSHOT</version>
+    <version>5.1.0-SNAPSHOT</version>
     <relativePath>..</relativePath>
   </parent>
 
@@ -40,14 +40,14 @@
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-core</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
     </dependency>
 
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-core</artifactId>
       <classifier>tests</classifier>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
 
@@ -55,7 +55,7 @@
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-base</artifactId>
       <classifier>tests</classifier>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
 
@@ -117,8 +117,8 @@
     </dependency>
 
     <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
+      <groupId>org.junit.vintage</groupId>
+      <artifactId>junit-vintage-engine</artifactId>
       <scope>test</scope>
     </dependency>
 
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/protobuf/PBufRDF.java b/jena-arq/src/main/java/org/apache/jena/riot/protobuf/PBufRDF.java
index 6766908..1cfd184 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/protobuf/PBufRDF.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/protobuf/PBufRDF.java
@@ -18,9 +18,10 @@
 
 package org.apache.jena.riot.protobuf;
 
-import java.io.*;
+import java.io.IOException;
+import java.io.OutputStream;
 
-import com.google.protobuf.GeneratedMessageV3;
+import com.google.protobuf.GeneratedMessage;
 
 import org.apache.jena.atlas.io.IO;
 import org.apache.jena.atlas.lib.InternalErrorException;
@@ -39,7 +40,7 @@
 
     private static PrefixMap PMAP0 = PrefixMapFactory.emptyPrefixMap();
 
-    public static void writeDelimitedTo(GeneratedMessageV3 gmv3, OutputStream output) {
+    public static void writeDelimitedTo(GeneratedMessage gmv3, OutputStream output) {
         try {
             gmv3.writeDelimitedTo(output);
         } catch (IOException e) { IO.exception(e); }
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/protobuf/wire/PB_RDF.java b/jena-arq/src/main/java/org/apache/jena/riot/protobuf/wire/PB_RDF.java
index 957de4d..820c94a 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/protobuf/wire/PB_RDF.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/protobuf/wire/PB_RDF.java
@@ -18,12 +18,22 @@
 
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // source: binary-rdf.proto
+// Protobuf Java Version: 4.26.0
 
 package org.apache.jena.riot.protobuf.wire;
 
 @SuppressWarnings("all")
 public final class PB_RDF {
   private PB_RDF() {}
+  static {
+    com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
+      com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
+      /* major= */ 4,
+      /* minor= */ 26,
+      /* patch= */ 0,
+      /* suffix= */ "",
+      PB_RDF.class.getName());
+  }
   public static void registerAllExtensions(
       com.google.protobuf.ExtensionRegistryLite registry) {
   }
@@ -53,80 +63,34 @@
    * Protobuf type {@code RDF_IRI}
    */
   public static final class RDF_IRI extends
-      com.google.protobuf.GeneratedMessageV3 implements
+      com.google.protobuf.GeneratedMessage implements
       // @@protoc_insertion_point(message_implements:RDF_IRI)
       RDF_IRIOrBuilder {
   private static final long serialVersionUID = 0L;
+    static {
+      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
+        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
+        /* major= */ 4,
+        /* minor= */ 26,
+        /* patch= */ 0,
+        /* suffix= */ "",
+        RDF_IRI.class.getName());
+    }
     // Use RDF_IRI.newBuilder() to construct.
-    private RDF_IRI(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+    private RDF_IRI(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
       super(builder);
     }
     private RDF_IRI() {
       iri_ = "";
     }
 
-    @java.lang.Override
-    @SuppressWarnings({"unused"})
-    protected java.lang.Object newInstance(
-        UnusedPrivateParameter unused) {
-      return new RDF_IRI();
-    }
-
-    @java.lang.Override
-    public final com.google.protobuf.UnknownFieldSet
-    getUnknownFields() {
-      return this.unknownFields;
-    }
-    private RDF_IRI(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      this();
-      if (extensionRegistry == null) {
-        throw new java.lang.NullPointerException();
-      }
-      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-          com.google.protobuf.UnknownFieldSet.newBuilder();
-      try {
-        boolean done = false;
-        while (!done) {
-          int tag = input.readTag();
-          switch (tag) {
-            case 0:
-              done = true;
-              break;
-            case 10: {
-              java.lang.String s = input.readStringRequireUtf8();
-
-              iri_ = s;
-              break;
-            }
-            default: {
-              if (!parseUnknownField(
-                  input, unknownFields, extensionRegistry, tag)) {
-                done = true;
-              }
-              break;
-            }
-          }
-        }
-      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw e.setUnfinishedMessage(this);
-      } catch (java.io.IOException e) {
-        throw new com.google.protobuf.InvalidProtocolBufferException(
-            e).setUnfinishedMessage(this);
-      } finally {
-        this.unknownFields = unknownFields.build();
-        makeExtensionsImmutable();
-      }
-    }
     public static final com.google.protobuf.Descriptors.Descriptor
         getDescriptor() {
       return org.apache.jena.riot.protobuf.wire.PB_RDF.internal_static_RDF_IRI_descriptor;
     }
 
     @java.lang.Override
-    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
         internalGetFieldAccessorTable() {
       return org.apache.jena.riot.protobuf.wire.PB_RDF.internal_static_RDF_IRI_fieldAccessorTable
           .ensureFieldAccessorsInitialized(
@@ -134,7 +98,8 @@
     }
 
     public static final int IRI_FIELD_NUMBER = 1;
-    private volatile java.lang.Object iri_;
+    @SuppressWarnings("serial")
+    private volatile java.lang.Object iri_ = "";
     /**
      * <code>string iri = 1;</code>
      * @return The iri.
@@ -185,10 +150,10 @@
     @java.lang.Override
     public void writeTo(com.google.protobuf.CodedOutputStream output)
                         throws java.io.IOException {
-      if (!getIriBytes().isEmpty()) {
-        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, iri_);
+      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(iri_)) {
+        com.google.protobuf.GeneratedMessage.writeString(output, 1, iri_);
       }
-      unknownFields.writeTo(output);
+      getUnknownFields().writeTo(output);
     }
 
     @java.lang.Override
@@ -197,10 +162,10 @@
       if (size != -1) return size;
 
       size = 0;
-      if (!getIriBytes().isEmpty()) {
-        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, iri_);
+      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(iri_)) {
+        size += com.google.protobuf.GeneratedMessage.computeStringSize(1, iri_);
       }
-      size += unknownFields.getSerializedSize();
+      size += getUnknownFields().getSerializedSize();
       memoizedSize = size;
       return size;
     }
@@ -217,7 +182,7 @@
 
       if (!getIri()
           .equals(other.getIri())) return false;
-      if (!unknownFields.equals(other.unknownFields)) return false;
+      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
       return true;
     }
 
@@ -230,7 +195,7 @@
       hash = (19 * hash) + getDescriptor().hashCode();
       hash = (37 * hash) + IRI_FIELD_NUMBER;
       hash = (53 * hash) + getIri().hashCode();
-      hash = (29 * hash) + unknownFields.hashCode();
+      hash = (29 * hash) + getUnknownFields().hashCode();
       memoizedHashCode = hash;
       return hash;
     }
@@ -269,39 +234,41 @@
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_IRI parseFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input);
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_IRI parseFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input, extensionRegistry);
     }
+
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_IRI parseDelimitedFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseDelimitedWithIOException(PARSER, input);
     }
+
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_IRI parseDelimitedFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_IRI parseFrom(
         com.google.protobuf.CodedInputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input);
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_IRI parseFrom(
         com.google.protobuf.CodedInputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input, extensionRegistry);
     }
 
@@ -321,7 +288,7 @@
 
     @java.lang.Override
     protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
       Builder builder = new Builder(parent);
       return builder;
     }
@@ -329,7 +296,7 @@
      * Protobuf type {@code RDF_IRI}
      */
     public static final class Builder extends
-        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
         // @@protoc_insertion_point(builder_implements:RDF_IRI)
         org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_IRIOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
@@ -338,7 +305,7 @@
       }
 
       @java.lang.Override
-      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
           internalGetFieldAccessorTable() {
         return org.apache.jena.riot.protobuf.wire.PB_RDF.internal_static_RDF_IRI_fieldAccessorTable
             .ensureFieldAccessorsInitialized(
@@ -347,24 +314,19 @@
 
       // Construct using org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_IRI.newBuilder()
       private Builder() {
-        maybeForceBuilderInitialization();
+
       }
 
       private Builder(
-          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
         super(parent);
-        maybeForceBuilderInitialization();
-      }
-      private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessageV3
-                .alwaysUseFieldBuilders) {
-        }
+
       }
       @java.lang.Override
       public Builder clear() {
         super.clear();
+        bitField0_ = 0;
         iri_ = "";
-
         return this;
       }
 
@@ -391,43 +353,18 @@
       @java.lang.Override
       public org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_IRI buildPartial() {
         org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_IRI result = new org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_IRI(this);
-        result.iri_ = iri_;
+        if (bitField0_ != 0) { buildPartial0(result); }
         onBuilt();
         return result;
       }
 
-      @java.lang.Override
-      public Builder clone() {
-        return super.clone();
+      private void buildPartial0(org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_IRI result) {
+        int from_bitField0_ = bitField0_;
+        if (((from_bitField0_ & 0x00000001) != 0)) {
+          result.iri_ = iri_;
+        }
       }
-      @java.lang.Override
-      public Builder setField(
-          com.google.protobuf.Descriptors.FieldDescriptor field,
-          java.lang.Object value) {
-        return super.setField(field, value);
-      }
-      @java.lang.Override
-      public Builder clearField(
-          com.google.protobuf.Descriptors.FieldDescriptor field) {
-        return super.clearField(field);
-      }
-      @java.lang.Override
-      public Builder clearOneof(
-          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
-        return super.clearOneof(oneof);
-      }
-      @java.lang.Override
-      public Builder setRepeatedField(
-          com.google.protobuf.Descriptors.FieldDescriptor field,
-          int index, java.lang.Object value) {
-        return super.setRepeatedField(field, index, value);
-      }
-      @java.lang.Override
-      public Builder addRepeatedField(
-          com.google.protobuf.Descriptors.FieldDescriptor field,
-          java.lang.Object value) {
-        return super.addRepeatedField(field, value);
-      }
+
       @java.lang.Override
       public Builder mergeFrom(com.google.protobuf.Message other) {
         if (other instanceof org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_IRI) {
@@ -442,9 +379,10 @@
         if (other == org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_IRI.getDefaultInstance()) return this;
         if (!other.getIri().isEmpty()) {
           iri_ = other.iri_;
+          bitField0_ |= 0x00000001;
           onChanged();
         }
-        this.mergeUnknownFields(other.unknownFields);
+        this.mergeUnknownFields(other.getUnknownFields());
         onChanged();
         return this;
       }
@@ -459,19 +397,38 @@
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
           throws java.io.IOException {
-        org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_IRI parsedMessage = null;
+        if (extensionRegistry == null) {
+          throw new java.lang.NullPointerException();
+        }
         try {
-          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+          boolean done = false;
+          while (!done) {
+            int tag = input.readTag();
+            switch (tag) {
+              case 0:
+                done = true;
+                break;
+              case 10: {
+                iri_ = input.readStringRequireUtf8();
+                bitField0_ |= 0x00000001;
+                break;
+              } // case 10
+              default: {
+                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
+                  done = true; // was an endgroup tag
+                }
+                break;
+              } // default:
+            } // switch (tag)
+          } // while (!done)
         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          parsedMessage = (org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_IRI) e.getUnfinishedMessage();
           throw e.unwrapIOException();
         } finally {
-          if (parsedMessage != null) {
-            mergeFrom(parsedMessage);
-          }
-        }
+          onChanged();
+        } // finally
         return this;
       }
+      private int bitField0_;
 
       private java.lang.Object iri_ = "";
       /**
@@ -514,11 +471,9 @@
        */
       public Builder setIri(
           java.lang.String value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  
+        if (value == null) { throw new NullPointerException(); }
         iri_ = value;
+        bitField0_ |= 0x00000001;
         onChanged();
         return this;
       }
@@ -527,8 +482,8 @@
        * @return This builder for chaining.
        */
       public Builder clearIri() {
-        
         iri_ = getDefaultInstance().getIri();
+        bitField0_ = (bitField0_ & ~0x00000001);
         onChanged();
         return this;
       }
@@ -539,27 +494,13 @@
        */
       public Builder setIriBytes(
           com.google.protobuf.ByteString value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  checkByteStringIsUtf8(value);
-        
+        if (value == null) { throw new NullPointerException(); }
+        checkByteStringIsUtf8(value);
         iri_ = value;
+        bitField0_ |= 0x00000001;
         onChanged();
         return this;
       }
-      @java.lang.Override
-      public final Builder setUnknownFields(
-          final com.google.protobuf.UnknownFieldSet unknownFields) {
-        return super.setUnknownFields(unknownFields);
-      }
-
-      @java.lang.Override
-      public final Builder mergeUnknownFields(
-          final com.google.protobuf.UnknownFieldSet unknownFields) {
-        return super.mergeUnknownFields(unknownFields);
-      }
-
 
       // @@protoc_insertion_point(builder_scope:RDF_IRI)
     }
@@ -581,7 +522,18 @@
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
           throws com.google.protobuf.InvalidProtocolBufferException {
-        return new RDF_IRI(input, extensionRegistry);
+        Builder builder = newBuilder();
+        try {
+          builder.mergeFrom(input, extensionRegistry);
+        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+          throw e.setUnfinishedMessage(builder.buildPartial());
+        } catch (com.google.protobuf.UninitializedMessageException e) {
+          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
+        } catch (java.io.IOException e) {
+          throw new com.google.protobuf.InvalidProtocolBufferException(e)
+              .setUnfinishedMessage(builder.buildPartial());
+        }
+        return builder.buildPartial();
       }
     };
 
@@ -637,12 +589,21 @@
    * Protobuf type {@code RDF_PrefixName}
    */
   public static final class RDF_PrefixName extends
-      com.google.protobuf.GeneratedMessageV3 implements
+      com.google.protobuf.GeneratedMessage implements
       // @@protoc_insertion_point(message_implements:RDF_PrefixName)
       RDF_PrefixNameOrBuilder {
   private static final long serialVersionUID = 0L;
+    static {
+      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
+        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
+        /* major= */ 4,
+        /* minor= */ 26,
+        /* patch= */ 0,
+        /* suffix= */ "",
+        RDF_PrefixName.class.getName());
+    }
     // Use RDF_PrefixName.newBuilder() to construct.
-    private RDF_PrefixName(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+    private RDF_PrefixName(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
       super(builder);
     }
     private RDF_PrefixName() {
@@ -650,74 +611,13 @@
       localName_ = "";
     }
 
-    @java.lang.Override
-    @SuppressWarnings({"unused"})
-    protected java.lang.Object newInstance(
-        UnusedPrivateParameter unused) {
-      return new RDF_PrefixName();
-    }
-
-    @java.lang.Override
-    public final com.google.protobuf.UnknownFieldSet
-    getUnknownFields() {
-      return this.unknownFields;
-    }
-    private RDF_PrefixName(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      this();
-      if (extensionRegistry == null) {
-        throw new java.lang.NullPointerException();
-      }
-      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-          com.google.protobuf.UnknownFieldSet.newBuilder();
-      try {
-        boolean done = false;
-        while (!done) {
-          int tag = input.readTag();
-          switch (tag) {
-            case 0:
-              done = true;
-              break;
-            case 10: {
-              java.lang.String s = input.readStringRequireUtf8();
-
-              prefix_ = s;
-              break;
-            }
-            case 18: {
-              java.lang.String s = input.readStringRequireUtf8();
-
-              localName_ = s;
-              break;
-            }
-            default: {
-              if (!parseUnknownField(
-                  input, unknownFields, extensionRegistry, tag)) {
-                done = true;
-              }
-              break;
-            }
-          }
-        }
-      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw e.setUnfinishedMessage(this);
-      } catch (java.io.IOException e) {
-        throw new com.google.protobuf.InvalidProtocolBufferException(
-            e).setUnfinishedMessage(this);
-      } finally {
-        this.unknownFields = unknownFields.build();
-        makeExtensionsImmutable();
-      }
-    }
     public static final com.google.protobuf.Descriptors.Descriptor
         getDescriptor() {
       return org.apache.jena.riot.protobuf.wire.PB_RDF.internal_static_RDF_PrefixName_descriptor;
     }
 
     @java.lang.Override
-    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
         internalGetFieldAccessorTable() {
       return org.apache.jena.riot.protobuf.wire.PB_RDF.internal_static_RDF_PrefixName_fieldAccessorTable
           .ensureFieldAccessorsInitialized(
@@ -725,7 +625,8 @@
     }
 
     public static final int PREFIX_FIELD_NUMBER = 1;
-    private volatile java.lang.Object prefix_;
+    @SuppressWarnings("serial")
+    private volatile java.lang.Object prefix_ = "";
     /**
      * <code>string prefix = 1;</code>
      * @return The prefix.
@@ -763,7 +664,8 @@
     }
 
     public static final int LOCALNAME_FIELD_NUMBER = 2;
-    private volatile java.lang.Object localName_;
+    @SuppressWarnings("serial")
+    private volatile java.lang.Object localName_ = "";
     /**
      * <code>string localName = 2;</code>
      * @return The localName.
@@ -814,13 +716,13 @@
     @java.lang.Override
     public void writeTo(com.google.protobuf.CodedOutputStream output)
                         throws java.io.IOException {
-      if (!getPrefixBytes().isEmpty()) {
-        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, prefix_);
+      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(prefix_)) {
+        com.google.protobuf.GeneratedMessage.writeString(output, 1, prefix_);
       }
-      if (!getLocalNameBytes().isEmpty()) {
-        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, localName_);
+      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(localName_)) {
+        com.google.protobuf.GeneratedMessage.writeString(output, 2, localName_);
       }
-      unknownFields.writeTo(output);
+      getUnknownFields().writeTo(output);
     }
 
     @java.lang.Override
@@ -829,13 +731,13 @@
       if (size != -1) return size;
 
       size = 0;
-      if (!getPrefixBytes().isEmpty()) {
-        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, prefix_);
+      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(prefix_)) {
+        size += com.google.protobuf.GeneratedMessage.computeStringSize(1, prefix_);
       }
-      if (!getLocalNameBytes().isEmpty()) {
-        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, localName_);
+      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(localName_)) {
+        size += com.google.protobuf.GeneratedMessage.computeStringSize(2, localName_);
       }
-      size += unknownFields.getSerializedSize();
+      size += getUnknownFields().getSerializedSize();
       memoizedSize = size;
       return size;
     }
@@ -854,7 +756,7 @@
           .equals(other.getPrefix())) return false;
       if (!getLocalName()
           .equals(other.getLocalName())) return false;
-      if (!unknownFields.equals(other.unknownFields)) return false;
+      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
       return true;
     }
 
@@ -869,7 +771,7 @@
       hash = (53 * hash) + getPrefix().hashCode();
       hash = (37 * hash) + LOCALNAME_FIELD_NUMBER;
       hash = (53 * hash) + getLocalName().hashCode();
-      hash = (29 * hash) + unknownFields.hashCode();
+      hash = (29 * hash) + getUnknownFields().hashCode();
       memoizedHashCode = hash;
       return hash;
     }
@@ -908,39 +810,41 @@
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixName parseFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input);
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixName parseFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input, extensionRegistry);
     }
+
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixName parseDelimitedFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseDelimitedWithIOException(PARSER, input);
     }
+
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixName parseDelimitedFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixName parseFrom(
         com.google.protobuf.CodedInputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input);
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixName parseFrom(
         com.google.protobuf.CodedInputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input, extensionRegistry);
     }
 
@@ -960,7 +864,7 @@
 
     @java.lang.Override
     protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
       Builder builder = new Builder(parent);
       return builder;
     }
@@ -972,7 +876,7 @@
      * Protobuf type {@code RDF_PrefixName}
      */
     public static final class Builder extends
-        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
         // @@protoc_insertion_point(builder_implements:RDF_PrefixName)
         org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixNameOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
@@ -981,7 +885,7 @@
       }
 
       @java.lang.Override
-      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
           internalGetFieldAccessorTable() {
         return org.apache.jena.riot.protobuf.wire.PB_RDF.internal_static_RDF_PrefixName_fieldAccessorTable
             .ensureFieldAccessorsInitialized(
@@ -990,26 +894,20 @@
 
       // Construct using org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixName.newBuilder()
       private Builder() {
-        maybeForceBuilderInitialization();
+
       }
 
       private Builder(
-          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
         super(parent);
-        maybeForceBuilderInitialization();
-      }
-      private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessageV3
-                .alwaysUseFieldBuilders) {
-        }
+
       }
       @java.lang.Override
       public Builder clear() {
         super.clear();
+        bitField0_ = 0;
         prefix_ = "";
-
         localName_ = "";
-
         return this;
       }
 
@@ -1036,44 +934,21 @@
       @java.lang.Override
       public org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixName buildPartial() {
         org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixName result = new org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixName(this);
-        result.prefix_ = prefix_;
-        result.localName_ = localName_;
+        if (bitField0_ != 0) { buildPartial0(result); }
         onBuilt();
         return result;
       }
 
-      @java.lang.Override
-      public Builder clone() {
-        return super.clone();
+      private void buildPartial0(org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixName result) {
+        int from_bitField0_ = bitField0_;
+        if (((from_bitField0_ & 0x00000001) != 0)) {
+          result.prefix_ = prefix_;
+        }
+        if (((from_bitField0_ & 0x00000002) != 0)) {
+          result.localName_ = localName_;
+        }
       }
-      @java.lang.Override
-      public Builder setField(
-          com.google.protobuf.Descriptors.FieldDescriptor field,
-          java.lang.Object value) {
-        return super.setField(field, value);
-      }
-      @java.lang.Override
-      public Builder clearField(
-          com.google.protobuf.Descriptors.FieldDescriptor field) {
-        return super.clearField(field);
-      }
-      @java.lang.Override
-      public Builder clearOneof(
-          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
-        return super.clearOneof(oneof);
-      }
-      @java.lang.Override
-      public Builder setRepeatedField(
-          com.google.protobuf.Descriptors.FieldDescriptor field,
-          int index, java.lang.Object value) {
-        return super.setRepeatedField(field, index, value);
-      }
-      @java.lang.Override
-      public Builder addRepeatedField(
-          com.google.protobuf.Descriptors.FieldDescriptor field,
-          java.lang.Object value) {
-        return super.addRepeatedField(field, value);
-      }
+
       @java.lang.Override
       public Builder mergeFrom(com.google.protobuf.Message other) {
         if (other instanceof org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixName) {
@@ -1088,13 +963,15 @@
         if (other == org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixName.getDefaultInstance()) return this;
         if (!other.getPrefix().isEmpty()) {
           prefix_ = other.prefix_;
+          bitField0_ |= 0x00000001;
           onChanged();
         }
         if (!other.getLocalName().isEmpty()) {
           localName_ = other.localName_;
+          bitField0_ |= 0x00000002;
           onChanged();
         }
-        this.mergeUnknownFields(other.unknownFields);
+        this.mergeUnknownFields(other.getUnknownFields());
         onChanged();
         return this;
       }
@@ -1109,19 +986,43 @@
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
           throws java.io.IOException {
-        org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixName parsedMessage = null;
+        if (extensionRegistry == null) {
+          throw new java.lang.NullPointerException();
+        }
         try {
-          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+          boolean done = false;
+          while (!done) {
+            int tag = input.readTag();
+            switch (tag) {
+              case 0:
+                done = true;
+                break;
+              case 10: {
+                prefix_ = input.readStringRequireUtf8();
+                bitField0_ |= 0x00000001;
+                break;
+              } // case 10
+              case 18: {
+                localName_ = input.readStringRequireUtf8();
+                bitField0_ |= 0x00000002;
+                break;
+              } // case 18
+              default: {
+                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
+                  done = true; // was an endgroup tag
+                }
+                break;
+              } // default:
+            } // switch (tag)
+          } // while (!done)
         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          parsedMessage = (org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixName) e.getUnfinishedMessage();
           throw e.unwrapIOException();
         } finally {
-          if (parsedMessage != null) {
-            mergeFrom(parsedMessage);
-          }
-        }
+          onChanged();
+        } // finally
         return this;
       }
+      private int bitField0_;
 
       private java.lang.Object prefix_ = "";
       /**
@@ -1164,11 +1065,9 @@
        */
       public Builder setPrefix(
           java.lang.String value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  
+        if (value == null) { throw new NullPointerException(); }
         prefix_ = value;
+        bitField0_ |= 0x00000001;
         onChanged();
         return this;
       }
@@ -1177,8 +1076,8 @@
        * @return This builder for chaining.
        */
       public Builder clearPrefix() {
-        
         prefix_ = getDefaultInstance().getPrefix();
+        bitField0_ = (bitField0_ & ~0x00000001);
         onChanged();
         return this;
       }
@@ -1189,12 +1088,10 @@
        */
       public Builder setPrefixBytes(
           com.google.protobuf.ByteString value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  checkByteStringIsUtf8(value);
-        
+        if (value == null) { throw new NullPointerException(); }
+        checkByteStringIsUtf8(value);
         prefix_ = value;
+        bitField0_ |= 0x00000001;
         onChanged();
         return this;
       }
@@ -1240,11 +1137,9 @@
        */
       public Builder setLocalName(
           java.lang.String value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  
+        if (value == null) { throw new NullPointerException(); }
         localName_ = value;
+        bitField0_ |= 0x00000002;
         onChanged();
         return this;
       }
@@ -1253,8 +1148,8 @@
        * @return This builder for chaining.
        */
       public Builder clearLocalName() {
-        
         localName_ = getDefaultInstance().getLocalName();
+        bitField0_ = (bitField0_ & ~0x00000002);
         onChanged();
         return this;
       }
@@ -1265,27 +1160,13 @@
        */
       public Builder setLocalNameBytes(
           com.google.protobuf.ByteString value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  checkByteStringIsUtf8(value);
-        
+        if (value == null) { throw new NullPointerException(); }
+        checkByteStringIsUtf8(value);
         localName_ = value;
+        bitField0_ |= 0x00000002;
         onChanged();
         return this;
       }
-      @java.lang.Override
-      public final Builder setUnknownFields(
-          final com.google.protobuf.UnknownFieldSet unknownFields) {
-        return super.setUnknownFields(unknownFields);
-      }
-
-      @java.lang.Override
-      public final Builder mergeUnknownFields(
-          final com.google.protobuf.UnknownFieldSet unknownFields) {
-        return super.mergeUnknownFields(unknownFields);
-      }
-
 
       // @@protoc_insertion_point(builder_scope:RDF_PrefixName)
     }
@@ -1307,7 +1188,18 @@
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
           throws com.google.protobuf.InvalidProtocolBufferException {
-        return new RDF_PrefixName(input, extensionRegistry);
+        Builder builder = newBuilder();
+        try {
+          builder.mergeFrom(input, extensionRegistry);
+        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+          throw e.setUnfinishedMessage(builder.buildPartial());
+        } catch (com.google.protobuf.UninitializedMessageException e) {
+          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
+        } catch (java.io.IOException e) {
+          throw new com.google.protobuf.InvalidProtocolBufferException(e)
+              .setUnfinishedMessage(builder.buildPartial());
+        }
+        return builder.buildPartial();
       }
     };
 
@@ -1355,80 +1247,34 @@
    * Protobuf type {@code RDF_BNode}
    */
   public static final class RDF_BNode extends
-      com.google.protobuf.GeneratedMessageV3 implements
+      com.google.protobuf.GeneratedMessage implements
       // @@protoc_insertion_point(message_implements:RDF_BNode)
       RDF_BNodeOrBuilder {
   private static final long serialVersionUID = 0L;
+    static {
+      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
+        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
+        /* major= */ 4,
+        /* minor= */ 26,
+        /* patch= */ 0,
+        /* suffix= */ "",
+        RDF_BNode.class.getName());
+    }
     // Use RDF_BNode.newBuilder() to construct.
-    private RDF_BNode(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+    private RDF_BNode(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
       super(builder);
     }
     private RDF_BNode() {
       label_ = "";
     }
 
-    @java.lang.Override
-    @SuppressWarnings({"unused"})
-    protected java.lang.Object newInstance(
-        UnusedPrivateParameter unused) {
-      return new RDF_BNode();
-    }
-
-    @java.lang.Override
-    public final com.google.protobuf.UnknownFieldSet
-    getUnknownFields() {
-      return this.unknownFields;
-    }
-    private RDF_BNode(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      this();
-      if (extensionRegistry == null) {
-        throw new java.lang.NullPointerException();
-      }
-      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-          com.google.protobuf.UnknownFieldSet.newBuilder();
-      try {
-        boolean done = false;
-        while (!done) {
-          int tag = input.readTag();
-          switch (tag) {
-            case 0:
-              done = true;
-              break;
-            case 10: {
-              java.lang.String s = input.readStringRequireUtf8();
-
-              label_ = s;
-              break;
-            }
-            default: {
-              if (!parseUnknownField(
-                  input, unknownFields, extensionRegistry, tag)) {
-                done = true;
-              }
-              break;
-            }
-          }
-        }
-      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw e.setUnfinishedMessage(this);
-      } catch (java.io.IOException e) {
-        throw new com.google.protobuf.InvalidProtocolBufferException(
-            e).setUnfinishedMessage(this);
-      } finally {
-        this.unknownFields = unknownFields.build();
-        makeExtensionsImmutable();
-      }
-    }
     public static final com.google.protobuf.Descriptors.Descriptor
         getDescriptor() {
       return org.apache.jena.riot.protobuf.wire.PB_RDF.internal_static_RDF_BNode_descriptor;
     }
 
     @java.lang.Override
-    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
         internalGetFieldAccessorTable() {
       return org.apache.jena.riot.protobuf.wire.PB_RDF.internal_static_RDF_BNode_fieldAccessorTable
           .ensureFieldAccessorsInitialized(
@@ -1436,7 +1282,8 @@
     }
 
     public static final int LABEL_FIELD_NUMBER = 1;
-    private volatile java.lang.Object label_;
+    @SuppressWarnings("serial")
+    private volatile java.lang.Object label_ = "";
     /**
      * <pre>
      * 2 * fixed64
@@ -1495,10 +1342,10 @@
     @java.lang.Override
     public void writeTo(com.google.protobuf.CodedOutputStream output)
                         throws java.io.IOException {
-      if (!getLabelBytes().isEmpty()) {
-        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, label_);
+      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(label_)) {
+        com.google.protobuf.GeneratedMessage.writeString(output, 1, label_);
       }
-      unknownFields.writeTo(output);
+      getUnknownFields().writeTo(output);
     }
 
     @java.lang.Override
@@ -1507,10 +1354,10 @@
       if (size != -1) return size;
 
       size = 0;
-      if (!getLabelBytes().isEmpty()) {
-        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, label_);
+      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(label_)) {
+        size += com.google.protobuf.GeneratedMessage.computeStringSize(1, label_);
       }
-      size += unknownFields.getSerializedSize();
+      size += getUnknownFields().getSerializedSize();
       memoizedSize = size;
       return size;
     }
@@ -1527,7 +1374,7 @@
 
       if (!getLabel()
           .equals(other.getLabel())) return false;
-      if (!unknownFields.equals(other.unknownFields)) return false;
+      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
       return true;
     }
 
@@ -1540,7 +1387,7 @@
       hash = (19 * hash) + getDescriptor().hashCode();
       hash = (37 * hash) + LABEL_FIELD_NUMBER;
       hash = (53 * hash) + getLabel().hashCode();
-      hash = (29 * hash) + unknownFields.hashCode();
+      hash = (29 * hash) + getUnknownFields().hashCode();
       memoizedHashCode = hash;
       return hash;
     }
@@ -1579,39 +1426,41 @@
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_BNode parseFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input);
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_BNode parseFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input, extensionRegistry);
     }
+
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_BNode parseDelimitedFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseDelimitedWithIOException(PARSER, input);
     }
+
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_BNode parseDelimitedFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_BNode parseFrom(
         com.google.protobuf.CodedInputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input);
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_BNode parseFrom(
         com.google.protobuf.CodedInputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input, extensionRegistry);
     }
 
@@ -1631,7 +1480,7 @@
 
     @java.lang.Override
     protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
       Builder builder = new Builder(parent);
       return builder;
     }
@@ -1639,7 +1488,7 @@
      * Protobuf type {@code RDF_BNode}
      */
     public static final class Builder extends
-        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
         // @@protoc_insertion_point(builder_implements:RDF_BNode)
         org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_BNodeOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
@@ -1648,7 +1497,7 @@
       }
 
       @java.lang.Override
-      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
           internalGetFieldAccessorTable() {
         return org.apache.jena.riot.protobuf.wire.PB_RDF.internal_static_RDF_BNode_fieldAccessorTable
             .ensureFieldAccessorsInitialized(
@@ -1657,24 +1506,19 @@
 
       // Construct using org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_BNode.newBuilder()
       private Builder() {
-        maybeForceBuilderInitialization();
+
       }
 
       private Builder(
-          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
         super(parent);
-        maybeForceBuilderInitialization();
-      }
-      private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessageV3
-                .alwaysUseFieldBuilders) {
-        }
+
       }
       @java.lang.Override
       public Builder clear() {
         super.clear();
+        bitField0_ = 0;
         label_ = "";
-
         return this;
       }
 
@@ -1701,43 +1545,18 @@
       @java.lang.Override
       public org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_BNode buildPartial() {
         org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_BNode result = new org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_BNode(this);
-        result.label_ = label_;
+        if (bitField0_ != 0) { buildPartial0(result); }
         onBuilt();
         return result;
       }
 
-      @java.lang.Override
-      public Builder clone() {
-        return super.clone();
+      private void buildPartial0(org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_BNode result) {
+        int from_bitField0_ = bitField0_;
+        if (((from_bitField0_ & 0x00000001) != 0)) {
+          result.label_ = label_;
+        }
       }
-      @java.lang.Override
-      public Builder setField(
-          com.google.protobuf.Descriptors.FieldDescriptor field,
-          java.lang.Object value) {
-        return super.setField(field, value);
-      }
-      @java.lang.Override
-      public Builder clearField(
-          com.google.protobuf.Descriptors.FieldDescriptor field) {
-        return super.clearField(field);
-      }
-      @java.lang.Override
-      public Builder clearOneof(
-          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
-        return super.clearOneof(oneof);
-      }
-      @java.lang.Override
-      public Builder setRepeatedField(
-          com.google.protobuf.Descriptors.FieldDescriptor field,
-          int index, java.lang.Object value) {
-        return super.setRepeatedField(field, index, value);
-      }
-      @java.lang.Override
-      public Builder addRepeatedField(
-          com.google.protobuf.Descriptors.FieldDescriptor field,
-          java.lang.Object value) {
-        return super.addRepeatedField(field, value);
-      }
+
       @java.lang.Override
       public Builder mergeFrom(com.google.protobuf.Message other) {
         if (other instanceof org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_BNode) {
@@ -1752,9 +1571,10 @@
         if (other == org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_BNode.getDefaultInstance()) return this;
         if (!other.getLabel().isEmpty()) {
           label_ = other.label_;
+          bitField0_ |= 0x00000001;
           onChanged();
         }
-        this.mergeUnknownFields(other.unknownFields);
+        this.mergeUnknownFields(other.getUnknownFields());
         onChanged();
         return this;
       }
@@ -1769,19 +1589,38 @@
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
           throws java.io.IOException {
-        org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_BNode parsedMessage = null;
+        if (extensionRegistry == null) {
+          throw new java.lang.NullPointerException();
+        }
         try {
-          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+          boolean done = false;
+          while (!done) {
+            int tag = input.readTag();
+            switch (tag) {
+              case 0:
+                done = true;
+                break;
+              case 10: {
+                label_ = input.readStringRequireUtf8();
+                bitField0_ |= 0x00000001;
+                break;
+              } // case 10
+              default: {
+                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
+                  done = true; // was an endgroup tag
+                }
+                break;
+              } // default:
+            } // switch (tag)
+          } // while (!done)
         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          parsedMessage = (org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_BNode) e.getUnfinishedMessage();
           throw e.unwrapIOException();
         } finally {
-          if (parsedMessage != null) {
-            mergeFrom(parsedMessage);
-          }
-        }
+          onChanged();
+        } // finally
         return this;
       }
+      private int bitField0_;
 
       private java.lang.Object label_ = "";
       /**
@@ -1836,11 +1675,9 @@
        */
       public Builder setLabel(
           java.lang.String value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  
+        if (value == null) { throw new NullPointerException(); }
         label_ = value;
+        bitField0_ |= 0x00000001;
         onChanged();
         return this;
       }
@@ -1853,8 +1690,8 @@
        * @return This builder for chaining.
        */
       public Builder clearLabel() {
-        
         label_ = getDefaultInstance().getLabel();
+        bitField0_ = (bitField0_ & ~0x00000001);
         onChanged();
         return this;
       }
@@ -1869,27 +1706,13 @@
        */
       public Builder setLabelBytes(
           com.google.protobuf.ByteString value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  checkByteStringIsUtf8(value);
-        
+        if (value == null) { throw new NullPointerException(); }
+        checkByteStringIsUtf8(value);
         label_ = value;
+        bitField0_ |= 0x00000001;
         onChanged();
         return this;
       }
-      @java.lang.Override
-      public final Builder setUnknownFields(
-          final com.google.protobuf.UnknownFieldSet unknownFields) {
-        return super.setUnknownFields(unknownFields);
-      }
-
-      @java.lang.Override
-      public final Builder mergeUnknownFields(
-          final com.google.protobuf.UnknownFieldSet unknownFields) {
-        return super.mergeUnknownFields(unknownFields);
-      }
-
 
       // @@protoc_insertion_point(builder_scope:RDF_BNode)
     }
@@ -1911,7 +1734,18 @@
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
           throws com.google.protobuf.InvalidProtocolBufferException {
-        return new RDF_BNode(input, extensionRegistry);
+        Builder builder = newBuilder();
+        try {
+          builder.mergeFrom(input, extensionRegistry);
+        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+          throw e.setUnfinishedMessage(builder.buildPartial());
+        } catch (com.google.protobuf.UninitializedMessageException e) {
+          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
+        } catch (java.io.IOException e) {
+          throw new com.google.protobuf.InvalidProtocolBufferException(e)
+              .setUnfinishedMessage(builder.buildPartial());
+        }
+        return builder.buildPartial();
       }
     };
 
@@ -1949,12 +1783,22 @@
 
     /**
      * <code>bool simple = 9;</code>
+     * @return Whether the simple field is set.
+     */
+    boolean hasSimple();
+    /**
+     * <code>bool simple = 9;</code>
      * @return The simple.
      */
     boolean getSimple();
 
     /**
      * <code>string langtag = 2;</code>
+     * @return Whether the langtag field is set.
+     */
+    boolean hasLangtag();
+    /**
+     * <code>string langtag = 2;</code>
      * @return The langtag.
      */
     java.lang.String getLangtag();
@@ -1967,6 +1811,11 @@
 
     /**
      * <code>string datatype = 3;</code>
+     * @return Whether the datatype field is set.
+     */
+    boolean hasDatatype();
+    /**
+     * <code>string datatype = 3;</code>
      * @return The datatype.
      */
     java.lang.String getDatatype();
@@ -1992,117 +1841,40 @@
      */
     org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixNameOrBuilder getDtPrefixOrBuilder();
 
-    public org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Literal.LiteralKindCase getLiteralKindCase();
+    org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Literal.LiteralKindCase getLiteralKindCase();
   }
   /**
    * Protobuf type {@code RDF_Literal}
    */
   public static final class RDF_Literal extends
-      com.google.protobuf.GeneratedMessageV3 implements
+      com.google.protobuf.GeneratedMessage implements
       // @@protoc_insertion_point(message_implements:RDF_Literal)
       RDF_LiteralOrBuilder {
   private static final long serialVersionUID = 0L;
+    static {
+      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
+        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
+        /* major= */ 4,
+        /* minor= */ 26,
+        /* patch= */ 0,
+        /* suffix= */ "",
+        RDF_Literal.class.getName());
+    }
     // Use RDF_Literal.newBuilder() to construct.
-    private RDF_Literal(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+    private RDF_Literal(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
       super(builder);
     }
     private RDF_Literal() {
       lex_ = "";
     }
 
-    @java.lang.Override
-    @SuppressWarnings({"unused"})
-    protected java.lang.Object newInstance(
-        UnusedPrivateParameter unused) {
-      return new RDF_Literal();
-    }
-
-    @java.lang.Override
-    public final com.google.protobuf.UnknownFieldSet
-    getUnknownFields() {
-      return this.unknownFields;
-    }
-    private RDF_Literal(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      this();
-      if (extensionRegistry == null) {
-        throw new java.lang.NullPointerException();
-      }
-      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-          com.google.protobuf.UnknownFieldSet.newBuilder();
-      try {
-        boolean done = false;
-        while (!done) {
-          int tag = input.readTag();
-          switch (tag) {
-            case 0:
-              done = true;
-              break;
-            case 10: {
-              java.lang.String s = input.readStringRequireUtf8();
-
-              lex_ = s;
-              break;
-            }
-            case 18: {
-              java.lang.String s = input.readStringRequireUtf8();
-              literalKindCase_ = 2;
-              literalKind_ = s;
-              break;
-            }
-            case 26: {
-              java.lang.String s = input.readStringRequireUtf8();
-              literalKindCase_ = 3;
-              literalKind_ = s;
-              break;
-            }
-            case 34: {
-              org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixName.Builder subBuilder = null;
-              if (literalKindCase_ == 4) {
-                subBuilder = ((org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixName) literalKind_).toBuilder();
-              }
-              literalKind_ =
-                  input.readMessage(org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixName.parser(), extensionRegistry);
-              if (subBuilder != null) {
-                subBuilder.mergeFrom((org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixName) literalKind_);
-                literalKind_ = subBuilder.buildPartial();
-              }
-              literalKindCase_ = 4;
-              break;
-            }
-            case 72: {
-              literalKindCase_ = 9;
-              literalKind_ = input.readBool();
-              break;
-            }
-            default: {
-              if (!parseUnknownField(
-                  input, unknownFields, extensionRegistry, tag)) {
-                done = true;
-              }
-              break;
-            }
-          }
-        }
-      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw e.setUnfinishedMessage(this);
-      } catch (java.io.IOException e) {
-        throw new com.google.protobuf.InvalidProtocolBufferException(
-            e).setUnfinishedMessage(this);
-      } finally {
-        this.unknownFields = unknownFields.build();
-        makeExtensionsImmutable();
-      }
-    }
     public static final com.google.protobuf.Descriptors.Descriptor
         getDescriptor() {
       return org.apache.jena.riot.protobuf.wire.PB_RDF.internal_static_RDF_Literal_descriptor;
     }
 
     @java.lang.Override
-    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
         internalGetFieldAccessorTable() {
       return org.apache.jena.riot.protobuf.wire.PB_RDF.internal_static_RDF_Literal_fieldAccessorTable
           .ensureFieldAccessorsInitialized(
@@ -2110,6 +1882,7 @@
     }
 
     private int literalKindCase_ = 0;
+    @SuppressWarnings("serial")
     private java.lang.Object literalKind_;
     public enum LiteralKindCase
         implements com.google.protobuf.Internal.EnumLite,
@@ -2155,7 +1928,8 @@
     }
 
     public static final int LEX_FIELD_NUMBER = 1;
-    private volatile java.lang.Object lex_;
+    @SuppressWarnings("serial")
+    private volatile java.lang.Object lex_ = "";
     /**
      * <code>string lex = 1;</code>
      * @return The lex.
@@ -2195,6 +1969,14 @@
     public static final int SIMPLE_FIELD_NUMBER = 9;
     /**
      * <code>bool simple = 9;</code>
+     * @return Whether the simple field is set.
+     */
+    @java.lang.Override
+    public boolean hasSimple() {
+      return literalKindCase_ == 9;
+    }
+    /**
+     * <code>bool simple = 9;</code>
      * @return The simple.
      */
     @java.lang.Override
@@ -2208,6 +1990,13 @@
     public static final int LANGTAG_FIELD_NUMBER = 2;
     /**
      * <code>string langtag = 2;</code>
+     * @return Whether the langtag field is set.
+     */
+    public boolean hasLangtag() {
+      return literalKindCase_ == 2;
+    }
+    /**
+     * <code>string langtag = 2;</code>
      * @return The langtag.
      */
     public java.lang.String getLangtag() {
@@ -2253,6 +2042,13 @@
     public static final int DATATYPE_FIELD_NUMBER = 3;
     /**
      * <code>string datatype = 3;</code>
+     * @return Whether the datatype field is set.
+     */
+    public boolean hasDatatype() {
+      return literalKindCase_ == 3;
+    }
+    /**
+     * <code>string datatype = 3;</code>
      * @return The datatype.
      */
     public java.lang.String getDatatype() {
@@ -2340,14 +2136,14 @@
     @java.lang.Override
     public void writeTo(com.google.protobuf.CodedOutputStream output)
                         throws java.io.IOException {
-      if (!getLexBytes().isEmpty()) {
-        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, lex_);
+      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(lex_)) {
+        com.google.protobuf.GeneratedMessage.writeString(output, 1, lex_);
       }
       if (literalKindCase_ == 2) {
-        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, literalKind_);
+        com.google.protobuf.GeneratedMessage.writeString(output, 2, literalKind_);
       }
       if (literalKindCase_ == 3) {
-        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, literalKind_);
+        com.google.protobuf.GeneratedMessage.writeString(output, 3, literalKind_);
       }
       if (literalKindCase_ == 4) {
         output.writeMessage(4, (org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixName) literalKind_);
@@ -2356,7 +2152,7 @@
         output.writeBool(
             9, (boolean)((java.lang.Boolean) literalKind_));
       }
-      unknownFields.writeTo(output);
+      getUnknownFields().writeTo(output);
     }
 
     @java.lang.Override
@@ -2365,14 +2161,14 @@
       if (size != -1) return size;
 
       size = 0;
-      if (!getLexBytes().isEmpty()) {
-        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, lex_);
+      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(lex_)) {
+        size += com.google.protobuf.GeneratedMessage.computeStringSize(1, lex_);
       }
       if (literalKindCase_ == 2) {
-        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, literalKind_);
+        size += com.google.protobuf.GeneratedMessage.computeStringSize(2, literalKind_);
       }
       if (literalKindCase_ == 3) {
-        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, literalKind_);
+        size += com.google.protobuf.GeneratedMessage.computeStringSize(3, literalKind_);
       }
       if (literalKindCase_ == 4) {
         size += com.google.protobuf.CodedOutputStream
@@ -2383,7 +2179,7 @@
           .computeBoolSize(
               9, (boolean)((java.lang.Boolean) literalKind_));
       }
-      size += unknownFields.getSerializedSize();
+      size += getUnknownFields().getSerializedSize();
       memoizedSize = size;
       return size;
     }
@@ -2421,7 +2217,7 @@
         case 0:
         default:
       }
-      if (!unknownFields.equals(other.unknownFields)) return false;
+      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
       return true;
     }
 
@@ -2455,7 +2251,7 @@
         case 0:
         default:
       }
-      hash = (29 * hash) + unknownFields.hashCode();
+      hash = (29 * hash) + getUnknownFields().hashCode();
       memoizedHashCode = hash;
       return hash;
     }
@@ -2494,39 +2290,41 @@
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Literal parseFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input);
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Literal parseFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input, extensionRegistry);
     }
+
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Literal parseDelimitedFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseDelimitedWithIOException(PARSER, input);
     }
+
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Literal parseDelimitedFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Literal parseFrom(
         com.google.protobuf.CodedInputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input);
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Literal parseFrom(
         com.google.protobuf.CodedInputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input, extensionRegistry);
     }
 
@@ -2546,7 +2344,7 @@
 
     @java.lang.Override
     protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
       Builder builder = new Builder(parent);
       return builder;
     }
@@ -2554,7 +2352,7 @@
      * Protobuf type {@code RDF_Literal}
      */
     public static final class Builder extends
-        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
         // @@protoc_insertion_point(builder_implements:RDF_Literal)
         org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_LiteralOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
@@ -2563,7 +2361,7 @@
       }
 
       @java.lang.Override
-      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
           internalGetFieldAccessorTable() {
         return org.apache.jena.riot.protobuf.wire.PB_RDF.internal_static_RDF_Literal_fieldAccessorTable
             .ensureFieldAccessorsInitialized(
@@ -2572,24 +2370,22 @@
 
       // Construct using org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Literal.newBuilder()
       private Builder() {
-        maybeForceBuilderInitialization();
+
       }
 
       private Builder(
-          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
         super(parent);
-        maybeForceBuilderInitialization();
-      }
-      private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessageV3
-                .alwaysUseFieldBuilders) {
-        }
+
       }
       @java.lang.Override
       public Builder clear() {
         super.clear();
+        bitField0_ = 0;
         lex_ = "";
-
+        if (dtPrefixBuilder_ != null) {
+          dtPrefixBuilder_.clear();
+        }
         literalKindCase_ = 0;
         literalKind_ = null;
         return this;
@@ -2618,60 +2414,28 @@
       @java.lang.Override
       public org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Literal buildPartial() {
         org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Literal result = new org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Literal(this);
-        result.lex_ = lex_;
-        if (literalKindCase_ == 9) {
-          result.literalKind_ = literalKind_;
-        }
-        if (literalKindCase_ == 2) {
-          result.literalKind_ = literalKind_;
-        }
-        if (literalKindCase_ == 3) {
-          result.literalKind_ = literalKind_;
-        }
-        if (literalKindCase_ == 4) {
-          if (dtPrefixBuilder_ == null) {
-            result.literalKind_ = literalKind_;
-          } else {
-            result.literalKind_ = dtPrefixBuilder_.build();
-          }
-        }
-        result.literalKindCase_ = literalKindCase_;
+        if (bitField0_ != 0) { buildPartial0(result); }
+        buildPartialOneofs(result);
         onBuilt();
         return result;
       }
 
-      @java.lang.Override
-      public Builder clone() {
-        return super.clone();
+      private void buildPartial0(org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Literal result) {
+        int from_bitField0_ = bitField0_;
+        if (((from_bitField0_ & 0x00000001) != 0)) {
+          result.lex_ = lex_;
+        }
       }
-      @java.lang.Override
-      public Builder setField(
-          com.google.protobuf.Descriptors.FieldDescriptor field,
-          java.lang.Object value) {
-        return super.setField(field, value);
+
+      private void buildPartialOneofs(org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Literal result) {
+        result.literalKindCase_ = literalKindCase_;
+        result.literalKind_ = this.literalKind_;
+        if (literalKindCase_ == 4 &&
+            dtPrefixBuilder_ != null) {
+          result.literalKind_ = dtPrefixBuilder_.build();
+        }
       }
-      @java.lang.Override
-      public Builder clearField(
-          com.google.protobuf.Descriptors.FieldDescriptor field) {
-        return super.clearField(field);
-      }
-      @java.lang.Override
-      public Builder clearOneof(
-          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
-        return super.clearOneof(oneof);
-      }
-      @java.lang.Override
-      public Builder setRepeatedField(
-          com.google.protobuf.Descriptors.FieldDescriptor field,
-          int index, java.lang.Object value) {
-        return super.setRepeatedField(field, index, value);
-      }
-      @java.lang.Override
-      public Builder addRepeatedField(
-          com.google.protobuf.Descriptors.FieldDescriptor field,
-          java.lang.Object value) {
-        return super.addRepeatedField(field, value);
-      }
+
       @java.lang.Override
       public Builder mergeFrom(com.google.protobuf.Message other) {
         if (other instanceof org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Literal) {
@@ -2686,6 +2450,7 @@
         if (other == org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Literal.getDefaultInstance()) return this;
         if (!other.getLex().isEmpty()) {
           lex_ = other.lex_;
+          bitField0_ |= 0x00000001;
           onChanged();
         }
         switch (other.getLiteralKindCase()) {
@@ -2713,7 +2478,7 @@
             break;
           }
         }
-        this.mergeUnknownFields(other.unknownFields);
+        this.mergeUnknownFields(other.getUnknownFields());
         onChanged();
         return this;
       }
@@ -2728,17 +2493,59 @@
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
           throws java.io.IOException {
-        org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Literal parsedMessage = null;
+        if (extensionRegistry == null) {
+          throw new java.lang.NullPointerException();
+        }
         try {
-          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+          boolean done = false;
+          while (!done) {
+            int tag = input.readTag();
+            switch (tag) {
+              case 0:
+                done = true;
+                break;
+              case 10: {
+                lex_ = input.readStringRequireUtf8();
+                bitField0_ |= 0x00000001;
+                break;
+              } // case 10
+              case 18: {
+                java.lang.String s = input.readStringRequireUtf8();
+                literalKindCase_ = 2;
+                literalKind_ = s;
+                break;
+              } // case 18
+              case 26: {
+                java.lang.String s = input.readStringRequireUtf8();
+                literalKindCase_ = 3;
+                literalKind_ = s;
+                break;
+              } // case 26
+              case 34: {
+                input.readMessage(
+                    getDtPrefixFieldBuilder().getBuilder(),
+                    extensionRegistry);
+                literalKindCase_ = 4;
+                break;
+              } // case 34
+              case 72: {
+                literalKind_ = input.readBool();
+                literalKindCase_ = 9;
+                break;
+              } // case 72
+              default: {
+                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
+                  done = true; // was an endgroup tag
+                }
+                break;
+              } // default:
+            } // switch (tag)
+          } // while (!done)
         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          parsedMessage = (org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Literal) e.getUnfinishedMessage();
           throw e.unwrapIOException();
         } finally {
-          if (parsedMessage != null) {
-            mergeFrom(parsedMessage);
-          }
-        }
+          onChanged();
+        } // finally
         return this;
       }
       private int literalKindCase_ = 0;
@@ -2756,6 +2563,7 @@
         return this;
       }
 
+      private int bitField0_;
 
       private java.lang.Object lex_ = "";
       /**
@@ -2798,11 +2606,9 @@
        */
       public Builder setLex(
           java.lang.String value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  
+        if (value == null) { throw new NullPointerException(); }
         lex_ = value;
+        bitField0_ |= 0x00000001;
         onChanged();
         return this;
       }
@@ -2811,8 +2617,8 @@
        * @return This builder for chaining.
        */
       public Builder clearLex() {
-        
         lex_ = getDefaultInstance().getLex();
+        bitField0_ = (bitField0_ & ~0x00000001);
         onChanged();
         return this;
       }
@@ -2823,18 +2629,23 @@
        */
       public Builder setLexBytes(
           com.google.protobuf.ByteString value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  checkByteStringIsUtf8(value);
-        
+        if (value == null) { throw new NullPointerException(); }
+        checkByteStringIsUtf8(value);
         lex_ = value;
+        bitField0_ |= 0x00000001;
         onChanged();
         return this;
       }
 
       /**
        * <code>bool simple = 9;</code>
+       * @return Whether the simple field is set.
+       */
+      public boolean hasSimple() {
+        return literalKindCase_ == 9;
+      }
+      /**
+       * <code>bool simple = 9;</code>
        * @return The simple.
        */
       public boolean getSimple() {
@@ -2849,6 +2660,7 @@
        * @return This builder for chaining.
        */
       public Builder setSimple(boolean value) {
+
         literalKindCase_ = 9;
         literalKind_ = value;
         onChanged();
@@ -2869,6 +2681,14 @@
 
       /**
        * <code>string langtag = 2;</code>
+       * @return Whether the langtag field is set.
+       */
+      @java.lang.Override
+      public boolean hasLangtag() {
+        return literalKindCase_ == 2;
+      }
+      /**
+       * <code>string langtag = 2;</code>
        * @return The langtag.
        */
       @java.lang.Override
@@ -2919,10 +2739,8 @@
        */
       public Builder setLangtag(
           java.lang.String value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  literalKindCase_ = 2;
+        if (value == null) { throw new NullPointerException(); }
+        literalKindCase_ = 2;
         literalKind_ = value;
         onChanged();
         return this;
@@ -2946,10 +2764,8 @@
        */
       public Builder setLangtagBytes(
           com.google.protobuf.ByteString value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  checkByteStringIsUtf8(value);
+        if (value == null) { throw new NullPointerException(); }
+        checkByteStringIsUtf8(value);
         literalKindCase_ = 2;
         literalKind_ = value;
         onChanged();
@@ -2958,6 +2774,14 @@
 
       /**
        * <code>string datatype = 3;</code>
+       * @return Whether the datatype field is set.
+       */
+      @java.lang.Override
+      public boolean hasDatatype() {
+        return literalKindCase_ == 3;
+      }
+      /**
+       * <code>string datatype = 3;</code>
        * @return The datatype.
        */
       @java.lang.Override
@@ -3008,10 +2832,8 @@
        */
       public Builder setDatatype(
           java.lang.String value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  literalKindCase_ = 3;
+        if (value == null) { throw new NullPointerException(); }
+        literalKindCase_ = 3;
         literalKind_ = value;
         onChanged();
         return this;
@@ -3035,17 +2857,15 @@
        */
       public Builder setDatatypeBytes(
           com.google.protobuf.ByteString value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  checkByteStringIsUtf8(value);
+        if (value == null) { throw new NullPointerException(); }
+        checkByteStringIsUtf8(value);
         literalKindCase_ = 3;
         literalKind_ = value;
         onChanged();
         return this;
       }
 
-      private com.google.protobuf.SingleFieldBuilderV3<
+      private com.google.protobuf.SingleFieldBuilder<
           org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixName, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixName.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixNameOrBuilder> dtPrefixBuilder_;
       /**
        * <code>.RDF_PrefixName dtPrefix = 4;</code>
@@ -3119,8 +2939,9 @@
         } else {
           if (literalKindCase_ == 4) {
             dtPrefixBuilder_.mergeFrom(value);
+          } else {
+            dtPrefixBuilder_.setMessage(value);
           }
-          dtPrefixBuilder_.setMessage(value);
         }
         literalKindCase_ = 4;
         return this;
@@ -3167,14 +2988,14 @@
       /**
        * <code>.RDF_PrefixName dtPrefix = 4;</code>
        */
-      private com.google.protobuf.SingleFieldBuilderV3<
+      private com.google.protobuf.SingleFieldBuilder<
           org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixName, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixName.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixNameOrBuilder> 
           getDtPrefixFieldBuilder() {
         if (dtPrefixBuilder_ == null) {
           if (!(literalKindCase_ == 4)) {
             literalKind_ = org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixName.getDefaultInstance();
           }
-          dtPrefixBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+          dtPrefixBuilder_ = new com.google.protobuf.SingleFieldBuilder<
               org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixName, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixName.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixNameOrBuilder>(
                   (org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixName) literalKind_,
                   getParentForChildren(),
@@ -3182,21 +3003,9 @@
           literalKind_ = null;
         }
         literalKindCase_ = 4;
-        onChanged();;
+        onChanged();
         return dtPrefixBuilder_;
       }
-      @java.lang.Override
-      public final Builder setUnknownFields(
-          final com.google.protobuf.UnknownFieldSet unknownFields) {
-        return super.setUnknownFields(unknownFields);
-      }
-
-      @java.lang.Override
-      public final Builder mergeUnknownFields(
-          final com.google.protobuf.UnknownFieldSet unknownFields) {
-        return super.mergeUnknownFields(unknownFields);
-      }
-
 
       // @@protoc_insertion_point(builder_scope:RDF_Literal)
     }
@@ -3218,7 +3027,18 @@
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
           throws com.google.protobuf.InvalidProtocolBufferException {
-        return new RDF_Literal(input, extensionRegistry);
+        Builder builder = newBuilder();
+        try {
+          builder.mergeFrom(input, extensionRegistry);
+        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+          throw e.setUnfinishedMessage(builder.buildPartial());
+        } catch (com.google.protobuf.UninitializedMessageException e) {
+          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
+        } catch (java.io.IOException e) {
+          throw new com.google.protobuf.InvalidProtocolBufferException(e)
+              .setUnfinishedMessage(builder.buildPartial());
+        }
+        return builder.buildPartial();
       }
     };
 
@@ -3258,83 +3078,33 @@
    * Protobuf type {@code RDF_Decimal}
    */
   public static final class RDF_Decimal extends
-      com.google.protobuf.GeneratedMessageV3 implements
+      com.google.protobuf.GeneratedMessage implements
       // @@protoc_insertion_point(message_implements:RDF_Decimal)
       RDF_DecimalOrBuilder {
   private static final long serialVersionUID = 0L;
+    static {
+      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
+        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
+        /* major= */ 4,
+        /* minor= */ 26,
+        /* patch= */ 0,
+        /* suffix= */ "",
+        RDF_Decimal.class.getName());
+    }
     // Use RDF_Decimal.newBuilder() to construct.
-    private RDF_Decimal(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+    private RDF_Decimal(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
       super(builder);
     }
     private RDF_Decimal() {
     }
 
-    @java.lang.Override
-    @SuppressWarnings({"unused"})
-    protected java.lang.Object newInstance(
-        UnusedPrivateParameter unused) {
-      return new RDF_Decimal();
-    }
-
-    @java.lang.Override
-    public final com.google.protobuf.UnknownFieldSet
-    getUnknownFields() {
-      return this.unknownFields;
-    }
-    private RDF_Decimal(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      this();
-      if (extensionRegistry == null) {
-        throw new java.lang.NullPointerException();
-      }
-      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-          com.google.protobuf.UnknownFieldSet.newBuilder();
-      try {
-        boolean done = false;
-        while (!done) {
-          int tag = input.readTag();
-          switch (tag) {
-            case 0:
-              done = true;
-              break;
-            case 8: {
-
-              value_ = input.readSInt64();
-              break;
-            }
-            case 16: {
-
-              scale_ = input.readSInt32();
-              break;
-            }
-            default: {
-              if (!parseUnknownField(
-                  input, unknownFields, extensionRegistry, tag)) {
-                done = true;
-              }
-              break;
-            }
-          }
-        }
-      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw e.setUnfinishedMessage(this);
-      } catch (java.io.IOException e) {
-        throw new com.google.protobuf.InvalidProtocolBufferException(
-            e).setUnfinishedMessage(this);
-      } finally {
-        this.unknownFields = unknownFields.build();
-        makeExtensionsImmutable();
-      }
-    }
     public static final com.google.protobuf.Descriptors.Descriptor
         getDescriptor() {
       return org.apache.jena.riot.protobuf.wire.PB_RDF.internal_static_RDF_Decimal_descriptor;
     }
 
     @java.lang.Override
-    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
         internalGetFieldAccessorTable() {
       return org.apache.jena.riot.protobuf.wire.PB_RDF.internal_static_RDF_Decimal_fieldAccessorTable
           .ensureFieldAccessorsInitialized(
@@ -3342,7 +3112,7 @@
     }
 
     public static final int VALUE_FIELD_NUMBER = 1;
-    private long value_;
+    private long value_ = 0L;
     /**
      * <code>sint64 value = 1;</code>
      * @return The value.
@@ -3353,7 +3123,7 @@
     }
 
     public static final int SCALE_FIELD_NUMBER = 2;
-    private int scale_;
+    private int scale_ = 0;
     /**
      * <code>sint32 scale = 2;</code>
      * @return The scale.
@@ -3383,7 +3153,7 @@
       if (scale_ != 0) {
         output.writeSInt32(2, scale_);
       }
-      unknownFields.writeTo(output);
+      getUnknownFields().writeTo(output);
     }
 
     @java.lang.Override
@@ -3400,7 +3170,7 @@
         size += com.google.protobuf.CodedOutputStream
           .computeSInt32Size(2, scale_);
       }
-      size += unknownFields.getSerializedSize();
+      size += getUnknownFields().getSerializedSize();
       memoizedSize = size;
       return size;
     }
@@ -3419,7 +3189,7 @@
           != other.getValue()) return false;
       if (getScale()
           != other.getScale()) return false;
-      if (!unknownFields.equals(other.unknownFields)) return false;
+      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
       return true;
     }
 
@@ -3435,7 +3205,7 @@
           getValue());
       hash = (37 * hash) + SCALE_FIELD_NUMBER;
       hash = (53 * hash) + getScale();
-      hash = (29 * hash) + unknownFields.hashCode();
+      hash = (29 * hash) + getUnknownFields().hashCode();
       memoizedHashCode = hash;
       return hash;
     }
@@ -3474,39 +3244,41 @@
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Decimal parseFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input);
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Decimal parseFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input, extensionRegistry);
     }
+
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Decimal parseDelimitedFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseDelimitedWithIOException(PARSER, input);
     }
+
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Decimal parseDelimitedFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Decimal parseFrom(
         com.google.protobuf.CodedInputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input);
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Decimal parseFrom(
         com.google.protobuf.CodedInputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input, extensionRegistry);
     }
 
@@ -3526,7 +3298,7 @@
 
     @java.lang.Override
     protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
       Builder builder = new Builder(parent);
       return builder;
     }
@@ -3534,7 +3306,7 @@
      * Protobuf type {@code RDF_Decimal}
      */
     public static final class Builder extends
-        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
         // @@protoc_insertion_point(builder_implements:RDF_Decimal)
         org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_DecimalOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
@@ -3543,7 +3315,7 @@
       }
 
       @java.lang.Override
-      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
           internalGetFieldAccessorTable() {
         return org.apache.jena.riot.protobuf.wire.PB_RDF.internal_static_RDF_Decimal_fieldAccessorTable
             .ensureFieldAccessorsInitialized(
@@ -3552,26 +3324,20 @@
 
       // Construct using org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Decimal.newBuilder()
       private Builder() {
-        maybeForceBuilderInitialization();
+
       }
 
       private Builder(
-          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
         super(parent);
-        maybeForceBuilderInitialization();
-      }
-      private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessageV3
-                .alwaysUseFieldBuilders) {
-        }
+
       }
       @java.lang.Override
       public Builder clear() {
         super.clear();
+        bitField0_ = 0;
         value_ = 0L;
-
         scale_ = 0;
-
         return this;
       }
 
@@ -3598,44 +3364,21 @@
       @java.lang.Override
       public org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Decimal buildPartial() {
         org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Decimal result = new org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Decimal(this);
-        result.value_ = value_;
-        result.scale_ = scale_;
+        if (bitField0_ != 0) { buildPartial0(result); }
         onBuilt();
         return result;
       }
 
-      @java.lang.Override
-      public Builder clone() {
-        return super.clone();
+      private void buildPartial0(org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Decimal result) {
+        int from_bitField0_ = bitField0_;
+        if (((from_bitField0_ & 0x00000001) != 0)) {
+          result.value_ = value_;
+        }
+        if (((from_bitField0_ & 0x00000002) != 0)) {
+          result.scale_ = scale_;
+        }
       }
-      @java.lang.Override
-      public Builder setField(
-          com.google.protobuf.Descriptors.FieldDescriptor field,
-          java.lang.Object value) {
-        return super.setField(field, value);
-      }
-      @java.lang.Override
-      public Builder clearField(
-          com.google.protobuf.Descriptors.FieldDescriptor field) {
-        return super.clearField(field);
-      }
-      @java.lang.Override
-      public Builder clearOneof(
-          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
-        return super.clearOneof(oneof);
-      }
-      @java.lang.Override
-      public Builder setRepeatedField(
-          com.google.protobuf.Descriptors.FieldDescriptor field,
-          int index, java.lang.Object value) {
-        return super.setRepeatedField(field, index, value);
-      }
-      @java.lang.Override
-      public Builder addRepeatedField(
-          com.google.protobuf.Descriptors.FieldDescriptor field,
-          java.lang.Object value) {
-        return super.addRepeatedField(field, value);
-      }
+
       @java.lang.Override
       public Builder mergeFrom(com.google.protobuf.Message other) {
         if (other instanceof org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Decimal) {
@@ -3654,7 +3397,7 @@
         if (other.getScale() != 0) {
           setScale(other.getScale());
         }
-        this.mergeUnknownFields(other.unknownFields);
+        this.mergeUnknownFields(other.getUnknownFields());
         onChanged();
         return this;
       }
@@ -3669,19 +3412,43 @@
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
           throws java.io.IOException {
-        org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Decimal parsedMessage = null;
+        if (extensionRegistry == null) {
+          throw new java.lang.NullPointerException();
+        }
         try {
-          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+          boolean done = false;
+          while (!done) {
+            int tag = input.readTag();
+            switch (tag) {
+              case 0:
+                done = true;
+                break;
+              case 8: {
+                value_ = input.readSInt64();
+                bitField0_ |= 0x00000001;
+                break;
+              } // case 8
+              case 16: {
+                scale_ = input.readSInt32();
+                bitField0_ |= 0x00000002;
+                break;
+              } // case 16
+              default: {
+                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
+                  done = true; // was an endgroup tag
+                }
+                break;
+              } // default:
+            } // switch (tag)
+          } // while (!done)
         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          parsedMessage = (org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Decimal) e.getUnfinishedMessage();
           throw e.unwrapIOException();
         } finally {
-          if (parsedMessage != null) {
-            mergeFrom(parsedMessage);
-          }
-        }
+          onChanged();
+        } // finally
         return this;
       }
+      private int bitField0_;
 
       private long value_ ;
       /**
@@ -3698,8 +3465,9 @@
        * @return This builder for chaining.
        */
       public Builder setValue(long value) {
-        
+
         value_ = value;
+        bitField0_ |= 0x00000001;
         onChanged();
         return this;
       }
@@ -3708,7 +3476,7 @@
        * @return This builder for chaining.
        */
       public Builder clearValue() {
-        
+        bitField0_ = (bitField0_ & ~0x00000001);
         value_ = 0L;
         onChanged();
         return this;
@@ -3729,8 +3497,9 @@
        * @return This builder for chaining.
        */
       public Builder setScale(int value) {
-        
+
         scale_ = value;
+        bitField0_ |= 0x00000002;
         onChanged();
         return this;
       }
@@ -3739,23 +3508,11 @@
        * @return This builder for chaining.
        */
       public Builder clearScale() {
-        
+        bitField0_ = (bitField0_ & ~0x00000002);
         scale_ = 0;
         onChanged();
         return this;
       }
-      @java.lang.Override
-      public final Builder setUnknownFields(
-          final com.google.protobuf.UnknownFieldSet unknownFields) {
-        return super.setUnknownFields(unknownFields);
-      }
-
-      @java.lang.Override
-      public final Builder mergeUnknownFields(
-          final com.google.protobuf.UnknownFieldSet unknownFields) {
-        return super.mergeUnknownFields(unknownFields);
-      }
-
 
       // @@protoc_insertion_point(builder_scope:RDF_Decimal)
     }
@@ -3777,7 +3534,18 @@
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
           throws com.google.protobuf.InvalidProtocolBufferException {
-        return new RDF_Decimal(input, extensionRegistry);
+        Builder builder = newBuilder();
+        try {
+          builder.mergeFrom(input, extensionRegistry);
+        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+          throw e.setUnfinishedMessage(builder.buildPartial());
+        } catch (com.google.protobuf.UninitializedMessageException e) {
+          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
+        } catch (java.io.IOException e) {
+          throw new com.google.protobuf.InvalidProtocolBufferException(e)
+              .setUnfinishedMessage(builder.buildPartial());
+        }
+        return builder.buildPartial();
       }
     };
 
@@ -3817,80 +3585,34 @@
    * Protobuf type {@code RDF_Var}
    */
   public static final class RDF_Var extends
-      com.google.protobuf.GeneratedMessageV3 implements
+      com.google.protobuf.GeneratedMessage implements
       // @@protoc_insertion_point(message_implements:RDF_Var)
       RDF_VarOrBuilder {
   private static final long serialVersionUID = 0L;
+    static {
+      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
+        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
+        /* major= */ 4,
+        /* minor= */ 26,
+        /* patch= */ 0,
+        /* suffix= */ "",
+        RDF_Var.class.getName());
+    }
     // Use RDF_Var.newBuilder() to construct.
-    private RDF_Var(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+    private RDF_Var(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
       super(builder);
     }
     private RDF_Var() {
       name_ = "";
     }
 
-    @java.lang.Override
-    @SuppressWarnings({"unused"})
-    protected java.lang.Object newInstance(
-        UnusedPrivateParameter unused) {
-      return new RDF_Var();
-    }
-
-    @java.lang.Override
-    public final com.google.protobuf.UnknownFieldSet
-    getUnknownFields() {
-      return this.unknownFields;
-    }
-    private RDF_Var(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      this();
-      if (extensionRegistry == null) {
-        throw new java.lang.NullPointerException();
-      }
-      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-          com.google.protobuf.UnknownFieldSet.newBuilder();
-      try {
-        boolean done = false;
-        while (!done) {
-          int tag = input.readTag();
-          switch (tag) {
-            case 0:
-              done = true;
-              break;
-            case 10: {
-              java.lang.String s = input.readStringRequireUtf8();
-
-              name_ = s;
-              break;
-            }
-            default: {
-              if (!parseUnknownField(
-                  input, unknownFields, extensionRegistry, tag)) {
-                done = true;
-              }
-              break;
-            }
-          }
-        }
-      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw e.setUnfinishedMessage(this);
-      } catch (java.io.IOException e) {
-        throw new com.google.protobuf.InvalidProtocolBufferException(
-            e).setUnfinishedMessage(this);
-      } finally {
-        this.unknownFields = unknownFields.build();
-        makeExtensionsImmutable();
-      }
-    }
     public static final com.google.protobuf.Descriptors.Descriptor
         getDescriptor() {
       return org.apache.jena.riot.protobuf.wire.PB_RDF.internal_static_RDF_Var_descriptor;
     }
 
     @java.lang.Override
-    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
         internalGetFieldAccessorTable() {
       return org.apache.jena.riot.protobuf.wire.PB_RDF.internal_static_RDF_Var_fieldAccessorTable
           .ensureFieldAccessorsInitialized(
@@ -3898,7 +3620,8 @@
     }
 
     public static final int NAME_FIELD_NUMBER = 1;
-    private volatile java.lang.Object name_;
+    @SuppressWarnings("serial")
+    private volatile java.lang.Object name_ = "";
     /**
      * <code>string name = 1;</code>
      * @return The name.
@@ -3949,10 +3672,10 @@
     @java.lang.Override
     public void writeTo(com.google.protobuf.CodedOutputStream output)
                         throws java.io.IOException {
-      if (!getNameBytes().isEmpty()) {
-        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_);
+      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) {
+        com.google.protobuf.GeneratedMessage.writeString(output, 1, name_);
       }
-      unknownFields.writeTo(output);
+      getUnknownFields().writeTo(output);
     }
 
     @java.lang.Override
@@ -3961,10 +3684,10 @@
       if (size != -1) return size;
 
       size = 0;
-      if (!getNameBytes().isEmpty()) {
-        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_);
+      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) {
+        size += com.google.protobuf.GeneratedMessage.computeStringSize(1, name_);
       }
-      size += unknownFields.getSerializedSize();
+      size += getUnknownFields().getSerializedSize();
       memoizedSize = size;
       return size;
     }
@@ -3981,7 +3704,7 @@
 
       if (!getName()
           .equals(other.getName())) return false;
-      if (!unknownFields.equals(other.unknownFields)) return false;
+      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
       return true;
     }
 
@@ -3994,7 +3717,7 @@
       hash = (19 * hash) + getDescriptor().hashCode();
       hash = (37 * hash) + NAME_FIELD_NUMBER;
       hash = (53 * hash) + getName().hashCode();
-      hash = (29 * hash) + unknownFields.hashCode();
+      hash = (29 * hash) + getUnknownFields().hashCode();
       memoizedHashCode = hash;
       return hash;
     }
@@ -4033,39 +3756,41 @@
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Var parseFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input);
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Var parseFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input, extensionRegistry);
     }
+
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Var parseDelimitedFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseDelimitedWithIOException(PARSER, input);
     }
+
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Var parseDelimitedFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Var parseFrom(
         com.google.protobuf.CodedInputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input);
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Var parseFrom(
         com.google.protobuf.CodedInputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input, extensionRegistry);
     }
 
@@ -4085,7 +3810,7 @@
 
     @java.lang.Override
     protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
       Builder builder = new Builder(parent);
       return builder;
     }
@@ -4093,7 +3818,7 @@
      * Protobuf type {@code RDF_Var}
      */
     public static final class Builder extends
-        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
         // @@protoc_insertion_point(builder_implements:RDF_Var)
         org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_VarOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
@@ -4102,7 +3827,7 @@
       }
 
       @java.lang.Override
-      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
           internalGetFieldAccessorTable() {
         return org.apache.jena.riot.protobuf.wire.PB_RDF.internal_static_RDF_Var_fieldAccessorTable
             .ensureFieldAccessorsInitialized(
@@ -4111,24 +3836,19 @@
 
       // Construct using org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Var.newBuilder()
       private Builder() {
-        maybeForceBuilderInitialization();
+
       }
 
       private Builder(
-          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
         super(parent);
-        maybeForceBuilderInitialization();
-      }
-      private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessageV3
-                .alwaysUseFieldBuilders) {
-        }
+
       }
       @java.lang.Override
       public Builder clear() {
         super.clear();
+        bitField0_ = 0;
         name_ = "";
-
         return this;
       }
 
@@ -4155,43 +3875,18 @@
       @java.lang.Override
       public org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Var buildPartial() {
         org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Var result = new org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Var(this);
-        result.name_ = name_;
+        if (bitField0_ != 0) { buildPartial0(result); }
         onBuilt();
         return result;
       }
 
-      @java.lang.Override
-      public Builder clone() {
-        return super.clone();
+      private void buildPartial0(org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Var result) {
+        int from_bitField0_ = bitField0_;
+        if (((from_bitField0_ & 0x00000001) != 0)) {
+          result.name_ = name_;
+        }
       }
-      @java.lang.Override
-      public Builder setField(
-          com.google.protobuf.Descriptors.FieldDescriptor field,
-          java.lang.Object value) {
-        return super.setField(field, value);
-      }
-      @java.lang.Override
-      public Builder clearField(
-          com.google.protobuf.Descriptors.FieldDescriptor field) {
-        return super.clearField(field);
-      }
-      @java.lang.Override
-      public Builder clearOneof(
-          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
-        return super.clearOneof(oneof);
-      }
-      @java.lang.Override
-      public Builder setRepeatedField(
-          com.google.protobuf.Descriptors.FieldDescriptor field,
-          int index, java.lang.Object value) {
-        return super.setRepeatedField(field, index, value);
-      }
-      @java.lang.Override
-      public Builder addRepeatedField(
-          com.google.protobuf.Descriptors.FieldDescriptor field,
-          java.lang.Object value) {
-        return super.addRepeatedField(field, value);
-      }
+
       @java.lang.Override
       public Builder mergeFrom(com.google.protobuf.Message other) {
         if (other instanceof org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Var) {
@@ -4206,9 +3901,10 @@
         if (other == org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Var.getDefaultInstance()) return this;
         if (!other.getName().isEmpty()) {
           name_ = other.name_;
+          bitField0_ |= 0x00000001;
           onChanged();
         }
-        this.mergeUnknownFields(other.unknownFields);
+        this.mergeUnknownFields(other.getUnknownFields());
         onChanged();
         return this;
       }
@@ -4223,19 +3919,38 @@
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
           throws java.io.IOException {
-        org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Var parsedMessage = null;
+        if (extensionRegistry == null) {
+          throw new java.lang.NullPointerException();
+        }
         try {
-          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+          boolean done = false;
+          while (!done) {
+            int tag = input.readTag();
+            switch (tag) {
+              case 0:
+                done = true;
+                break;
+              case 10: {
+                name_ = input.readStringRequireUtf8();
+                bitField0_ |= 0x00000001;
+                break;
+              } // case 10
+              default: {
+                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
+                  done = true; // was an endgroup tag
+                }
+                break;
+              } // default:
+            } // switch (tag)
+          } // while (!done)
         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          parsedMessage = (org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Var) e.getUnfinishedMessage();
           throw e.unwrapIOException();
         } finally {
-          if (parsedMessage != null) {
-            mergeFrom(parsedMessage);
-          }
-        }
+          onChanged();
+        } // finally
         return this;
       }
+      private int bitField0_;
 
       private java.lang.Object name_ = "";
       /**
@@ -4278,11 +3993,9 @@
        */
       public Builder setName(
           java.lang.String value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  
+        if (value == null) { throw new NullPointerException(); }
         name_ = value;
+        bitField0_ |= 0x00000001;
         onChanged();
         return this;
       }
@@ -4291,8 +4004,8 @@
        * @return This builder for chaining.
        */
       public Builder clearName() {
-        
         name_ = getDefaultInstance().getName();
+        bitField0_ = (bitField0_ & ~0x00000001);
         onChanged();
         return this;
       }
@@ -4303,27 +4016,13 @@
        */
       public Builder setNameBytes(
           com.google.protobuf.ByteString value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  checkByteStringIsUtf8(value);
-        
+        if (value == null) { throw new NullPointerException(); }
+        checkByteStringIsUtf8(value);
         name_ = value;
+        bitField0_ |= 0x00000001;
         onChanged();
         return this;
       }
-      @java.lang.Override
-      public final Builder setUnknownFields(
-          final com.google.protobuf.UnknownFieldSet unknownFields) {
-        return super.setUnknownFields(unknownFields);
-      }
-
-      @java.lang.Override
-      public final Builder mergeUnknownFields(
-          final com.google.protobuf.UnknownFieldSet unknownFields) {
-        return super.mergeUnknownFields(unknownFields);
-      }
-
 
       // @@protoc_insertion_point(builder_scope:RDF_Var)
     }
@@ -4345,7 +4044,18 @@
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
           throws com.google.protobuf.InvalidProtocolBufferException {
-        return new RDF_Var(input, extensionRegistry);
+        Builder builder = newBuilder();
+        try {
+          builder.mergeFrom(input, extensionRegistry);
+        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+          throw e.setUnfinishedMessage(builder.buildPartial());
+        } catch (com.google.protobuf.UninitializedMessageException e) {
+          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
+        } catch (java.io.IOException e) {
+          throw new com.google.protobuf.InvalidProtocolBufferException(e)
+              .setUnfinishedMessage(builder.buildPartial());
+        }
+        return builder.buildPartial();
       }
     };
 
@@ -4373,73 +4083,33 @@
    * Protobuf type {@code RDF_ANY}
    */
   public static final class RDF_ANY extends
-      com.google.protobuf.GeneratedMessageV3 implements
+      com.google.protobuf.GeneratedMessage implements
       // @@protoc_insertion_point(message_implements:RDF_ANY)
       RDF_ANYOrBuilder {
   private static final long serialVersionUID = 0L;
+    static {
+      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
+        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
+        /* major= */ 4,
+        /* minor= */ 26,
+        /* patch= */ 0,
+        /* suffix= */ "",
+        RDF_ANY.class.getName());
+    }
     // Use RDF_ANY.newBuilder() to construct.
-    private RDF_ANY(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+    private RDF_ANY(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
       super(builder);
     }
     private RDF_ANY() {
     }
 
-    @java.lang.Override
-    @SuppressWarnings({"unused"})
-    protected java.lang.Object newInstance(
-        UnusedPrivateParameter unused) {
-      return new RDF_ANY();
-    }
-
-    @java.lang.Override
-    public final com.google.protobuf.UnknownFieldSet
-    getUnknownFields() {
-      return this.unknownFields;
-    }
-    private RDF_ANY(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      this();
-      if (extensionRegistry == null) {
-        throw new java.lang.NullPointerException();
-      }
-      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-          com.google.protobuf.UnknownFieldSet.newBuilder();
-      try {
-        boolean done = false;
-        while (!done) {
-          int tag = input.readTag();
-          switch (tag) {
-            case 0:
-              done = true;
-              break;
-            default: {
-              if (!parseUnknownField(
-                  input, unknownFields, extensionRegistry, tag)) {
-                done = true;
-              }
-              break;
-            }
-          }
-        }
-      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw e.setUnfinishedMessage(this);
-      } catch (java.io.IOException e) {
-        throw new com.google.protobuf.InvalidProtocolBufferException(
-            e).setUnfinishedMessage(this);
-      } finally {
-        this.unknownFields = unknownFields.build();
-        makeExtensionsImmutable();
-      }
-    }
     public static final com.google.protobuf.Descriptors.Descriptor
         getDescriptor() {
       return org.apache.jena.riot.protobuf.wire.PB_RDF.internal_static_RDF_ANY_descriptor;
     }
 
     @java.lang.Override
-    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
         internalGetFieldAccessorTable() {
       return org.apache.jena.riot.protobuf.wire.PB_RDF.internal_static_RDF_ANY_fieldAccessorTable
           .ensureFieldAccessorsInitialized(
@@ -4460,7 +4130,7 @@
     @java.lang.Override
     public void writeTo(com.google.protobuf.CodedOutputStream output)
                         throws java.io.IOException {
-      unknownFields.writeTo(output);
+      getUnknownFields().writeTo(output);
     }
 
     @java.lang.Override
@@ -4469,7 +4139,7 @@
       if (size != -1) return size;
 
       size = 0;
-      size += unknownFields.getSerializedSize();
+      size += getUnknownFields().getSerializedSize();
       memoizedSize = size;
       return size;
     }
@@ -4484,7 +4154,7 @@
       }
       org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_ANY other = (org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_ANY) obj;
 
-      if (!unknownFields.equals(other.unknownFields)) return false;
+      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
       return true;
     }
 
@@ -4495,7 +4165,7 @@
       }
       int hash = 41;
       hash = (19 * hash) + getDescriptor().hashCode();
-      hash = (29 * hash) + unknownFields.hashCode();
+      hash = (29 * hash) + getUnknownFields().hashCode();
       memoizedHashCode = hash;
       return hash;
     }
@@ -4534,39 +4204,41 @@
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_ANY parseFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input);
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_ANY parseFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input, extensionRegistry);
     }
+
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_ANY parseDelimitedFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseDelimitedWithIOException(PARSER, input);
     }
+
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_ANY parseDelimitedFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_ANY parseFrom(
         com.google.protobuf.CodedInputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input);
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_ANY parseFrom(
         com.google.protobuf.CodedInputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input, extensionRegistry);
     }
 
@@ -4586,7 +4258,7 @@
 
     @java.lang.Override
     protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
       Builder builder = new Builder(parent);
       return builder;
     }
@@ -4594,7 +4266,7 @@
      * Protobuf type {@code RDF_ANY}
      */
     public static final class Builder extends
-        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
         // @@protoc_insertion_point(builder_implements:RDF_ANY)
         org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_ANYOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
@@ -4603,7 +4275,7 @@
       }
 
       @java.lang.Override
-      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
           internalGetFieldAccessorTable() {
         return org.apache.jena.riot.protobuf.wire.PB_RDF.internal_static_RDF_ANY_fieldAccessorTable
             .ensureFieldAccessorsInitialized(
@@ -4612,18 +4284,13 @@
 
       // Construct using org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_ANY.newBuilder()
       private Builder() {
-        maybeForceBuilderInitialization();
+
       }
 
       private Builder(
-          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
         super(parent);
-        maybeForceBuilderInitialization();
-      }
-      private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessageV3
-                .alwaysUseFieldBuilders) {
-        }
+
       }
       @java.lang.Override
       public Builder clear() {
@@ -4659,38 +4326,6 @@
       }
 
       @java.lang.Override
-      public Builder clone() {
-        return super.clone();
-      }
-      @java.lang.Override
-      public Builder setField(
-          com.google.protobuf.Descriptors.FieldDescriptor field,
-          java.lang.Object value) {
-        return super.setField(field, value);
-      }
-      @java.lang.Override
-      public Builder clearField(
-          com.google.protobuf.Descriptors.FieldDescriptor field) {
-        return super.clearField(field);
-      }
-      @java.lang.Override
-      public Builder clearOneof(
-          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
-        return super.clearOneof(oneof);
-      }
-      @java.lang.Override
-      public Builder setRepeatedField(
-          com.google.protobuf.Descriptors.FieldDescriptor field,
-          int index, java.lang.Object value) {
-        return super.setRepeatedField(field, index, value);
-      }
-      @java.lang.Override
-      public Builder addRepeatedField(
-          com.google.protobuf.Descriptors.FieldDescriptor field,
-          java.lang.Object value) {
-        return super.addRepeatedField(field, value);
-      }
-      @java.lang.Override
       public Builder mergeFrom(com.google.protobuf.Message other) {
         if (other instanceof org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_ANY) {
           return mergeFrom((org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_ANY)other);
@@ -4702,7 +4337,7 @@
 
       public Builder mergeFrom(org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_ANY other) {
         if (other == org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_ANY.getDefaultInstance()) return this;
-        this.mergeUnknownFields(other.unknownFields);
+        this.mergeUnknownFields(other.getUnknownFields());
         onChanged();
         return this;
       }
@@ -4717,31 +4352,32 @@
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
           throws java.io.IOException {
-        org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_ANY parsedMessage = null;
+        if (extensionRegistry == null) {
+          throw new java.lang.NullPointerException();
+        }
         try {
-          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+          boolean done = false;
+          while (!done) {
+            int tag = input.readTag();
+            switch (tag) {
+              case 0:
+                done = true;
+                break;
+              default: {
+                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
+                  done = true; // was an endgroup tag
+                }
+                break;
+              } // default:
+            } // switch (tag)
+          } // while (!done)
         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          parsedMessage = (org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_ANY) e.getUnfinishedMessage();
           throw e.unwrapIOException();
         } finally {
-          if (parsedMessage != null) {
-            mergeFrom(parsedMessage);
-          }
-        }
+          onChanged();
+        } // finally
         return this;
       }
-      @java.lang.Override
-      public final Builder setUnknownFields(
-          final com.google.protobuf.UnknownFieldSet unknownFields) {
-        return super.setUnknownFields(unknownFields);
-      }
-
-      @java.lang.Override
-      public final Builder mergeUnknownFields(
-          final com.google.protobuf.UnknownFieldSet unknownFields) {
-        return super.mergeUnknownFields(unknownFields);
-      }
-
 
       // @@protoc_insertion_point(builder_scope:RDF_ANY)
     }
@@ -4763,7 +4399,18 @@
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
           throws com.google.protobuf.InvalidProtocolBufferException {
-        return new RDF_ANY(input, extensionRegistry);
+        Builder builder = newBuilder();
+        try {
+          builder.mergeFrom(input, extensionRegistry);
+        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+          throw e.setUnfinishedMessage(builder.buildPartial());
+        } catch (com.google.protobuf.UninitializedMessageException e) {
+          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
+        } catch (java.io.IOException e) {
+          throw new com.google.protobuf.InvalidProtocolBufferException(e)
+              .setUnfinishedMessage(builder.buildPartial());
+        }
+        return builder.buildPartial();
       }
     };
 
@@ -4791,73 +4438,33 @@
    * Protobuf type {@code RDF_UNDEF}
    */
   public static final class RDF_UNDEF extends
-      com.google.protobuf.GeneratedMessageV3 implements
+      com.google.protobuf.GeneratedMessage implements
       // @@protoc_insertion_point(message_implements:RDF_UNDEF)
       RDF_UNDEFOrBuilder {
   private static final long serialVersionUID = 0L;
+    static {
+      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
+        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
+        /* major= */ 4,
+        /* minor= */ 26,
+        /* patch= */ 0,
+        /* suffix= */ "",
+        RDF_UNDEF.class.getName());
+    }
     // Use RDF_UNDEF.newBuilder() to construct.
-    private RDF_UNDEF(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+    private RDF_UNDEF(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
       super(builder);
     }
     private RDF_UNDEF() {
     }
 
-    @java.lang.Override
-    @SuppressWarnings({"unused"})
-    protected java.lang.Object newInstance(
-        UnusedPrivateParameter unused) {
-      return new RDF_UNDEF();
-    }
-
-    @java.lang.Override
-    public final com.google.protobuf.UnknownFieldSet
-    getUnknownFields() {
-      return this.unknownFields;
-    }
-    private RDF_UNDEF(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      this();
-      if (extensionRegistry == null) {
-        throw new java.lang.NullPointerException();
-      }
-      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-          com.google.protobuf.UnknownFieldSet.newBuilder();
-      try {
-        boolean done = false;
-        while (!done) {
-          int tag = input.readTag();
-          switch (tag) {
-            case 0:
-              done = true;
-              break;
-            default: {
-              if (!parseUnknownField(
-                  input, unknownFields, extensionRegistry, tag)) {
-                done = true;
-              }
-              break;
-            }
-          }
-        }
-      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw e.setUnfinishedMessage(this);
-      } catch (java.io.IOException e) {
-        throw new com.google.protobuf.InvalidProtocolBufferException(
-            e).setUnfinishedMessage(this);
-      } finally {
-        this.unknownFields = unknownFields.build();
-        makeExtensionsImmutable();
-      }
-    }
     public static final com.google.protobuf.Descriptors.Descriptor
         getDescriptor() {
       return org.apache.jena.riot.protobuf.wire.PB_RDF.internal_static_RDF_UNDEF_descriptor;
     }
 
     @java.lang.Override
-    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
         internalGetFieldAccessorTable() {
       return org.apache.jena.riot.protobuf.wire.PB_RDF.internal_static_RDF_UNDEF_fieldAccessorTable
           .ensureFieldAccessorsInitialized(
@@ -4878,7 +4485,7 @@
     @java.lang.Override
     public void writeTo(com.google.protobuf.CodedOutputStream output)
                         throws java.io.IOException {
-      unknownFields.writeTo(output);
+      getUnknownFields().writeTo(output);
     }
 
     @java.lang.Override
@@ -4887,7 +4494,7 @@
       if (size != -1) return size;
 
       size = 0;
-      size += unknownFields.getSerializedSize();
+      size += getUnknownFields().getSerializedSize();
       memoizedSize = size;
       return size;
     }
@@ -4902,7 +4509,7 @@
       }
       org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_UNDEF other = (org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_UNDEF) obj;
 
-      if (!unknownFields.equals(other.unknownFields)) return false;
+      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
       return true;
     }
 
@@ -4913,7 +4520,7 @@
       }
       int hash = 41;
       hash = (19 * hash) + getDescriptor().hashCode();
-      hash = (29 * hash) + unknownFields.hashCode();
+      hash = (29 * hash) + getUnknownFields().hashCode();
       memoizedHashCode = hash;
       return hash;
     }
@@ -4952,39 +4559,41 @@
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_UNDEF parseFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input);
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_UNDEF parseFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input, extensionRegistry);
     }
+
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_UNDEF parseDelimitedFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseDelimitedWithIOException(PARSER, input);
     }
+
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_UNDEF parseDelimitedFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_UNDEF parseFrom(
         com.google.protobuf.CodedInputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input);
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_UNDEF parseFrom(
         com.google.protobuf.CodedInputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input, extensionRegistry);
     }
 
@@ -5004,7 +4613,7 @@
 
     @java.lang.Override
     protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
       Builder builder = new Builder(parent);
       return builder;
     }
@@ -5012,7 +4621,7 @@
      * Protobuf type {@code RDF_UNDEF}
      */
     public static final class Builder extends
-        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
         // @@protoc_insertion_point(builder_implements:RDF_UNDEF)
         org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_UNDEFOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
@@ -5021,7 +4630,7 @@
       }
 
       @java.lang.Override
-      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
           internalGetFieldAccessorTable() {
         return org.apache.jena.riot.protobuf.wire.PB_RDF.internal_static_RDF_UNDEF_fieldAccessorTable
             .ensureFieldAccessorsInitialized(
@@ -5030,18 +4639,13 @@
 
       // Construct using org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_UNDEF.newBuilder()
       private Builder() {
-        maybeForceBuilderInitialization();
+
       }
 
       private Builder(
-          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
         super(parent);
-        maybeForceBuilderInitialization();
-      }
-      private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessageV3
-                .alwaysUseFieldBuilders) {
-        }
+
       }
       @java.lang.Override
       public Builder clear() {
@@ -5077,38 +4681,6 @@
       }
 
       @java.lang.Override
-      public Builder clone() {
-        return super.clone();
-      }
-      @java.lang.Override
-      public Builder setField(
-          com.google.protobuf.Descriptors.FieldDescriptor field,
-          java.lang.Object value) {
-        return super.setField(field, value);
-      }
-      @java.lang.Override
-      public Builder clearField(
-          com.google.protobuf.Descriptors.FieldDescriptor field) {
-        return super.clearField(field);
-      }
-      @java.lang.Override
-      public Builder clearOneof(
-          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
-        return super.clearOneof(oneof);
-      }
-      @java.lang.Override
-      public Builder setRepeatedField(
-          com.google.protobuf.Descriptors.FieldDescriptor field,
-          int index, java.lang.Object value) {
-        return super.setRepeatedField(field, index, value);
-      }
-      @java.lang.Override
-      public Builder addRepeatedField(
-          com.google.protobuf.Descriptors.FieldDescriptor field,
-          java.lang.Object value) {
-        return super.addRepeatedField(field, value);
-      }
-      @java.lang.Override
       public Builder mergeFrom(com.google.protobuf.Message other) {
         if (other instanceof org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_UNDEF) {
           return mergeFrom((org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_UNDEF)other);
@@ -5120,7 +4692,7 @@
 
       public Builder mergeFrom(org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_UNDEF other) {
         if (other == org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_UNDEF.getDefaultInstance()) return this;
-        this.mergeUnknownFields(other.unknownFields);
+        this.mergeUnknownFields(other.getUnknownFields());
         onChanged();
         return this;
       }
@@ -5135,31 +4707,32 @@
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
           throws java.io.IOException {
-        org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_UNDEF parsedMessage = null;
+        if (extensionRegistry == null) {
+          throw new java.lang.NullPointerException();
+        }
         try {
-          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+          boolean done = false;
+          while (!done) {
+            int tag = input.readTag();
+            switch (tag) {
+              case 0:
+                done = true;
+                break;
+              default: {
+                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
+                  done = true; // was an endgroup tag
+                }
+                break;
+              } // default:
+            } // switch (tag)
+          } // while (!done)
         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          parsedMessage = (org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_UNDEF) e.getUnfinishedMessage();
           throw e.unwrapIOException();
         } finally {
-          if (parsedMessage != null) {
-            mergeFrom(parsedMessage);
-          }
-        }
+          onChanged();
+        } // finally
         return this;
       }
-      @java.lang.Override
-      public final Builder setUnknownFields(
-          final com.google.protobuf.UnknownFieldSet unknownFields) {
-        return super.setUnknownFields(unknownFields);
-      }
-
-      @java.lang.Override
-      public final Builder mergeUnknownFields(
-          final com.google.protobuf.UnknownFieldSet unknownFields) {
-        return super.mergeUnknownFields(unknownFields);
-      }
-
 
       // @@protoc_insertion_point(builder_scope:RDF_UNDEF)
     }
@@ -5181,7 +4754,18 @@
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
           throws com.google.protobuf.InvalidProtocolBufferException {
-        return new RDF_UNDEF(input, extensionRegistry);
+        Builder builder = newBuilder();
+        try {
+          builder.mergeFrom(input, extensionRegistry);
+        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+          throw e.setUnfinishedMessage(builder.buildPartial());
+        } catch (com.google.protobuf.UninitializedMessageException e) {
+          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
+        } catch (java.io.IOException e) {
+          throw new com.google.protobuf.InvalidProtocolBufferException(e)
+              .setUnfinishedMessage(builder.buildPartial());
+        }
+        return builder.buildPartial();
       }
     };
 
@@ -5209,73 +4793,33 @@
    * Protobuf type {@code RDF_REPEAT}
    */
   public static final class RDF_REPEAT extends
-      com.google.protobuf.GeneratedMessageV3 implements
+      com.google.protobuf.GeneratedMessage implements
       // @@protoc_insertion_point(message_implements:RDF_REPEAT)
       RDF_REPEATOrBuilder {
   private static final long serialVersionUID = 0L;
+    static {
+      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
+        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
+        /* major= */ 4,
+        /* minor= */ 26,
+        /* patch= */ 0,
+        /* suffix= */ "",
+        RDF_REPEAT.class.getName());
+    }
     // Use RDF_REPEAT.newBuilder() to construct.
-    private RDF_REPEAT(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+    private RDF_REPEAT(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
       super(builder);
     }
     private RDF_REPEAT() {
     }
 
-    @java.lang.Override
-    @SuppressWarnings({"unused"})
-    protected java.lang.Object newInstance(
-        UnusedPrivateParameter unused) {
-      return new RDF_REPEAT();
-    }
-
-    @java.lang.Override
-    public final com.google.protobuf.UnknownFieldSet
-    getUnknownFields() {
-      return this.unknownFields;
-    }
-    private RDF_REPEAT(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      this();
-      if (extensionRegistry == null) {
-        throw new java.lang.NullPointerException();
-      }
-      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-          com.google.protobuf.UnknownFieldSet.newBuilder();
-      try {
-        boolean done = false;
-        while (!done) {
-          int tag = input.readTag();
-          switch (tag) {
-            case 0:
-              done = true;
-              break;
-            default: {
-              if (!parseUnknownField(
-                  input, unknownFields, extensionRegistry, tag)) {
-                done = true;
-              }
-              break;
-            }
-          }
-        }
-      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw e.setUnfinishedMessage(this);
-      } catch (java.io.IOException e) {
-        throw new com.google.protobuf.InvalidProtocolBufferException(
-            e).setUnfinishedMessage(this);
-      } finally {
-        this.unknownFields = unknownFields.build();
-        makeExtensionsImmutable();
-      }
-    }
     public static final com.google.protobuf.Descriptors.Descriptor
         getDescriptor() {
       return org.apache.jena.riot.protobuf.wire.PB_RDF.internal_static_RDF_REPEAT_descriptor;
     }
 
     @java.lang.Override
-    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
         internalGetFieldAccessorTable() {
       return org.apache.jena.riot.protobuf.wire.PB_RDF.internal_static_RDF_REPEAT_fieldAccessorTable
           .ensureFieldAccessorsInitialized(
@@ -5296,7 +4840,7 @@
     @java.lang.Override
     public void writeTo(com.google.protobuf.CodedOutputStream output)
                         throws java.io.IOException {
-      unknownFields.writeTo(output);
+      getUnknownFields().writeTo(output);
     }
 
     @java.lang.Override
@@ -5305,7 +4849,7 @@
       if (size != -1) return size;
 
       size = 0;
-      size += unknownFields.getSerializedSize();
+      size += getUnknownFields().getSerializedSize();
       memoizedSize = size;
       return size;
     }
@@ -5320,7 +4864,7 @@
       }
       org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_REPEAT other = (org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_REPEAT) obj;
 
-      if (!unknownFields.equals(other.unknownFields)) return false;
+      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
       return true;
     }
 
@@ -5331,7 +4875,7 @@
       }
       int hash = 41;
       hash = (19 * hash) + getDescriptor().hashCode();
-      hash = (29 * hash) + unknownFields.hashCode();
+      hash = (29 * hash) + getUnknownFields().hashCode();
       memoizedHashCode = hash;
       return hash;
     }
@@ -5370,39 +4914,41 @@
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_REPEAT parseFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input);
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_REPEAT parseFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input, extensionRegistry);
     }
+
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_REPEAT parseDelimitedFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseDelimitedWithIOException(PARSER, input);
     }
+
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_REPEAT parseDelimitedFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_REPEAT parseFrom(
         com.google.protobuf.CodedInputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input);
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_REPEAT parseFrom(
         com.google.protobuf.CodedInputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input, extensionRegistry);
     }
 
@@ -5422,7 +4968,7 @@
 
     @java.lang.Override
     protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
       Builder builder = new Builder(parent);
       return builder;
     }
@@ -5430,7 +4976,7 @@
      * Protobuf type {@code RDF_REPEAT}
      */
     public static final class Builder extends
-        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
         // @@protoc_insertion_point(builder_implements:RDF_REPEAT)
         org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_REPEATOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
@@ -5439,7 +4985,7 @@
       }
 
       @java.lang.Override
-      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
           internalGetFieldAccessorTable() {
         return org.apache.jena.riot.protobuf.wire.PB_RDF.internal_static_RDF_REPEAT_fieldAccessorTable
             .ensureFieldAccessorsInitialized(
@@ -5448,18 +4994,13 @@
 
       // Construct using org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_REPEAT.newBuilder()
       private Builder() {
-        maybeForceBuilderInitialization();
+
       }
 
       private Builder(
-          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
         super(parent);
-        maybeForceBuilderInitialization();
-      }
-      private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessageV3
-                .alwaysUseFieldBuilders) {
-        }
+
       }
       @java.lang.Override
       public Builder clear() {
@@ -5495,38 +5036,6 @@
       }
 
       @java.lang.Override
-      public Builder clone() {
-        return super.clone();
-      }
-      @java.lang.Override
-      public Builder setField(
-          com.google.protobuf.Descriptors.FieldDescriptor field,
-          java.lang.Object value) {
-        return super.setField(field, value);
-      }
-      @java.lang.Override
-      public Builder clearField(
-          com.google.protobuf.Descriptors.FieldDescriptor field) {
-        return super.clearField(field);
-      }
-      @java.lang.Override
-      public Builder clearOneof(
-          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
-        return super.clearOneof(oneof);
-      }
-      @java.lang.Override
-      public Builder setRepeatedField(
-          com.google.protobuf.Descriptors.FieldDescriptor field,
-          int index, java.lang.Object value) {
-        return super.setRepeatedField(field, index, value);
-      }
-      @java.lang.Override
-      public Builder addRepeatedField(
-          com.google.protobuf.Descriptors.FieldDescriptor field,
-          java.lang.Object value) {
-        return super.addRepeatedField(field, value);
-      }
-      @java.lang.Override
       public Builder mergeFrom(com.google.protobuf.Message other) {
         if (other instanceof org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_REPEAT) {
           return mergeFrom((org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_REPEAT)other);
@@ -5538,7 +5047,7 @@
 
       public Builder mergeFrom(org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_REPEAT other) {
         if (other == org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_REPEAT.getDefaultInstance()) return this;
-        this.mergeUnknownFields(other.unknownFields);
+        this.mergeUnknownFields(other.getUnknownFields());
         onChanged();
         return this;
       }
@@ -5553,31 +5062,32 @@
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
           throws java.io.IOException {
-        org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_REPEAT parsedMessage = null;
+        if (extensionRegistry == null) {
+          throw new java.lang.NullPointerException();
+        }
         try {
-          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+          boolean done = false;
+          while (!done) {
+            int tag = input.readTag();
+            switch (tag) {
+              case 0:
+                done = true;
+                break;
+              default: {
+                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
+                  done = true; // was an endgroup tag
+                }
+                break;
+              } // default:
+            } // switch (tag)
+          } // while (!done)
         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          parsedMessage = (org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_REPEAT) e.getUnfinishedMessage();
           throw e.unwrapIOException();
         } finally {
-          if (parsedMessage != null) {
-            mergeFrom(parsedMessage);
-          }
-        }
+          onChanged();
+        } // finally
         return this;
       }
-      @java.lang.Override
-      public final Builder setUnknownFields(
-          final com.google.protobuf.UnknownFieldSet unknownFields) {
-        return super.setUnknownFields(unknownFields);
-      }
-
-      @java.lang.Override
-      public final Builder mergeUnknownFields(
-          final com.google.protobuf.UnknownFieldSet unknownFields) {
-        return super.mergeUnknownFields(unknownFields);
-      }
-
 
       // @@protoc_insertion_point(builder_scope:RDF_REPEAT)
     }
@@ -5599,7 +5109,18 @@
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
           throws com.google.protobuf.InvalidProtocolBufferException {
-        return new RDF_REPEAT(input, extensionRegistry);
+        Builder builder = newBuilder();
+        try {
+          builder.mergeFrom(input, extensionRegistry);
+        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+          throw e.setUnfinishedMessage(builder.buildPartial());
+        } catch (com.google.protobuf.UninitializedMessageException e) {
+          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
+        } catch (java.io.IOException e) {
+          throw new com.google.protobuf.InvalidProtocolBufferException(e)
+              .setUnfinishedMessage(builder.buildPartial());
+        }
+        return builder.buildPartial();
       }
     };
 
@@ -5764,12 +5285,26 @@
      * </pre>
      *
      * <code>sint64 valInteger = 20;</code>
+     * @return Whether the valInteger field is set.
+     */
+    boolean hasValInteger();
+    /**
+     * <pre>
+     * Value forms of literals.
+     * </pre>
+     *
+     * <code>sint64 valInteger = 20;</code>
      * @return The valInteger.
      */
     long getValInteger();
 
     /**
      * <code>double valDouble = 21;</code>
+     * @return Whether the valDouble field is set.
+     */
+    boolean hasValDouble();
+    /**
+     * <code>double valDouble = 21;</code>
      * @return The valDouble.
      */
     double getValDouble();
@@ -5789,229 +5324,39 @@
      */
     org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_DecimalOrBuilder getValDecimalOrBuilder();
 
-    public org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.TermCase getTermCase();
+    org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.TermCase getTermCase();
   }
   /**
    * Protobuf type {@code RDF_Term}
    */
   public static final class RDF_Term extends
-      com.google.protobuf.GeneratedMessageV3 implements
+      com.google.protobuf.GeneratedMessage implements
       // @@protoc_insertion_point(message_implements:RDF_Term)
       RDF_TermOrBuilder {
   private static final long serialVersionUID = 0L;
+    static {
+      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
+        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
+        /* major= */ 4,
+        /* minor= */ 26,
+        /* patch= */ 0,
+        /* suffix= */ "",
+        RDF_Term.class.getName());
+    }
     // Use RDF_Term.newBuilder() to construct.
-    private RDF_Term(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+    private RDF_Term(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
       super(builder);
     }
     private RDF_Term() {
     }
 
-    @java.lang.Override
-    @SuppressWarnings({"unused"})
-    protected java.lang.Object newInstance(
-        UnusedPrivateParameter unused) {
-      return new RDF_Term();
-    }
-
-    @java.lang.Override
-    public final com.google.protobuf.UnknownFieldSet
-    getUnknownFields() {
-      return this.unknownFields;
-    }
-    private RDF_Term(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      this();
-      if (extensionRegistry == null) {
-        throw new java.lang.NullPointerException();
-      }
-      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-          com.google.protobuf.UnknownFieldSet.newBuilder();
-      try {
-        boolean done = false;
-        while (!done) {
-          int tag = input.readTag();
-          switch (tag) {
-            case 0:
-              done = true;
-              break;
-            case 10: {
-              org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_IRI.Builder subBuilder = null;
-              if (termCase_ == 1) {
-                subBuilder = ((org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_IRI) term_).toBuilder();
-              }
-              term_ =
-                  input.readMessage(org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_IRI.parser(), extensionRegistry);
-              if (subBuilder != null) {
-                subBuilder.mergeFrom((org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_IRI) term_);
-                term_ = subBuilder.buildPartial();
-              }
-              termCase_ = 1;
-              break;
-            }
-            case 18: {
-              org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_BNode.Builder subBuilder = null;
-              if (termCase_ == 2) {
-                subBuilder = ((org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_BNode) term_).toBuilder();
-              }
-              term_ =
-                  input.readMessage(org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_BNode.parser(), extensionRegistry);
-              if (subBuilder != null) {
-                subBuilder.mergeFrom((org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_BNode) term_);
-                term_ = subBuilder.buildPartial();
-              }
-              termCase_ = 2;
-              break;
-            }
-            case 26: {
-              org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Literal.Builder subBuilder = null;
-              if (termCase_ == 3) {
-                subBuilder = ((org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Literal) term_).toBuilder();
-              }
-              term_ =
-                  input.readMessage(org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Literal.parser(), extensionRegistry);
-              if (subBuilder != null) {
-                subBuilder.mergeFrom((org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Literal) term_);
-                term_ = subBuilder.buildPartial();
-              }
-              termCase_ = 3;
-              break;
-            }
-            case 34: {
-              org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixName.Builder subBuilder = null;
-              if (termCase_ == 4) {
-                subBuilder = ((org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixName) term_).toBuilder();
-              }
-              term_ =
-                  input.readMessage(org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixName.parser(), extensionRegistry);
-              if (subBuilder != null) {
-                subBuilder.mergeFrom((org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixName) term_);
-                term_ = subBuilder.buildPartial();
-              }
-              termCase_ = 4;
-              break;
-            }
-            case 42: {
-              org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Var.Builder subBuilder = null;
-              if (termCase_ == 5) {
-                subBuilder = ((org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Var) term_).toBuilder();
-              }
-              term_ =
-                  input.readMessage(org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Var.parser(), extensionRegistry);
-              if (subBuilder != null) {
-                subBuilder.mergeFrom((org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Var) term_);
-                term_ = subBuilder.buildPartial();
-              }
-              termCase_ = 5;
-              break;
-            }
-            case 50: {
-              org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Triple.Builder subBuilder = null;
-              if (termCase_ == 6) {
-                subBuilder = ((org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Triple) term_).toBuilder();
-              }
-              term_ =
-                  input.readMessage(org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Triple.parser(), extensionRegistry);
-              if (subBuilder != null) {
-                subBuilder.mergeFrom((org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Triple) term_);
-                term_ = subBuilder.buildPartial();
-              }
-              termCase_ = 6;
-              break;
-            }
-            case 58: {
-              org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_ANY.Builder subBuilder = null;
-              if (termCase_ == 7) {
-                subBuilder = ((org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_ANY) term_).toBuilder();
-              }
-              term_ =
-                  input.readMessage(org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_ANY.parser(), extensionRegistry);
-              if (subBuilder != null) {
-                subBuilder.mergeFrom((org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_ANY) term_);
-                term_ = subBuilder.buildPartial();
-              }
-              termCase_ = 7;
-              break;
-            }
-            case 66: {
-              org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_UNDEF.Builder subBuilder = null;
-              if (termCase_ == 8) {
-                subBuilder = ((org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_UNDEF) term_).toBuilder();
-              }
-              term_ =
-                  input.readMessage(org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_UNDEF.parser(), extensionRegistry);
-              if (subBuilder != null) {
-                subBuilder.mergeFrom((org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_UNDEF) term_);
-                term_ = subBuilder.buildPartial();
-              }
-              termCase_ = 8;
-              break;
-            }
-            case 74: {
-              org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_REPEAT.Builder subBuilder = null;
-              if (termCase_ == 9) {
-                subBuilder = ((org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_REPEAT) term_).toBuilder();
-              }
-              term_ =
-                  input.readMessage(org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_REPEAT.parser(), extensionRegistry);
-              if (subBuilder != null) {
-                subBuilder.mergeFrom((org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_REPEAT) term_);
-                term_ = subBuilder.buildPartial();
-              }
-              termCase_ = 9;
-              break;
-            }
-            case 160: {
-              termCase_ = 20;
-              term_ = input.readSInt64();
-              break;
-            }
-            case 169: {
-              termCase_ = 21;
-              term_ = input.readDouble();
-              break;
-            }
-            case 178: {
-              org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Decimal.Builder subBuilder = null;
-              if (termCase_ == 22) {
-                subBuilder = ((org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Decimal) term_).toBuilder();
-              }
-              term_ =
-                  input.readMessage(org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Decimal.parser(), extensionRegistry);
-              if (subBuilder != null) {
-                subBuilder.mergeFrom((org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Decimal) term_);
-                term_ = subBuilder.buildPartial();
-              }
-              termCase_ = 22;
-              break;
-            }
-            default: {
-              if (!parseUnknownField(
-                  input, unknownFields, extensionRegistry, tag)) {
-                done = true;
-              }
-              break;
-            }
-          }
-        }
-      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw e.setUnfinishedMessage(this);
-      } catch (java.io.IOException e) {
-        throw new com.google.protobuf.InvalidProtocolBufferException(
-            e).setUnfinishedMessage(this);
-      } finally {
-        this.unknownFields = unknownFields.build();
-        makeExtensionsImmutable();
-      }
-    }
     public static final com.google.protobuf.Descriptors.Descriptor
         getDescriptor() {
       return org.apache.jena.riot.protobuf.wire.PB_RDF.internal_static_RDF_Term_descriptor;
     }
 
     @java.lang.Override
-    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
         internalGetFieldAccessorTable() {
       return org.apache.jena.riot.protobuf.wire.PB_RDF.internal_static_RDF_Term_fieldAccessorTable
           .ensureFieldAccessorsInitialized(
@@ -6019,6 +5364,7 @@
     }
 
     private int termCase_ = 0;
+    @SuppressWarnings("serial")
     private java.lang.Object term_;
     public enum TermCase
         implements com.google.protobuf.Internal.EnumLite,
@@ -6365,6 +5711,18 @@
      * </pre>
      *
      * <code>sint64 valInteger = 20;</code>
+     * @return Whether the valInteger field is set.
+     */
+    @java.lang.Override
+    public boolean hasValInteger() {
+      return termCase_ == 20;
+    }
+    /**
+     * <pre>
+     * Value forms of literals.
+     * </pre>
+     *
+     * <code>sint64 valInteger = 20;</code>
      * @return The valInteger.
      */
     @java.lang.Override
@@ -6378,6 +5736,14 @@
     public static final int VALDOUBLE_FIELD_NUMBER = 21;
     /**
      * <code>double valDouble = 21;</code>
+     * @return Whether the valDouble field is set.
+     */
+    @java.lang.Override
+    public boolean hasValDouble() {
+      return termCase_ == 21;
+    }
+    /**
+     * <code>double valDouble = 21;</code>
      * @return The valDouble.
      */
     @java.lang.Override
@@ -6471,7 +5837,7 @@
       if (termCase_ == 22) {
         output.writeMessage(22, (org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Decimal) term_);
       }
-      unknownFields.writeTo(output);
+      getUnknownFields().writeTo(output);
     }
 
     @java.lang.Override
@@ -6530,7 +5896,7 @@
         size += com.google.protobuf.CodedOutputStream
           .computeMessageSize(22, (org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Decimal) term_);
       }
-      size += unknownFields.getSerializedSize();
+      size += getUnknownFields().getSerializedSize();
       memoizedSize = size;
       return size;
     }
@@ -6599,7 +5965,7 @@
         case 0:
         default:
       }
-      if (!unknownFields.equals(other.unknownFields)) return false;
+      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
       return true;
     }
 
@@ -6664,7 +6030,7 @@
         case 0:
         default:
       }
-      hash = (29 * hash) + unknownFields.hashCode();
+      hash = (29 * hash) + getUnknownFields().hashCode();
       memoizedHashCode = hash;
       return hash;
     }
@@ -6703,39 +6069,41 @@
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term parseFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input);
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term parseFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input, extensionRegistry);
     }
+
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term parseDelimitedFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseDelimitedWithIOException(PARSER, input);
     }
+
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term parseDelimitedFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term parseFrom(
         com.google.protobuf.CodedInputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input);
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term parseFrom(
         com.google.protobuf.CodedInputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input, extensionRegistry);
     }
 
@@ -6755,7 +6123,7 @@
 
     @java.lang.Override
     protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
       Builder builder = new Builder(parent);
       return builder;
     }
@@ -6763,7 +6131,7 @@
      * Protobuf type {@code RDF_Term}
      */
     public static final class Builder extends
-        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
         // @@protoc_insertion_point(builder_implements:RDF_Term)
         org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_TermOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
@@ -6772,7 +6140,7 @@
       }
 
       @java.lang.Override
-      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
           internalGetFieldAccessorTable() {
         return org.apache.jena.riot.protobuf.wire.PB_RDF.internal_static_RDF_Term_fieldAccessorTable
             .ensureFieldAccessorsInitialized(
@@ -6781,22 +6149,48 @@
 
       // Construct using org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.newBuilder()
       private Builder() {
-        maybeForceBuilderInitialization();
+
       }
 
       private Builder(
-          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
         super(parent);
-        maybeForceBuilderInitialization();
-      }
-      private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessageV3
-                .alwaysUseFieldBuilders) {
-        }
+
       }
       @java.lang.Override
       public Builder clear() {
         super.clear();
+        bitField0_ = 0;
+        if (iriBuilder_ != null) {
+          iriBuilder_.clear();
+        }
+        if (bnodeBuilder_ != null) {
+          bnodeBuilder_.clear();
+        }
+        if (literalBuilder_ != null) {
+          literalBuilder_.clear();
+        }
+        if (prefixNameBuilder_ != null) {
+          prefixNameBuilder_.clear();
+        }
+        if (variableBuilder_ != null) {
+          variableBuilder_.clear();
+        }
+        if (tripleTermBuilder_ != null) {
+          tripleTermBuilder_.clear();
+        }
+        if (anyBuilder_ != null) {
+          anyBuilder_.clear();
+        }
+        if (undefinedBuilder_ != null) {
+          undefinedBuilder_.clear();
+        }
+        if (repeatBuilder_ != null) {
+          repeatBuilder_.clear();
+        }
+        if (valDecimalBuilder_ != null) {
+          valDecimalBuilder_.clear();
+        }
         termCase_ = 0;
         term_ = null;
         return this;
@@ -6825,119 +6219,61 @@
       @java.lang.Override
       public org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term buildPartial() {
         org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term result = new org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term(this);
-        if (termCase_ == 1) {
-          if (iriBuilder_ == null) {
-            result.term_ = term_;
-          } else {
-            result.term_ = iriBuilder_.build();
-          }
-        }
-        if (termCase_ == 2) {
-          if (bnodeBuilder_ == null) {
-            result.term_ = term_;
-          } else {
-            result.term_ = bnodeBuilder_.build();
-          }
-        }
-        if (termCase_ == 3) {
-          if (literalBuilder_ == null) {
-            result.term_ = term_;
-          } else {
-            result.term_ = literalBuilder_.build();
-          }
-        }
-        if (termCase_ == 4) {
-          if (prefixNameBuilder_ == null) {
-            result.term_ = term_;
-          } else {
-            result.term_ = prefixNameBuilder_.build();
-          }
-        }
-        if (termCase_ == 5) {
-          if (variableBuilder_ == null) {
-            result.term_ = term_;
-          } else {
-            result.term_ = variableBuilder_.build();
-          }
-        }
-        if (termCase_ == 6) {
-          if (tripleTermBuilder_ == null) {
-            result.term_ = term_;
-          } else {
-            result.term_ = tripleTermBuilder_.build();
-          }
-        }
-        if (termCase_ == 7) {
-          if (anyBuilder_ == null) {
-            result.term_ = term_;
-          } else {
-            result.term_ = anyBuilder_.build();
-          }
-        }
-        if (termCase_ == 8) {
-          if (undefinedBuilder_ == null) {
-            result.term_ = term_;
-          } else {
-            result.term_ = undefinedBuilder_.build();
-          }
-        }
-        if (termCase_ == 9) {
-          if (repeatBuilder_ == null) {
-            result.term_ = term_;
-          } else {
-            result.term_ = repeatBuilder_.build();
-          }
-        }
-        if (termCase_ == 20) {
-          result.term_ = term_;
-        }
-        if (termCase_ == 21) {
-          result.term_ = term_;
-        }
-        if (termCase_ == 22) {
-          if (valDecimalBuilder_ == null) {
-            result.term_ = term_;
-          } else {
-            result.term_ = valDecimalBuilder_.build();
-          }
-        }
-        result.termCase_ = termCase_;
+        if (bitField0_ != 0) { buildPartial0(result); }
+        buildPartialOneofs(result);
         onBuilt();
         return result;
       }
 
-      @java.lang.Override
-      public Builder clone() {
-        return super.clone();
+      private void buildPartial0(org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term result) {
+        int from_bitField0_ = bitField0_;
       }
-      @java.lang.Override
-      public Builder setField(
-          com.google.protobuf.Descriptors.FieldDescriptor field,
-          java.lang.Object value) {
-        return super.setField(field, value);
+
+      private void buildPartialOneofs(org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term result) {
+        result.termCase_ = termCase_;
+        result.term_ = this.term_;
+        if (termCase_ == 1 &&
+            iriBuilder_ != null) {
+          result.term_ = iriBuilder_.build();
+        }
+        if (termCase_ == 2 &&
+            bnodeBuilder_ != null) {
+          result.term_ = bnodeBuilder_.build();
+        }
+        if (termCase_ == 3 &&
+            literalBuilder_ != null) {
+          result.term_ = literalBuilder_.build();
+        }
+        if (termCase_ == 4 &&
+            prefixNameBuilder_ != null) {
+          result.term_ = prefixNameBuilder_.build();
+        }
+        if (termCase_ == 5 &&
+            variableBuilder_ != null) {
+          result.term_ = variableBuilder_.build();
+        }
+        if (termCase_ == 6 &&
+            tripleTermBuilder_ != null) {
+          result.term_ = tripleTermBuilder_.build();
+        }
+        if (termCase_ == 7 &&
+            anyBuilder_ != null) {
+          result.term_ = anyBuilder_.build();
+        }
+        if (termCase_ == 8 &&
+            undefinedBuilder_ != null) {
+          result.term_ = undefinedBuilder_.build();
+        }
+        if (termCase_ == 9 &&
+            repeatBuilder_ != null) {
+          result.term_ = repeatBuilder_.build();
+        }
+        if (termCase_ == 22 &&
+            valDecimalBuilder_ != null) {
+          result.term_ = valDecimalBuilder_.build();
+        }
       }
-      @java.lang.Override
-      public Builder clearField(
-          com.google.protobuf.Descriptors.FieldDescriptor field) {
-        return super.clearField(field);
-      }
-      @java.lang.Override
-      public Builder clearOneof(
-          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
-        return super.clearOneof(oneof);
-      }
-      @java.lang.Override
-      public Builder setRepeatedField(
-          com.google.protobuf.Descriptors.FieldDescriptor field,
-          int index, java.lang.Object value) {
-        return super.setRepeatedField(field, index, value);
-      }
-      @java.lang.Override
-      public Builder addRepeatedField(
-          com.google.protobuf.Descriptors.FieldDescriptor field,
-          java.lang.Object value) {
-        return super.addRepeatedField(field, value);
-      }
+
       @java.lang.Override
       public Builder mergeFrom(com.google.protobuf.Message other) {
         if (other instanceof org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term) {
@@ -7003,7 +6339,7 @@
             break;
           }
         }
-        this.mergeUnknownFields(other.unknownFields);
+        this.mergeUnknownFields(other.getUnknownFields());
         onChanged();
         return this;
       }
@@ -7018,17 +6354,110 @@
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
           throws java.io.IOException {
-        org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term parsedMessage = null;
+        if (extensionRegistry == null) {
+          throw new java.lang.NullPointerException();
+        }
         try {
-          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+          boolean done = false;
+          while (!done) {
+            int tag = input.readTag();
+            switch (tag) {
+              case 0:
+                done = true;
+                break;
+              case 10: {
+                input.readMessage(
+                    getIriFieldBuilder().getBuilder(),
+                    extensionRegistry);
+                termCase_ = 1;
+                break;
+              } // case 10
+              case 18: {
+                input.readMessage(
+                    getBnodeFieldBuilder().getBuilder(),
+                    extensionRegistry);
+                termCase_ = 2;
+                break;
+              } // case 18
+              case 26: {
+                input.readMessage(
+                    getLiteralFieldBuilder().getBuilder(),
+                    extensionRegistry);
+                termCase_ = 3;
+                break;
+              } // case 26
+              case 34: {
+                input.readMessage(
+                    getPrefixNameFieldBuilder().getBuilder(),
+                    extensionRegistry);
+                termCase_ = 4;
+                break;
+              } // case 34
+              case 42: {
+                input.readMessage(
+                    getVariableFieldBuilder().getBuilder(),
+                    extensionRegistry);
+                termCase_ = 5;
+                break;
+              } // case 42
+              case 50: {
+                input.readMessage(
+                    getTripleTermFieldBuilder().getBuilder(),
+                    extensionRegistry);
+                termCase_ = 6;
+                break;
+              } // case 50
+              case 58: {
+                input.readMessage(
+                    getAnyFieldBuilder().getBuilder(),
+                    extensionRegistry);
+                termCase_ = 7;
+                break;
+              } // case 58
+              case 66: {
+                input.readMessage(
+                    getUndefinedFieldBuilder().getBuilder(),
+                    extensionRegistry);
+                termCase_ = 8;
+                break;
+              } // case 66
+              case 74: {
+                input.readMessage(
+                    getRepeatFieldBuilder().getBuilder(),
+                    extensionRegistry);
+                termCase_ = 9;
+                break;
+              } // case 74
+              case 160: {
+                term_ = input.readSInt64();
+                termCase_ = 20;
+                break;
+              } // case 160
+              case 169: {
+                term_ = input.readDouble();
+                termCase_ = 21;
+                break;
+              } // case 169
+              case 178: {
+                input.readMessage(
+                    getValDecimalFieldBuilder().getBuilder(),
+                    extensionRegistry);
+                termCase_ = 22;
+                break;
+              } // case 178
+              default: {
+                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
+                  done = true; // was an endgroup tag
+                }
+                break;
+              } // default:
+            } // switch (tag)
+          } // while (!done)
         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          parsedMessage = (org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term) e.getUnfinishedMessage();
           throw e.unwrapIOException();
         } finally {
-          if (parsedMessage != null) {
-            mergeFrom(parsedMessage);
-          }
-        }
+          onChanged();
+        } // finally
         return this;
       }
       private int termCase_ = 0;
@@ -7046,8 +6475,9 @@
         return this;
       }
 
+      private int bitField0_;
 
-      private com.google.protobuf.SingleFieldBuilderV3<
+      private com.google.protobuf.SingleFieldBuilder<
           org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_IRI, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_IRI.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_IRIOrBuilder> iriBuilder_;
       /**
        * <code>.RDF_IRI iri = 1;</code>
@@ -7121,8 +6551,9 @@
         } else {
           if (termCase_ == 1) {
             iriBuilder_.mergeFrom(value);
+          } else {
+            iriBuilder_.setMessage(value);
           }
-          iriBuilder_.setMessage(value);
         }
         termCase_ = 1;
         return this;
@@ -7169,14 +6600,14 @@
       /**
        * <code>.RDF_IRI iri = 1;</code>
        */
-      private com.google.protobuf.SingleFieldBuilderV3<
+      private com.google.protobuf.SingleFieldBuilder<
           org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_IRI, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_IRI.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_IRIOrBuilder> 
           getIriFieldBuilder() {
         if (iriBuilder_ == null) {
           if (!(termCase_ == 1)) {
             term_ = org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_IRI.getDefaultInstance();
           }
-          iriBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+          iriBuilder_ = new com.google.protobuf.SingleFieldBuilder<
               org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_IRI, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_IRI.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_IRIOrBuilder>(
                   (org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_IRI) term_,
                   getParentForChildren(),
@@ -7184,11 +6615,11 @@
           term_ = null;
         }
         termCase_ = 1;
-        onChanged();;
+        onChanged();
         return iriBuilder_;
       }
 
-      private com.google.protobuf.SingleFieldBuilderV3<
+      private com.google.protobuf.SingleFieldBuilder<
           org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_BNode, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_BNode.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_BNodeOrBuilder> bnodeBuilder_;
       /**
        * <code>.RDF_BNode bnode = 2;</code>
@@ -7262,8 +6693,9 @@
         } else {
           if (termCase_ == 2) {
             bnodeBuilder_.mergeFrom(value);
+          } else {
+            bnodeBuilder_.setMessage(value);
           }
-          bnodeBuilder_.setMessage(value);
         }
         termCase_ = 2;
         return this;
@@ -7310,14 +6742,14 @@
       /**
        * <code>.RDF_BNode bnode = 2;</code>
        */
-      private com.google.protobuf.SingleFieldBuilderV3<
+      private com.google.protobuf.SingleFieldBuilder<
           org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_BNode, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_BNode.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_BNodeOrBuilder> 
           getBnodeFieldBuilder() {
         if (bnodeBuilder_ == null) {
           if (!(termCase_ == 2)) {
             term_ = org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_BNode.getDefaultInstance();
           }
-          bnodeBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+          bnodeBuilder_ = new com.google.protobuf.SingleFieldBuilder<
               org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_BNode, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_BNode.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_BNodeOrBuilder>(
                   (org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_BNode) term_,
                   getParentForChildren(),
@@ -7325,11 +6757,11 @@
           term_ = null;
         }
         termCase_ = 2;
-        onChanged();;
+        onChanged();
         return bnodeBuilder_;
       }
 
-      private com.google.protobuf.SingleFieldBuilderV3<
+      private com.google.protobuf.SingleFieldBuilder<
           org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Literal, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Literal.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_LiteralOrBuilder> literalBuilder_;
       /**
        * <code>.RDF_Literal literal = 3;</code>
@@ -7403,8 +6835,9 @@
         } else {
           if (termCase_ == 3) {
             literalBuilder_.mergeFrom(value);
+          } else {
+            literalBuilder_.setMessage(value);
           }
-          literalBuilder_.setMessage(value);
         }
         termCase_ = 3;
         return this;
@@ -7451,14 +6884,14 @@
       /**
        * <code>.RDF_Literal literal = 3;</code>
        */
-      private com.google.protobuf.SingleFieldBuilderV3<
+      private com.google.protobuf.SingleFieldBuilder<
           org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Literal, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Literal.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_LiteralOrBuilder> 
           getLiteralFieldBuilder() {
         if (literalBuilder_ == null) {
           if (!(termCase_ == 3)) {
             term_ = org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Literal.getDefaultInstance();
           }
-          literalBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+          literalBuilder_ = new com.google.protobuf.SingleFieldBuilder<
               org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Literal, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Literal.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_LiteralOrBuilder>(
                   (org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Literal) term_,
                   getParentForChildren(),
@@ -7466,11 +6899,11 @@
           term_ = null;
         }
         termCase_ = 3;
-        onChanged();;
+        onChanged();
         return literalBuilder_;
       }
 
-      private com.google.protobuf.SingleFieldBuilderV3<
+      private com.google.protobuf.SingleFieldBuilder<
           org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixName, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixName.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixNameOrBuilder> prefixNameBuilder_;
       /**
        * <code>.RDF_PrefixName prefixName = 4;</code>
@@ -7544,8 +6977,9 @@
         } else {
           if (termCase_ == 4) {
             prefixNameBuilder_.mergeFrom(value);
+          } else {
+            prefixNameBuilder_.setMessage(value);
           }
-          prefixNameBuilder_.setMessage(value);
         }
         termCase_ = 4;
         return this;
@@ -7592,14 +7026,14 @@
       /**
        * <code>.RDF_PrefixName prefixName = 4;</code>
        */
-      private com.google.protobuf.SingleFieldBuilderV3<
+      private com.google.protobuf.SingleFieldBuilder<
           org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixName, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixName.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixNameOrBuilder> 
           getPrefixNameFieldBuilder() {
         if (prefixNameBuilder_ == null) {
           if (!(termCase_ == 4)) {
             term_ = org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixName.getDefaultInstance();
           }
-          prefixNameBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+          prefixNameBuilder_ = new com.google.protobuf.SingleFieldBuilder<
               org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixName, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixName.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixNameOrBuilder>(
                   (org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixName) term_,
                   getParentForChildren(),
@@ -7607,11 +7041,11 @@
           term_ = null;
         }
         termCase_ = 4;
-        onChanged();;
+        onChanged();
         return prefixNameBuilder_;
       }
 
-      private com.google.protobuf.SingleFieldBuilderV3<
+      private com.google.protobuf.SingleFieldBuilder<
           org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Var, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Var.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_VarOrBuilder> variableBuilder_;
       /**
        * <code>.RDF_Var variable = 5;</code>
@@ -7685,8 +7119,9 @@
         } else {
           if (termCase_ == 5) {
             variableBuilder_.mergeFrom(value);
+          } else {
+            variableBuilder_.setMessage(value);
           }
-          variableBuilder_.setMessage(value);
         }
         termCase_ = 5;
         return this;
@@ -7733,14 +7168,14 @@
       /**
        * <code>.RDF_Var variable = 5;</code>
        */
-      private com.google.protobuf.SingleFieldBuilderV3<
+      private com.google.protobuf.SingleFieldBuilder<
           org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Var, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Var.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_VarOrBuilder> 
           getVariableFieldBuilder() {
         if (variableBuilder_ == null) {
           if (!(termCase_ == 5)) {
             term_ = org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Var.getDefaultInstance();
           }
-          variableBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+          variableBuilder_ = new com.google.protobuf.SingleFieldBuilder<
               org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Var, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Var.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_VarOrBuilder>(
                   (org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Var) term_,
                   getParentForChildren(),
@@ -7748,11 +7183,11 @@
           term_ = null;
         }
         termCase_ = 5;
-        onChanged();;
+        onChanged();
         return variableBuilder_;
       }
 
-      private com.google.protobuf.SingleFieldBuilderV3<
+      private com.google.protobuf.SingleFieldBuilder<
           org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Triple, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Triple.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_TripleOrBuilder> tripleTermBuilder_;
       /**
        * <code>.RDF_Triple tripleTerm = 6;</code>
@@ -7826,8 +7261,9 @@
         } else {
           if (termCase_ == 6) {
             tripleTermBuilder_.mergeFrom(value);
+          } else {
+            tripleTermBuilder_.setMessage(value);
           }
-          tripleTermBuilder_.setMessage(value);
         }
         termCase_ = 6;
         return this;
@@ -7874,14 +7310,14 @@
       /**
        * <code>.RDF_Triple tripleTerm = 6;</code>
        */
-      private com.google.protobuf.SingleFieldBuilderV3<
+      private com.google.protobuf.SingleFieldBuilder<
           org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Triple, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Triple.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_TripleOrBuilder> 
           getTripleTermFieldBuilder() {
         if (tripleTermBuilder_ == null) {
           if (!(termCase_ == 6)) {
             term_ = org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Triple.getDefaultInstance();
           }
-          tripleTermBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+          tripleTermBuilder_ = new com.google.protobuf.SingleFieldBuilder<
               org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Triple, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Triple.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_TripleOrBuilder>(
                   (org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Triple) term_,
                   getParentForChildren(),
@@ -7889,11 +7325,11 @@
           term_ = null;
         }
         termCase_ = 6;
-        onChanged();;
+        onChanged();
         return tripleTermBuilder_;
       }
 
-      private com.google.protobuf.SingleFieldBuilderV3<
+      private com.google.protobuf.SingleFieldBuilder<
           org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_ANY, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_ANY.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_ANYOrBuilder> anyBuilder_;
       /**
        * <code>.RDF_ANY any = 7;</code>
@@ -7967,8 +7403,9 @@
         } else {
           if (termCase_ == 7) {
             anyBuilder_.mergeFrom(value);
+          } else {
+            anyBuilder_.setMessage(value);
           }
-          anyBuilder_.setMessage(value);
         }
         termCase_ = 7;
         return this;
@@ -8015,14 +7452,14 @@
       /**
        * <code>.RDF_ANY any = 7;</code>
        */
-      private com.google.protobuf.SingleFieldBuilderV3<
+      private com.google.protobuf.SingleFieldBuilder<
           org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_ANY, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_ANY.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_ANYOrBuilder> 
           getAnyFieldBuilder() {
         if (anyBuilder_ == null) {
           if (!(termCase_ == 7)) {
             term_ = org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_ANY.getDefaultInstance();
           }
-          anyBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+          anyBuilder_ = new com.google.protobuf.SingleFieldBuilder<
               org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_ANY, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_ANY.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_ANYOrBuilder>(
                   (org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_ANY) term_,
                   getParentForChildren(),
@@ -8030,11 +7467,11 @@
           term_ = null;
         }
         termCase_ = 7;
-        onChanged();;
+        onChanged();
         return anyBuilder_;
       }
 
-      private com.google.protobuf.SingleFieldBuilderV3<
+      private com.google.protobuf.SingleFieldBuilder<
           org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_UNDEF, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_UNDEF.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_UNDEFOrBuilder> undefinedBuilder_;
       /**
        * <code>.RDF_UNDEF undefined = 8;</code>
@@ -8108,8 +7545,9 @@
         } else {
           if (termCase_ == 8) {
             undefinedBuilder_.mergeFrom(value);
+          } else {
+            undefinedBuilder_.setMessage(value);
           }
-          undefinedBuilder_.setMessage(value);
         }
         termCase_ = 8;
         return this;
@@ -8156,14 +7594,14 @@
       /**
        * <code>.RDF_UNDEF undefined = 8;</code>
        */
-      private com.google.protobuf.SingleFieldBuilderV3<
+      private com.google.protobuf.SingleFieldBuilder<
           org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_UNDEF, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_UNDEF.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_UNDEFOrBuilder> 
           getUndefinedFieldBuilder() {
         if (undefinedBuilder_ == null) {
           if (!(termCase_ == 8)) {
             term_ = org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_UNDEF.getDefaultInstance();
           }
-          undefinedBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+          undefinedBuilder_ = new com.google.protobuf.SingleFieldBuilder<
               org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_UNDEF, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_UNDEF.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_UNDEFOrBuilder>(
                   (org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_UNDEF) term_,
                   getParentForChildren(),
@@ -8171,11 +7609,11 @@
           term_ = null;
         }
         termCase_ = 8;
-        onChanged();;
+        onChanged();
         return undefinedBuilder_;
       }
 
-      private com.google.protobuf.SingleFieldBuilderV3<
+      private com.google.protobuf.SingleFieldBuilder<
           org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_REPEAT, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_REPEAT.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_REPEATOrBuilder> repeatBuilder_;
       /**
        * <code>.RDF_REPEAT repeat = 9;</code>
@@ -8249,8 +7687,9 @@
         } else {
           if (termCase_ == 9) {
             repeatBuilder_.mergeFrom(value);
+          } else {
+            repeatBuilder_.setMessage(value);
           }
-          repeatBuilder_.setMessage(value);
         }
         termCase_ = 9;
         return this;
@@ -8297,14 +7736,14 @@
       /**
        * <code>.RDF_REPEAT repeat = 9;</code>
        */
-      private com.google.protobuf.SingleFieldBuilderV3<
+      private com.google.protobuf.SingleFieldBuilder<
           org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_REPEAT, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_REPEAT.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_REPEATOrBuilder> 
           getRepeatFieldBuilder() {
         if (repeatBuilder_ == null) {
           if (!(termCase_ == 9)) {
             term_ = org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_REPEAT.getDefaultInstance();
           }
-          repeatBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+          repeatBuilder_ = new com.google.protobuf.SingleFieldBuilder<
               org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_REPEAT, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_REPEAT.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_REPEATOrBuilder>(
                   (org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_REPEAT) term_,
                   getParentForChildren(),
@@ -8312,7 +7751,7 @@
           term_ = null;
         }
         termCase_ = 9;
-        onChanged();;
+        onChanged();
         return repeatBuilder_;
       }
 
@@ -8322,6 +7761,17 @@
        * </pre>
        *
        * <code>sint64 valInteger = 20;</code>
+       * @return Whether the valInteger field is set.
+       */
+      public boolean hasValInteger() {
+        return termCase_ == 20;
+      }
+      /**
+       * <pre>
+       * Value forms of literals.
+       * </pre>
+       *
+       * <code>sint64 valInteger = 20;</code>
        * @return The valInteger.
        */
       public long getValInteger() {
@@ -8340,6 +7790,7 @@
        * @return This builder for chaining.
        */
       public Builder setValInteger(long value) {
+
         termCase_ = 20;
         term_ = value;
         onChanged();
@@ -8364,6 +7815,13 @@
 
       /**
        * <code>double valDouble = 21;</code>
+       * @return Whether the valDouble field is set.
+       */
+      public boolean hasValDouble() {
+        return termCase_ == 21;
+      }
+      /**
+       * <code>double valDouble = 21;</code>
        * @return The valDouble.
        */
       public double getValDouble() {
@@ -8378,6 +7836,7 @@
        * @return This builder for chaining.
        */
       public Builder setValDouble(double value) {
+
         termCase_ = 21;
         term_ = value;
         onChanged();
@@ -8396,7 +7855,7 @@
         return this;
       }
 
-      private com.google.protobuf.SingleFieldBuilderV3<
+      private com.google.protobuf.SingleFieldBuilder<
           org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Decimal, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Decimal.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_DecimalOrBuilder> valDecimalBuilder_;
       /**
        * <code>.RDF_Decimal valDecimal = 22;</code>
@@ -8470,8 +7929,9 @@
         } else {
           if (termCase_ == 22) {
             valDecimalBuilder_.mergeFrom(value);
+          } else {
+            valDecimalBuilder_.setMessage(value);
           }
-          valDecimalBuilder_.setMessage(value);
         }
         termCase_ = 22;
         return this;
@@ -8518,14 +7978,14 @@
       /**
        * <code>.RDF_Decimal valDecimal = 22;</code>
        */
-      private com.google.protobuf.SingleFieldBuilderV3<
+      private com.google.protobuf.SingleFieldBuilder<
           org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Decimal, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Decimal.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_DecimalOrBuilder> 
           getValDecimalFieldBuilder() {
         if (valDecimalBuilder_ == null) {
           if (!(termCase_ == 22)) {
             term_ = org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Decimal.getDefaultInstance();
           }
-          valDecimalBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+          valDecimalBuilder_ = new com.google.protobuf.SingleFieldBuilder<
               org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Decimal, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Decimal.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_DecimalOrBuilder>(
                   (org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Decimal) term_,
                   getParentForChildren(),
@@ -8533,21 +7993,9 @@
           term_ = null;
         }
         termCase_ = 22;
-        onChanged();;
+        onChanged();
         return valDecimalBuilder_;
       }
-      @java.lang.Override
-      public final Builder setUnknownFields(
-          final com.google.protobuf.UnknownFieldSet unknownFields) {
-        return super.setUnknownFields(unknownFields);
-      }
-
-      @java.lang.Override
-      public final Builder mergeUnknownFields(
-          final com.google.protobuf.UnknownFieldSet unknownFields) {
-        return super.mergeUnknownFields(unknownFields);
-      }
-
 
       // @@protoc_insertion_point(builder_scope:RDF_Term)
     }
@@ -8569,7 +8017,18 @@
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
           throws com.google.protobuf.InvalidProtocolBufferException {
-        return new RDF_Term(input, extensionRegistry);
+        Builder builder = newBuilder();
+        try {
+          builder.mergeFrom(input, extensionRegistry);
+        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+          throw e.setUnfinishedMessage(builder.buildPartial());
+        } catch (com.google.protobuf.UninitializedMessageException e) {
+          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
+        } catch (java.io.IOException e) {
+          throw new com.google.protobuf.InvalidProtocolBufferException(e)
+              .setUnfinishedMessage(builder.buildPartial());
+        }
+        return builder.buildPartial();
       }
     };
 
@@ -8642,118 +8101,40 @@
    * Protobuf type {@code RDF_Triple}
    */
   public static final class RDF_Triple extends
-      com.google.protobuf.GeneratedMessageV3 implements
+      com.google.protobuf.GeneratedMessage implements
       // @@protoc_insertion_point(message_implements:RDF_Triple)
       RDF_TripleOrBuilder {
   private static final long serialVersionUID = 0L;
+    static {
+      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
+        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
+        /* major= */ 4,
+        /* minor= */ 26,
+        /* patch= */ 0,
+        /* suffix= */ "",
+        RDF_Triple.class.getName());
+    }
     // Use RDF_Triple.newBuilder() to construct.
-    private RDF_Triple(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+    private RDF_Triple(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
       super(builder);
     }
     private RDF_Triple() {
     }
 
-    @java.lang.Override
-    @SuppressWarnings({"unused"})
-    protected java.lang.Object newInstance(
-        UnusedPrivateParameter unused) {
-      return new RDF_Triple();
-    }
-
-    @java.lang.Override
-    public final com.google.protobuf.UnknownFieldSet
-    getUnknownFields() {
-      return this.unknownFields;
-    }
-    private RDF_Triple(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      this();
-      if (extensionRegistry == null) {
-        throw new java.lang.NullPointerException();
-      }
-      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-          com.google.protobuf.UnknownFieldSet.newBuilder();
-      try {
-        boolean done = false;
-        while (!done) {
-          int tag = input.readTag();
-          switch (tag) {
-            case 0:
-              done = true;
-              break;
-            case 10: {
-              org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.Builder subBuilder = null;
-              if (s_ != null) {
-                subBuilder = s_.toBuilder();
-              }
-              s_ = input.readMessage(org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.parser(), extensionRegistry);
-              if (subBuilder != null) {
-                subBuilder.mergeFrom(s_);
-                s_ = subBuilder.buildPartial();
-              }
-
-              break;
-            }
-            case 18: {
-              org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.Builder subBuilder = null;
-              if (p_ != null) {
-                subBuilder = p_.toBuilder();
-              }
-              p_ = input.readMessage(org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.parser(), extensionRegistry);
-              if (subBuilder != null) {
-                subBuilder.mergeFrom(p_);
-                p_ = subBuilder.buildPartial();
-              }
-
-              break;
-            }
-            case 26: {
-              org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.Builder subBuilder = null;
-              if (o_ != null) {
-                subBuilder = o_.toBuilder();
-              }
-              o_ = input.readMessage(org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.parser(), extensionRegistry);
-              if (subBuilder != null) {
-                subBuilder.mergeFrom(o_);
-                o_ = subBuilder.buildPartial();
-              }
-
-              break;
-            }
-            default: {
-              if (!parseUnknownField(
-                  input, unknownFields, extensionRegistry, tag)) {
-                done = true;
-              }
-              break;
-            }
-          }
-        }
-      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw e.setUnfinishedMessage(this);
-      } catch (java.io.IOException e) {
-        throw new com.google.protobuf.InvalidProtocolBufferException(
-            e).setUnfinishedMessage(this);
-      } finally {
-        this.unknownFields = unknownFields.build();
-        makeExtensionsImmutable();
-      }
-    }
     public static final com.google.protobuf.Descriptors.Descriptor
         getDescriptor() {
       return org.apache.jena.riot.protobuf.wire.PB_RDF.internal_static_RDF_Triple_descriptor;
     }
 
     @java.lang.Override
-    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
         internalGetFieldAccessorTable() {
       return org.apache.jena.riot.protobuf.wire.PB_RDF.internal_static_RDF_Triple_fieldAccessorTable
           .ensureFieldAccessorsInitialized(
               org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Triple.class, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Triple.Builder.class);
     }
 
+    private int bitField0_;
     public static final int S_FIELD_NUMBER = 1;
     private org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term s_;
     /**
@@ -8762,7 +8143,7 @@
      */
     @java.lang.Override
     public boolean hasS() {
-      return s_ != null;
+      return ((bitField0_ & 0x00000001) != 0);
     }
     /**
      * <code>.RDF_Term S = 1;</code>
@@ -8777,7 +8158,7 @@
      */
     @java.lang.Override
     public org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_TermOrBuilder getSOrBuilder() {
-      return getS();
+      return s_ == null ? org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.getDefaultInstance() : s_;
     }
 
     public static final int P_FIELD_NUMBER = 2;
@@ -8788,7 +8169,7 @@
      */
     @java.lang.Override
     public boolean hasP() {
-      return p_ != null;
+      return ((bitField0_ & 0x00000002) != 0);
     }
     /**
      * <code>.RDF_Term P = 2;</code>
@@ -8803,7 +8184,7 @@
      */
     @java.lang.Override
     public org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_TermOrBuilder getPOrBuilder() {
-      return getP();
+      return p_ == null ? org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.getDefaultInstance() : p_;
     }
 
     public static final int O_FIELD_NUMBER = 3;
@@ -8814,7 +8195,7 @@
      */
     @java.lang.Override
     public boolean hasO() {
-      return o_ != null;
+      return ((bitField0_ & 0x00000004) != 0);
     }
     /**
      * <code>.RDF_Term O = 3;</code>
@@ -8829,7 +8210,7 @@
      */
     @java.lang.Override
     public org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_TermOrBuilder getOOrBuilder() {
-      return getO();
+      return o_ == null ? org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.getDefaultInstance() : o_;
     }
 
     private byte memoizedIsInitialized = -1;
@@ -8846,16 +8227,16 @@
     @java.lang.Override
     public void writeTo(com.google.protobuf.CodedOutputStream output)
                         throws java.io.IOException {
-      if (s_ != null) {
+      if (((bitField0_ & 0x00000001) != 0)) {
         output.writeMessage(1, getS());
       }
-      if (p_ != null) {
+      if (((bitField0_ & 0x00000002) != 0)) {
         output.writeMessage(2, getP());
       }
-      if (o_ != null) {
+      if (((bitField0_ & 0x00000004) != 0)) {
         output.writeMessage(3, getO());
       }
-      unknownFields.writeTo(output);
+      getUnknownFields().writeTo(output);
     }
 
     @java.lang.Override
@@ -8864,19 +8245,19 @@
       if (size != -1) return size;
 
       size = 0;
-      if (s_ != null) {
+      if (((bitField0_ & 0x00000001) != 0)) {
         size += com.google.protobuf.CodedOutputStream
           .computeMessageSize(1, getS());
       }
-      if (p_ != null) {
+      if (((bitField0_ & 0x00000002) != 0)) {
         size += com.google.protobuf.CodedOutputStream
           .computeMessageSize(2, getP());
       }
-      if (o_ != null) {
+      if (((bitField0_ & 0x00000004) != 0)) {
         size += com.google.protobuf.CodedOutputStream
           .computeMessageSize(3, getO());
       }
-      size += unknownFields.getSerializedSize();
+      size += getUnknownFields().getSerializedSize();
       memoizedSize = size;
       return size;
     }
@@ -8906,7 +8287,7 @@
         if (!getO()
             .equals(other.getO())) return false;
       }
-      if (!unknownFields.equals(other.unknownFields)) return false;
+      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
       return true;
     }
 
@@ -8929,7 +8310,7 @@
         hash = (37 * hash) + O_FIELD_NUMBER;
         hash = (53 * hash) + getO().hashCode();
       }
-      hash = (29 * hash) + unknownFields.hashCode();
+      hash = (29 * hash) + getUnknownFields().hashCode();
       memoizedHashCode = hash;
       return hash;
     }
@@ -8968,39 +8349,41 @@
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Triple parseFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input);
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Triple parseFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input, extensionRegistry);
     }
+
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Triple parseDelimitedFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseDelimitedWithIOException(PARSER, input);
     }
+
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Triple parseDelimitedFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Triple parseFrom(
         com.google.protobuf.CodedInputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input);
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Triple parseFrom(
         com.google.protobuf.CodedInputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input, extensionRegistry);
     }
 
@@ -9020,7 +8403,7 @@
 
     @java.lang.Override
     protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
       Builder builder = new Builder(parent);
       return builder;
     }
@@ -9028,7 +8411,7 @@
      * Protobuf type {@code RDF_Triple}
      */
     public static final class Builder extends
-        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
         // @@protoc_insertion_point(builder_implements:RDF_Triple)
         org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_TripleOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
@@ -9037,7 +8420,7 @@
       }
 
       @java.lang.Override
-      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
           internalGetFieldAccessorTable() {
         return org.apache.jena.riot.protobuf.wire.PB_RDF.internal_static_RDF_Triple_fieldAccessorTable
             .ensureFieldAccessorsInitialized(
@@ -9050,34 +8433,35 @@
       }
 
       private Builder(
-          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
         super(parent);
         maybeForceBuilderInitialization();
       }
       private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessageV3
+        if (com.google.protobuf.GeneratedMessage
                 .alwaysUseFieldBuilders) {
+          getSFieldBuilder();
+          getPFieldBuilder();
+          getOFieldBuilder();
         }
       }
       @java.lang.Override
       public Builder clear() {
         super.clear();
-        if (sBuilder_ == null) {
-          s_ = null;
-        } else {
-          s_ = null;
+        bitField0_ = 0;
+        s_ = null;
+        if (sBuilder_ != null) {
+          sBuilder_.dispose();
           sBuilder_ = null;
         }
-        if (pBuilder_ == null) {
-          p_ = null;
-        } else {
-          p_ = null;
+        p_ = null;
+        if (pBuilder_ != null) {
+          pBuilder_.dispose();
           pBuilder_ = null;
         }
-        if (oBuilder_ == null) {
-          o_ = null;
-        } else {
-          o_ = null;
+        o_ = null;
+        if (oBuilder_ != null) {
+          oBuilder_.dispose();
           oBuilder_ = null;
         }
         return this;
@@ -9106,57 +8490,35 @@
       @java.lang.Override
       public org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Triple buildPartial() {
         org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Triple result = new org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Triple(this);
-        if (sBuilder_ == null) {
-          result.s_ = s_;
-        } else {
-          result.s_ = sBuilder_.build();
-        }
-        if (pBuilder_ == null) {
-          result.p_ = p_;
-        } else {
-          result.p_ = pBuilder_.build();
-        }
-        if (oBuilder_ == null) {
-          result.o_ = o_;
-        } else {
-          result.o_ = oBuilder_.build();
-        }
+        if (bitField0_ != 0) { buildPartial0(result); }
         onBuilt();
         return result;
       }
 
-      @java.lang.Override
-      public Builder clone() {
-        return super.clone();
+      private void buildPartial0(org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Triple result) {
+        int from_bitField0_ = bitField0_;
+        int to_bitField0_ = 0;
+        if (((from_bitField0_ & 0x00000001) != 0)) {
+          result.s_ = sBuilder_ == null
+              ? s_
+              : sBuilder_.build();
+          to_bitField0_ |= 0x00000001;
+        }
+        if (((from_bitField0_ & 0x00000002) != 0)) {
+          result.p_ = pBuilder_ == null
+              ? p_
+              : pBuilder_.build();
+          to_bitField0_ |= 0x00000002;
+        }
+        if (((from_bitField0_ & 0x00000004) != 0)) {
+          result.o_ = oBuilder_ == null
+              ? o_
+              : oBuilder_.build();
+          to_bitField0_ |= 0x00000004;
+        }
+        result.bitField0_ |= to_bitField0_;
       }
-      @java.lang.Override
-      public Builder setField(
-          com.google.protobuf.Descriptors.FieldDescriptor field,
-          java.lang.Object value) {
-        return super.setField(field, value);
-      }
-      @java.lang.Override
-      public Builder clearField(
-          com.google.protobuf.Descriptors.FieldDescriptor field) {
-        return super.clearField(field);
-      }
-      @java.lang.Override
-      public Builder clearOneof(
-          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
-        return super.clearOneof(oneof);
-      }
-      @java.lang.Override
-      public Builder setRepeatedField(
-          com.google.protobuf.Descriptors.FieldDescriptor field,
-          int index, java.lang.Object value) {
-        return super.setRepeatedField(field, index, value);
-      }
-      @java.lang.Override
-      public Builder addRepeatedField(
-          com.google.protobuf.Descriptors.FieldDescriptor field,
-          java.lang.Object value) {
-        return super.addRepeatedField(field, value);
-      }
+
       @java.lang.Override
       public Builder mergeFrom(com.google.protobuf.Message other) {
         if (other instanceof org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Triple) {
@@ -9178,7 +8540,7 @@
         if (other.hasO()) {
           mergeO(other.getO());
         }
-        this.mergeUnknownFields(other.unknownFields);
+        this.mergeUnknownFields(other.getUnknownFields());
         onChanged();
         return this;
       }
@@ -9193,29 +8555,64 @@
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
           throws java.io.IOException {
-        org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Triple parsedMessage = null;
+        if (extensionRegistry == null) {
+          throw new java.lang.NullPointerException();
+        }
         try {
-          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+          boolean done = false;
+          while (!done) {
+            int tag = input.readTag();
+            switch (tag) {
+              case 0:
+                done = true;
+                break;
+              case 10: {
+                input.readMessage(
+                    getSFieldBuilder().getBuilder(),
+                    extensionRegistry);
+                bitField0_ |= 0x00000001;
+                break;
+              } // case 10
+              case 18: {
+                input.readMessage(
+                    getPFieldBuilder().getBuilder(),
+                    extensionRegistry);
+                bitField0_ |= 0x00000002;
+                break;
+              } // case 18
+              case 26: {
+                input.readMessage(
+                    getOFieldBuilder().getBuilder(),
+                    extensionRegistry);
+                bitField0_ |= 0x00000004;
+                break;
+              } // case 26
+              default: {
+                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
+                  done = true; // was an endgroup tag
+                }
+                break;
+              } // default:
+            } // switch (tag)
+          } // while (!done)
         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          parsedMessage = (org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Triple) e.getUnfinishedMessage();
           throw e.unwrapIOException();
         } finally {
-          if (parsedMessage != null) {
-            mergeFrom(parsedMessage);
-          }
-        }
+          onChanged();
+        } // finally
         return this;
       }
+      private int bitField0_;
 
       private org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term s_;
-      private com.google.protobuf.SingleFieldBuilderV3<
+      private com.google.protobuf.SingleFieldBuilder<
           org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_TermOrBuilder> sBuilder_;
       /**
        * <code>.RDF_Term S = 1;</code>
        * @return Whether the s field is set.
        */
       public boolean hasS() {
-        return sBuilder_ != null || s_ != null;
+        return ((bitField0_ & 0x00000001) != 0);
       }
       /**
        * <code>.RDF_Term S = 1;</code>
@@ -9237,11 +8634,11 @@
             throw new NullPointerException();
           }
           s_ = value;
-          onChanged();
         } else {
           sBuilder_.setMessage(value);
         }
-
+        bitField0_ |= 0x00000001;
+        onChanged();
         return this;
       }
       /**
@@ -9251,11 +8648,11 @@
           org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.Builder builderForValue) {
         if (sBuilder_ == null) {
           s_ = builderForValue.build();
-          onChanged();
         } else {
           sBuilder_.setMessage(builderForValue.build());
         }
-
+        bitField0_ |= 0x00000001;
+        onChanged();
         return this;
       }
       /**
@@ -9263,38 +8660,40 @@
        */
       public Builder mergeS(org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term value) {
         if (sBuilder_ == null) {
-          if (s_ != null) {
-            s_ =
-              org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.newBuilder(s_).mergeFrom(value).buildPartial();
+          if (((bitField0_ & 0x00000001) != 0) &&
+            s_ != null &&
+            s_ != org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.getDefaultInstance()) {
+            getSBuilder().mergeFrom(value);
           } else {
             s_ = value;
           }
-          onChanged();
         } else {
           sBuilder_.mergeFrom(value);
         }
-
+        if (s_ != null) {
+          bitField0_ |= 0x00000001;
+          onChanged();
+        }
         return this;
       }
       /**
        * <code>.RDF_Term S = 1;</code>
        */
       public Builder clearS() {
-        if (sBuilder_ == null) {
-          s_ = null;
-          onChanged();
-        } else {
-          s_ = null;
+        bitField0_ = (bitField0_ & ~0x00000001);
+        s_ = null;
+        if (sBuilder_ != null) {
+          sBuilder_.dispose();
           sBuilder_ = null;
         }
-
+        onChanged();
         return this;
       }
       /**
        * <code>.RDF_Term S = 1;</code>
        */
       public org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.Builder getSBuilder() {
-        
+        bitField0_ |= 0x00000001;
         onChanged();
         return getSFieldBuilder().getBuilder();
       }
@@ -9312,11 +8711,11 @@
       /**
        * <code>.RDF_Term S = 1;</code>
        */
-      private com.google.protobuf.SingleFieldBuilderV3<
+      private com.google.protobuf.SingleFieldBuilder<
           org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_TermOrBuilder> 
           getSFieldBuilder() {
         if (sBuilder_ == null) {
-          sBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+          sBuilder_ = new com.google.protobuf.SingleFieldBuilder<
               org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_TermOrBuilder>(
                   getS(),
                   getParentForChildren(),
@@ -9327,14 +8726,14 @@
       }
 
       private org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term p_;
-      private com.google.protobuf.SingleFieldBuilderV3<
+      private com.google.protobuf.SingleFieldBuilder<
           org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_TermOrBuilder> pBuilder_;
       /**
        * <code>.RDF_Term P = 2;</code>
        * @return Whether the p field is set.
        */
       public boolean hasP() {
-        return pBuilder_ != null || p_ != null;
+        return ((bitField0_ & 0x00000002) != 0);
       }
       /**
        * <code>.RDF_Term P = 2;</code>
@@ -9356,11 +8755,11 @@
             throw new NullPointerException();
           }
           p_ = value;
-          onChanged();
         } else {
           pBuilder_.setMessage(value);
         }
-
+        bitField0_ |= 0x00000002;
+        onChanged();
         return this;
       }
       /**
@@ -9370,11 +8769,11 @@
           org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.Builder builderForValue) {
         if (pBuilder_ == null) {
           p_ = builderForValue.build();
-          onChanged();
         } else {
           pBuilder_.setMessage(builderForValue.build());
         }
-
+        bitField0_ |= 0x00000002;
+        onChanged();
         return this;
       }
       /**
@@ -9382,38 +8781,40 @@
        */
       public Builder mergeP(org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term value) {
         if (pBuilder_ == null) {
-          if (p_ != null) {
-            p_ =
-              org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.newBuilder(p_).mergeFrom(value).buildPartial();
+          if (((bitField0_ & 0x00000002) != 0) &&
+            p_ != null &&
+            p_ != org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.getDefaultInstance()) {
+            getPBuilder().mergeFrom(value);
           } else {
             p_ = value;
           }
-          onChanged();
         } else {
           pBuilder_.mergeFrom(value);
         }
-
+        if (p_ != null) {
+          bitField0_ |= 0x00000002;
+          onChanged();
+        }
         return this;
       }
       /**
        * <code>.RDF_Term P = 2;</code>
        */
       public Builder clearP() {
-        if (pBuilder_ == null) {
-          p_ = null;
-          onChanged();
-        } else {
-          p_ = null;
+        bitField0_ = (bitField0_ & ~0x00000002);
+        p_ = null;
+        if (pBuilder_ != null) {
+          pBuilder_.dispose();
           pBuilder_ = null;
         }
-
+        onChanged();
         return this;
       }
       /**
        * <code>.RDF_Term P = 2;</code>
        */
       public org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.Builder getPBuilder() {
-        
+        bitField0_ |= 0x00000002;
         onChanged();
         return getPFieldBuilder().getBuilder();
       }
@@ -9431,11 +8832,11 @@
       /**
        * <code>.RDF_Term P = 2;</code>
        */
-      private com.google.protobuf.SingleFieldBuilderV3<
+      private com.google.protobuf.SingleFieldBuilder<
           org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_TermOrBuilder> 
           getPFieldBuilder() {
         if (pBuilder_ == null) {
-          pBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+          pBuilder_ = new com.google.protobuf.SingleFieldBuilder<
               org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_TermOrBuilder>(
                   getP(),
                   getParentForChildren(),
@@ -9446,14 +8847,14 @@
       }
 
       private org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term o_;
-      private com.google.protobuf.SingleFieldBuilderV3<
+      private com.google.protobuf.SingleFieldBuilder<
           org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_TermOrBuilder> oBuilder_;
       /**
        * <code>.RDF_Term O = 3;</code>
        * @return Whether the o field is set.
        */
       public boolean hasO() {
-        return oBuilder_ != null || o_ != null;
+        return ((bitField0_ & 0x00000004) != 0);
       }
       /**
        * <code>.RDF_Term O = 3;</code>
@@ -9475,11 +8876,11 @@
             throw new NullPointerException();
           }
           o_ = value;
-          onChanged();
         } else {
           oBuilder_.setMessage(value);
         }
-
+        bitField0_ |= 0x00000004;
+        onChanged();
         return this;
       }
       /**
@@ -9489,11 +8890,11 @@
           org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.Builder builderForValue) {
         if (oBuilder_ == null) {
           o_ = builderForValue.build();
-          onChanged();
         } else {
           oBuilder_.setMessage(builderForValue.build());
         }
-
+        bitField0_ |= 0x00000004;
+        onChanged();
         return this;
       }
       /**
@@ -9501,38 +8902,40 @@
        */
       public Builder mergeO(org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term value) {
         if (oBuilder_ == null) {
-          if (o_ != null) {
-            o_ =
-              org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.newBuilder(o_).mergeFrom(value).buildPartial();
+          if (((bitField0_ & 0x00000004) != 0) &&
+            o_ != null &&
+            o_ != org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.getDefaultInstance()) {
+            getOBuilder().mergeFrom(value);
           } else {
             o_ = value;
           }
-          onChanged();
         } else {
           oBuilder_.mergeFrom(value);
         }
-
+        if (o_ != null) {
+          bitField0_ |= 0x00000004;
+          onChanged();
+        }
         return this;
       }
       /**
        * <code>.RDF_Term O = 3;</code>
        */
       public Builder clearO() {
-        if (oBuilder_ == null) {
-          o_ = null;
-          onChanged();
-        } else {
-          o_ = null;
+        bitField0_ = (bitField0_ & ~0x00000004);
+        o_ = null;
+        if (oBuilder_ != null) {
+          oBuilder_.dispose();
           oBuilder_ = null;
         }
-
+        onChanged();
         return this;
       }
       /**
        * <code>.RDF_Term O = 3;</code>
        */
       public org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.Builder getOBuilder() {
-        
+        bitField0_ |= 0x00000004;
         onChanged();
         return getOFieldBuilder().getBuilder();
       }
@@ -9550,11 +8953,11 @@
       /**
        * <code>.RDF_Term O = 3;</code>
        */
-      private com.google.protobuf.SingleFieldBuilderV3<
+      private com.google.protobuf.SingleFieldBuilder<
           org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_TermOrBuilder> 
           getOFieldBuilder() {
         if (oBuilder_ == null) {
-          oBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+          oBuilder_ = new com.google.protobuf.SingleFieldBuilder<
               org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_TermOrBuilder>(
                   getO(),
                   getParentForChildren(),
@@ -9563,18 +8966,6 @@
         }
         return oBuilder_;
       }
-      @java.lang.Override
-      public final Builder setUnknownFields(
-          final com.google.protobuf.UnknownFieldSet unknownFields) {
-        return super.setUnknownFields(unknownFields);
-      }
-
-      @java.lang.Override
-      public final Builder mergeUnknownFields(
-          final com.google.protobuf.UnknownFieldSet unknownFields) {
-        return super.mergeUnknownFields(unknownFields);
-      }
-
 
       // @@protoc_insertion_point(builder_scope:RDF_Triple)
     }
@@ -9596,7 +8987,18 @@
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
           throws com.google.protobuf.InvalidProtocolBufferException {
-        return new RDF_Triple(input, extensionRegistry);
+        Builder builder = newBuilder();
+        try {
+          builder.mergeFrom(input, extensionRegistry);
+        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+          throw e.setUnfinishedMessage(builder.buildPartial());
+        } catch (com.google.protobuf.UninitializedMessageException e) {
+          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
+        } catch (java.io.IOException e) {
+          throw new com.google.protobuf.InvalidProtocolBufferException(e)
+              .setUnfinishedMessage(builder.buildPartial());
+        }
+        return builder.buildPartial();
       }
     };
 
@@ -9684,131 +9086,40 @@
    * Protobuf type {@code RDF_Quad}
    */
   public static final class RDF_Quad extends
-      com.google.protobuf.GeneratedMessageV3 implements
+      com.google.protobuf.GeneratedMessage implements
       // @@protoc_insertion_point(message_implements:RDF_Quad)
       RDF_QuadOrBuilder {
   private static final long serialVersionUID = 0L;
+    static {
+      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
+        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
+        /* major= */ 4,
+        /* minor= */ 26,
+        /* patch= */ 0,
+        /* suffix= */ "",
+        RDF_Quad.class.getName());
+    }
     // Use RDF_Quad.newBuilder() to construct.
-    private RDF_Quad(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+    private RDF_Quad(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
       super(builder);
     }
     private RDF_Quad() {
     }
 
-    @java.lang.Override
-    @SuppressWarnings({"unused"})
-    protected java.lang.Object newInstance(
-        UnusedPrivateParameter unused) {
-      return new RDF_Quad();
-    }
-
-    @java.lang.Override
-    public final com.google.protobuf.UnknownFieldSet
-    getUnknownFields() {
-      return this.unknownFields;
-    }
-    private RDF_Quad(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      this();
-      if (extensionRegistry == null) {
-        throw new java.lang.NullPointerException();
-      }
-      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-          com.google.protobuf.UnknownFieldSet.newBuilder();
-      try {
-        boolean done = false;
-        while (!done) {
-          int tag = input.readTag();
-          switch (tag) {
-            case 0:
-              done = true;
-              break;
-            case 10: {
-              org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.Builder subBuilder = null;
-              if (s_ != null) {
-                subBuilder = s_.toBuilder();
-              }
-              s_ = input.readMessage(org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.parser(), extensionRegistry);
-              if (subBuilder != null) {
-                subBuilder.mergeFrom(s_);
-                s_ = subBuilder.buildPartial();
-              }
-
-              break;
-            }
-            case 18: {
-              org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.Builder subBuilder = null;
-              if (p_ != null) {
-                subBuilder = p_.toBuilder();
-              }
-              p_ = input.readMessage(org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.parser(), extensionRegistry);
-              if (subBuilder != null) {
-                subBuilder.mergeFrom(p_);
-                p_ = subBuilder.buildPartial();
-              }
-
-              break;
-            }
-            case 26: {
-              org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.Builder subBuilder = null;
-              if (o_ != null) {
-                subBuilder = o_.toBuilder();
-              }
-              o_ = input.readMessage(org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.parser(), extensionRegistry);
-              if (subBuilder != null) {
-                subBuilder.mergeFrom(o_);
-                o_ = subBuilder.buildPartial();
-              }
-
-              break;
-            }
-            case 34: {
-              org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.Builder subBuilder = null;
-              if (g_ != null) {
-                subBuilder = g_.toBuilder();
-              }
-              g_ = input.readMessage(org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.parser(), extensionRegistry);
-              if (subBuilder != null) {
-                subBuilder.mergeFrom(g_);
-                g_ = subBuilder.buildPartial();
-              }
-
-              break;
-            }
-            default: {
-              if (!parseUnknownField(
-                  input, unknownFields, extensionRegistry, tag)) {
-                done = true;
-              }
-              break;
-            }
-          }
-        }
-      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw e.setUnfinishedMessage(this);
-      } catch (java.io.IOException e) {
-        throw new com.google.protobuf.InvalidProtocolBufferException(
-            e).setUnfinishedMessage(this);
-      } finally {
-        this.unknownFields = unknownFields.build();
-        makeExtensionsImmutable();
-      }
-    }
     public static final com.google.protobuf.Descriptors.Descriptor
         getDescriptor() {
       return org.apache.jena.riot.protobuf.wire.PB_RDF.internal_static_RDF_Quad_descriptor;
     }
 
     @java.lang.Override
-    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
         internalGetFieldAccessorTable() {
       return org.apache.jena.riot.protobuf.wire.PB_RDF.internal_static_RDF_Quad_fieldAccessorTable
           .ensureFieldAccessorsInitialized(
               org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Quad.class, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Quad.Builder.class);
     }
 
+    private int bitField0_;
     public static final int S_FIELD_NUMBER = 1;
     private org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term s_;
     /**
@@ -9817,7 +9128,7 @@
      */
     @java.lang.Override
     public boolean hasS() {
-      return s_ != null;
+      return ((bitField0_ & 0x00000001) != 0);
     }
     /**
      * <code>.RDF_Term S = 1;</code>
@@ -9832,7 +9143,7 @@
      */
     @java.lang.Override
     public org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_TermOrBuilder getSOrBuilder() {
-      return getS();
+      return s_ == null ? org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.getDefaultInstance() : s_;
     }
 
     public static final int P_FIELD_NUMBER = 2;
@@ -9843,7 +9154,7 @@
      */
     @java.lang.Override
     public boolean hasP() {
-      return p_ != null;
+      return ((bitField0_ & 0x00000002) != 0);
     }
     /**
      * <code>.RDF_Term P = 2;</code>
@@ -9858,7 +9169,7 @@
      */
     @java.lang.Override
     public org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_TermOrBuilder getPOrBuilder() {
-      return getP();
+      return p_ == null ? org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.getDefaultInstance() : p_;
     }
 
     public static final int O_FIELD_NUMBER = 3;
@@ -9869,7 +9180,7 @@
      */
     @java.lang.Override
     public boolean hasO() {
-      return o_ != null;
+      return ((bitField0_ & 0x00000004) != 0);
     }
     /**
      * <code>.RDF_Term O = 3;</code>
@@ -9884,7 +9195,7 @@
      */
     @java.lang.Override
     public org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_TermOrBuilder getOOrBuilder() {
-      return getO();
+      return o_ == null ? org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.getDefaultInstance() : o_;
     }
 
     public static final int G_FIELD_NUMBER = 4;
@@ -9895,7 +9206,7 @@
      */
     @java.lang.Override
     public boolean hasG() {
-      return g_ != null;
+      return ((bitField0_ & 0x00000008) != 0);
     }
     /**
      * <code>.RDF_Term G = 4;</code>
@@ -9910,7 +9221,7 @@
      */
     @java.lang.Override
     public org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_TermOrBuilder getGOrBuilder() {
-      return getG();
+      return g_ == null ? org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.getDefaultInstance() : g_;
     }
 
     private byte memoizedIsInitialized = -1;
@@ -9927,19 +9238,19 @@
     @java.lang.Override
     public void writeTo(com.google.protobuf.CodedOutputStream output)
                         throws java.io.IOException {
-      if (s_ != null) {
+      if (((bitField0_ & 0x00000001) != 0)) {
         output.writeMessage(1, getS());
       }
-      if (p_ != null) {
+      if (((bitField0_ & 0x00000002) != 0)) {
         output.writeMessage(2, getP());
       }
-      if (o_ != null) {
+      if (((bitField0_ & 0x00000004) != 0)) {
         output.writeMessage(3, getO());
       }
-      if (g_ != null) {
+      if (((bitField0_ & 0x00000008) != 0)) {
         output.writeMessage(4, getG());
       }
-      unknownFields.writeTo(output);
+      getUnknownFields().writeTo(output);
     }
 
     @java.lang.Override
@@ -9948,23 +9259,23 @@
       if (size != -1) return size;
 
       size = 0;
-      if (s_ != null) {
+      if (((bitField0_ & 0x00000001) != 0)) {
         size += com.google.protobuf.CodedOutputStream
           .computeMessageSize(1, getS());
       }
-      if (p_ != null) {
+      if (((bitField0_ & 0x00000002) != 0)) {
         size += com.google.protobuf.CodedOutputStream
           .computeMessageSize(2, getP());
       }
-      if (o_ != null) {
+      if (((bitField0_ & 0x00000004) != 0)) {
         size += com.google.protobuf.CodedOutputStream
           .computeMessageSize(3, getO());
       }
-      if (g_ != null) {
+      if (((bitField0_ & 0x00000008) != 0)) {
         size += com.google.protobuf.CodedOutputStream
           .computeMessageSize(4, getG());
       }
-      size += unknownFields.getSerializedSize();
+      size += getUnknownFields().getSerializedSize();
       memoizedSize = size;
       return size;
     }
@@ -9999,7 +9310,7 @@
         if (!getG()
             .equals(other.getG())) return false;
       }
-      if (!unknownFields.equals(other.unknownFields)) return false;
+      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
       return true;
     }
 
@@ -10026,7 +9337,7 @@
         hash = (37 * hash) + G_FIELD_NUMBER;
         hash = (53 * hash) + getG().hashCode();
       }
-      hash = (29 * hash) + unknownFields.hashCode();
+      hash = (29 * hash) + getUnknownFields().hashCode();
       memoizedHashCode = hash;
       return hash;
     }
@@ -10065,39 +9376,41 @@
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Quad parseFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input);
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Quad parseFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input, extensionRegistry);
     }
+
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Quad parseDelimitedFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseDelimitedWithIOException(PARSER, input);
     }
+
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Quad parseDelimitedFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Quad parseFrom(
         com.google.protobuf.CodedInputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input);
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Quad parseFrom(
         com.google.protobuf.CodedInputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input, extensionRegistry);
     }
 
@@ -10117,7 +9430,7 @@
 
     @java.lang.Override
     protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
       Builder builder = new Builder(parent);
       return builder;
     }
@@ -10125,7 +9438,7 @@
      * Protobuf type {@code RDF_Quad}
      */
     public static final class Builder extends
-        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
         // @@protoc_insertion_point(builder_implements:RDF_Quad)
         org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_QuadOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
@@ -10134,7 +9447,7 @@
       }
 
       @java.lang.Override
-      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
           internalGetFieldAccessorTable() {
         return org.apache.jena.riot.protobuf.wire.PB_RDF.internal_static_RDF_Quad_fieldAccessorTable
             .ensureFieldAccessorsInitialized(
@@ -10147,40 +9460,41 @@
       }
 
       private Builder(
-          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
         super(parent);
         maybeForceBuilderInitialization();
       }
       private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessageV3
+        if (com.google.protobuf.GeneratedMessage
                 .alwaysUseFieldBuilders) {
+          getSFieldBuilder();
+          getPFieldBuilder();
+          getOFieldBuilder();
+          getGFieldBuilder();
         }
       }
       @java.lang.Override
       public Builder clear() {
         super.clear();
-        if (sBuilder_ == null) {
-          s_ = null;
-        } else {
-          s_ = null;
+        bitField0_ = 0;
+        s_ = null;
+        if (sBuilder_ != null) {
+          sBuilder_.dispose();
           sBuilder_ = null;
         }
-        if (pBuilder_ == null) {
-          p_ = null;
-        } else {
-          p_ = null;
+        p_ = null;
+        if (pBuilder_ != null) {
+          pBuilder_.dispose();
           pBuilder_ = null;
         }
-        if (oBuilder_ == null) {
-          o_ = null;
-        } else {
-          o_ = null;
+        o_ = null;
+        if (oBuilder_ != null) {
+          oBuilder_.dispose();
           oBuilder_ = null;
         }
-        if (gBuilder_ == null) {
-          g_ = null;
-        } else {
-          g_ = null;
+        g_ = null;
+        if (gBuilder_ != null) {
+          gBuilder_.dispose();
           gBuilder_ = null;
         }
         return this;
@@ -10209,62 +9523,41 @@
       @java.lang.Override
       public org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Quad buildPartial() {
         org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Quad result = new org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Quad(this);
-        if (sBuilder_ == null) {
-          result.s_ = s_;
-        } else {
-          result.s_ = sBuilder_.build();
-        }
-        if (pBuilder_ == null) {
-          result.p_ = p_;
-        } else {
-          result.p_ = pBuilder_.build();
-        }
-        if (oBuilder_ == null) {
-          result.o_ = o_;
-        } else {
-          result.o_ = oBuilder_.build();
-        }
-        if (gBuilder_ == null) {
-          result.g_ = g_;
-        } else {
-          result.g_ = gBuilder_.build();
-        }
+        if (bitField0_ != 0) { buildPartial0(result); }
         onBuilt();
         return result;
       }
 
-      @java.lang.Override
-      public Builder clone() {
-        return super.clone();
+      private void buildPartial0(org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Quad result) {
+        int from_bitField0_ = bitField0_;
+        int to_bitField0_ = 0;
+        if (((from_bitField0_ & 0x00000001) != 0)) {
+          result.s_ = sBuilder_ == null
+              ? s_
+              : sBuilder_.build();
+          to_bitField0_ |= 0x00000001;
+        }
+        if (((from_bitField0_ & 0x00000002) != 0)) {
+          result.p_ = pBuilder_ == null
+              ? p_
+              : pBuilder_.build();
+          to_bitField0_ |= 0x00000002;
+        }
+        if (((from_bitField0_ & 0x00000004) != 0)) {
+          result.o_ = oBuilder_ == null
+              ? o_
+              : oBuilder_.build();
+          to_bitField0_ |= 0x00000004;
+        }
+        if (((from_bitField0_ & 0x00000008) != 0)) {
+          result.g_ = gBuilder_ == null
+              ? g_
+              : gBuilder_.build();
+          to_bitField0_ |= 0x00000008;
+        }
+        result.bitField0_ |= to_bitField0_;
       }
-      @java.lang.Override
-      public Builder setField(
-          com.google.protobuf.Descriptors.FieldDescriptor field,
-          java.lang.Object value) {
-        return super.setField(field, value);
-      }
-      @java.lang.Override
-      public Builder clearField(
-          com.google.protobuf.Descriptors.FieldDescriptor field) {
-        return super.clearField(field);
-      }
-      @java.lang.Override
-      public Builder clearOneof(
-          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
-        return super.clearOneof(oneof);
-      }
-      @java.lang.Override
-      public Builder setRepeatedField(
-          com.google.protobuf.Descriptors.FieldDescriptor field,
-          int index, java.lang.Object value) {
-        return super.setRepeatedField(field, index, value);
-      }
-      @java.lang.Override
-      public Builder addRepeatedField(
-          com.google.protobuf.Descriptors.FieldDescriptor field,
-          java.lang.Object value) {
-        return super.addRepeatedField(field, value);
-      }
+
       @java.lang.Override
       public Builder mergeFrom(com.google.protobuf.Message other) {
         if (other instanceof org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Quad) {
@@ -10289,7 +9582,7 @@
         if (other.hasG()) {
           mergeG(other.getG());
         }
-        this.mergeUnknownFields(other.unknownFields);
+        this.mergeUnknownFields(other.getUnknownFields());
         onChanged();
         return this;
       }
@@ -10304,29 +9597,71 @@
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
           throws java.io.IOException {
-        org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Quad parsedMessage = null;
+        if (extensionRegistry == null) {
+          throw new java.lang.NullPointerException();
+        }
         try {
-          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+          boolean done = false;
+          while (!done) {
+            int tag = input.readTag();
+            switch (tag) {
+              case 0:
+                done = true;
+                break;
+              case 10: {
+                input.readMessage(
+                    getSFieldBuilder().getBuilder(),
+                    extensionRegistry);
+                bitField0_ |= 0x00000001;
+                break;
+              } // case 10
+              case 18: {
+                input.readMessage(
+                    getPFieldBuilder().getBuilder(),
+                    extensionRegistry);
+                bitField0_ |= 0x00000002;
+                break;
+              } // case 18
+              case 26: {
+                input.readMessage(
+                    getOFieldBuilder().getBuilder(),
+                    extensionRegistry);
+                bitField0_ |= 0x00000004;
+                break;
+              } // case 26
+              case 34: {
+                input.readMessage(
+                    getGFieldBuilder().getBuilder(),
+                    extensionRegistry);
+                bitField0_ |= 0x00000008;
+                break;
+              } // case 34
+              default: {
+                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
+                  done = true; // was an endgroup tag
+                }
+                break;
+              } // default:
+            } // switch (tag)
+          } // while (!done)
         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          parsedMessage = (org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Quad) e.getUnfinishedMessage();
           throw e.unwrapIOException();
         } finally {
-          if (parsedMessage != null) {
-            mergeFrom(parsedMessage);
-          }
-        }
+          onChanged();
+        } // finally
         return this;
       }
+      private int bitField0_;
 
       private org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term s_;
-      private com.google.protobuf.SingleFieldBuilderV3<
+      private com.google.protobuf.SingleFieldBuilder<
           org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_TermOrBuilder> sBuilder_;
       /**
        * <code>.RDF_Term S = 1;</code>
        * @return Whether the s field is set.
        */
       public boolean hasS() {
-        return sBuilder_ != null || s_ != null;
+        return ((bitField0_ & 0x00000001) != 0);
       }
       /**
        * <code>.RDF_Term S = 1;</code>
@@ -10348,11 +9683,11 @@
             throw new NullPointerException();
           }
           s_ = value;
-          onChanged();
         } else {
           sBuilder_.setMessage(value);
         }
-
+        bitField0_ |= 0x00000001;
+        onChanged();
         return this;
       }
       /**
@@ -10362,11 +9697,11 @@
           org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.Builder builderForValue) {
         if (sBuilder_ == null) {
           s_ = builderForValue.build();
-          onChanged();
         } else {
           sBuilder_.setMessage(builderForValue.build());
         }
-
+        bitField0_ |= 0x00000001;
+        onChanged();
         return this;
       }
       /**
@@ -10374,38 +9709,40 @@
        */
       public Builder mergeS(org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term value) {
         if (sBuilder_ == null) {
-          if (s_ != null) {
-            s_ =
-              org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.newBuilder(s_).mergeFrom(value).buildPartial();
+          if (((bitField0_ & 0x00000001) != 0) &&
+            s_ != null &&
+            s_ != org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.getDefaultInstance()) {
+            getSBuilder().mergeFrom(value);
           } else {
             s_ = value;
           }
-          onChanged();
         } else {
           sBuilder_.mergeFrom(value);
         }
-
+        if (s_ != null) {
+          bitField0_ |= 0x00000001;
+          onChanged();
+        }
         return this;
       }
       /**
        * <code>.RDF_Term S = 1;</code>
        */
       public Builder clearS() {
-        if (sBuilder_ == null) {
-          s_ = null;
-          onChanged();
-        } else {
-          s_ = null;
+        bitField0_ = (bitField0_ & ~0x00000001);
+        s_ = null;
+        if (sBuilder_ != null) {
+          sBuilder_.dispose();
           sBuilder_ = null;
         }
-
+        onChanged();
         return this;
       }
       /**
        * <code>.RDF_Term S = 1;</code>
        */
       public org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.Builder getSBuilder() {
-        
+        bitField0_ |= 0x00000001;
         onChanged();
         return getSFieldBuilder().getBuilder();
       }
@@ -10423,11 +9760,11 @@
       /**
        * <code>.RDF_Term S = 1;</code>
        */
-      private com.google.protobuf.SingleFieldBuilderV3<
+      private com.google.protobuf.SingleFieldBuilder<
           org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_TermOrBuilder> 
           getSFieldBuilder() {
         if (sBuilder_ == null) {
-          sBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+          sBuilder_ = new com.google.protobuf.SingleFieldBuilder<
               org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_TermOrBuilder>(
                   getS(),
                   getParentForChildren(),
@@ -10438,14 +9775,14 @@
       }
 
       private org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term p_;
-      private com.google.protobuf.SingleFieldBuilderV3<
+      private com.google.protobuf.SingleFieldBuilder<
           org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_TermOrBuilder> pBuilder_;
       /**
        * <code>.RDF_Term P = 2;</code>
        * @return Whether the p field is set.
        */
       public boolean hasP() {
-        return pBuilder_ != null || p_ != null;
+        return ((bitField0_ & 0x00000002) != 0);
       }
       /**
        * <code>.RDF_Term P = 2;</code>
@@ -10467,11 +9804,11 @@
             throw new NullPointerException();
           }
           p_ = value;
-          onChanged();
         } else {
           pBuilder_.setMessage(value);
         }
-
+        bitField0_ |= 0x00000002;
+        onChanged();
         return this;
       }
       /**
@@ -10481,11 +9818,11 @@
           org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.Builder builderForValue) {
         if (pBuilder_ == null) {
           p_ = builderForValue.build();
-          onChanged();
         } else {
           pBuilder_.setMessage(builderForValue.build());
         }
-
+        bitField0_ |= 0x00000002;
+        onChanged();
         return this;
       }
       /**
@@ -10493,38 +9830,40 @@
        */
       public Builder mergeP(org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term value) {
         if (pBuilder_ == null) {
-          if (p_ != null) {
-            p_ =
-              org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.newBuilder(p_).mergeFrom(value).buildPartial();
+          if (((bitField0_ & 0x00000002) != 0) &&
+            p_ != null &&
+            p_ != org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.getDefaultInstance()) {
+            getPBuilder().mergeFrom(value);
           } else {
             p_ = value;
           }
-          onChanged();
         } else {
           pBuilder_.mergeFrom(value);
         }
-
+        if (p_ != null) {
+          bitField0_ |= 0x00000002;
+          onChanged();
+        }
         return this;
       }
       /**
        * <code>.RDF_Term P = 2;</code>
        */
       public Builder clearP() {
-        if (pBuilder_ == null) {
-          p_ = null;
-          onChanged();
-        } else {
-          p_ = null;
+        bitField0_ = (bitField0_ & ~0x00000002);
+        p_ = null;
+        if (pBuilder_ != null) {
+          pBuilder_.dispose();
           pBuilder_ = null;
         }
-
+        onChanged();
         return this;
       }
       /**
        * <code>.RDF_Term P = 2;</code>
        */
       public org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.Builder getPBuilder() {
-        
+        bitField0_ |= 0x00000002;
         onChanged();
         return getPFieldBuilder().getBuilder();
       }
@@ -10542,11 +9881,11 @@
       /**
        * <code>.RDF_Term P = 2;</code>
        */
-      private com.google.protobuf.SingleFieldBuilderV3<
+      private com.google.protobuf.SingleFieldBuilder<
           org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_TermOrBuilder> 
           getPFieldBuilder() {
         if (pBuilder_ == null) {
-          pBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+          pBuilder_ = new com.google.protobuf.SingleFieldBuilder<
               org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_TermOrBuilder>(
                   getP(),
                   getParentForChildren(),
@@ -10557,14 +9896,14 @@
       }
 
       private org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term o_;
-      private com.google.protobuf.SingleFieldBuilderV3<
+      private com.google.protobuf.SingleFieldBuilder<
           org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_TermOrBuilder> oBuilder_;
       /**
        * <code>.RDF_Term O = 3;</code>
        * @return Whether the o field is set.
        */
       public boolean hasO() {
-        return oBuilder_ != null || o_ != null;
+        return ((bitField0_ & 0x00000004) != 0);
       }
       /**
        * <code>.RDF_Term O = 3;</code>
@@ -10586,11 +9925,11 @@
             throw new NullPointerException();
           }
           o_ = value;
-          onChanged();
         } else {
           oBuilder_.setMessage(value);
         }
-
+        bitField0_ |= 0x00000004;
+        onChanged();
         return this;
       }
       /**
@@ -10600,11 +9939,11 @@
           org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.Builder builderForValue) {
         if (oBuilder_ == null) {
           o_ = builderForValue.build();
-          onChanged();
         } else {
           oBuilder_.setMessage(builderForValue.build());
         }
-
+        bitField0_ |= 0x00000004;
+        onChanged();
         return this;
       }
       /**
@@ -10612,38 +9951,40 @@
        */
       public Builder mergeO(org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term value) {
         if (oBuilder_ == null) {
-          if (o_ != null) {
-            o_ =
-              org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.newBuilder(o_).mergeFrom(value).buildPartial();
+          if (((bitField0_ & 0x00000004) != 0) &&
+            o_ != null &&
+            o_ != org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.getDefaultInstance()) {
+            getOBuilder().mergeFrom(value);
           } else {
             o_ = value;
           }
-          onChanged();
         } else {
           oBuilder_.mergeFrom(value);
         }
-
+        if (o_ != null) {
+          bitField0_ |= 0x00000004;
+          onChanged();
+        }
         return this;
       }
       /**
        * <code>.RDF_Term O = 3;</code>
        */
       public Builder clearO() {
-        if (oBuilder_ == null) {
-          o_ = null;
-          onChanged();
-        } else {
-          o_ = null;
+        bitField0_ = (bitField0_ & ~0x00000004);
+        o_ = null;
+        if (oBuilder_ != null) {
+          oBuilder_.dispose();
           oBuilder_ = null;
         }
-
+        onChanged();
         return this;
       }
       /**
        * <code>.RDF_Term O = 3;</code>
        */
       public org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.Builder getOBuilder() {
-        
+        bitField0_ |= 0x00000004;
         onChanged();
         return getOFieldBuilder().getBuilder();
       }
@@ -10661,11 +10002,11 @@
       /**
        * <code>.RDF_Term O = 3;</code>
        */
-      private com.google.protobuf.SingleFieldBuilderV3<
+      private com.google.protobuf.SingleFieldBuilder<
           org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_TermOrBuilder> 
           getOFieldBuilder() {
         if (oBuilder_ == null) {
-          oBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+          oBuilder_ = new com.google.protobuf.SingleFieldBuilder<
               org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_TermOrBuilder>(
                   getO(),
                   getParentForChildren(),
@@ -10676,14 +10017,14 @@
       }
 
       private org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term g_;
-      private com.google.protobuf.SingleFieldBuilderV3<
+      private com.google.protobuf.SingleFieldBuilder<
           org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_TermOrBuilder> gBuilder_;
       /**
        * <code>.RDF_Term G = 4;</code>
        * @return Whether the g field is set.
        */
       public boolean hasG() {
-        return gBuilder_ != null || g_ != null;
+        return ((bitField0_ & 0x00000008) != 0);
       }
       /**
        * <code>.RDF_Term G = 4;</code>
@@ -10705,11 +10046,11 @@
             throw new NullPointerException();
           }
           g_ = value;
-          onChanged();
         } else {
           gBuilder_.setMessage(value);
         }
-
+        bitField0_ |= 0x00000008;
+        onChanged();
         return this;
       }
       /**
@@ -10719,11 +10060,11 @@
           org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.Builder builderForValue) {
         if (gBuilder_ == null) {
           g_ = builderForValue.build();
-          onChanged();
         } else {
           gBuilder_.setMessage(builderForValue.build());
         }
-
+        bitField0_ |= 0x00000008;
+        onChanged();
         return this;
       }
       /**
@@ -10731,38 +10072,40 @@
        */
       public Builder mergeG(org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term value) {
         if (gBuilder_ == null) {
-          if (g_ != null) {
-            g_ =
-              org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.newBuilder(g_).mergeFrom(value).buildPartial();
+          if (((bitField0_ & 0x00000008) != 0) &&
+            g_ != null &&
+            g_ != org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.getDefaultInstance()) {
+            getGBuilder().mergeFrom(value);
           } else {
             g_ = value;
           }
-          onChanged();
         } else {
           gBuilder_.mergeFrom(value);
         }
-
+        if (g_ != null) {
+          bitField0_ |= 0x00000008;
+          onChanged();
+        }
         return this;
       }
       /**
        * <code>.RDF_Term G = 4;</code>
        */
       public Builder clearG() {
-        if (gBuilder_ == null) {
-          g_ = null;
-          onChanged();
-        } else {
-          g_ = null;
+        bitField0_ = (bitField0_ & ~0x00000008);
+        g_ = null;
+        if (gBuilder_ != null) {
+          gBuilder_.dispose();
           gBuilder_ = null;
         }
-
+        onChanged();
         return this;
       }
       /**
        * <code>.RDF_Term G = 4;</code>
        */
       public org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.Builder getGBuilder() {
-        
+        bitField0_ |= 0x00000008;
         onChanged();
         return getGFieldBuilder().getBuilder();
       }
@@ -10780,11 +10123,11 @@
       /**
        * <code>.RDF_Term G = 4;</code>
        */
-      private com.google.protobuf.SingleFieldBuilderV3<
+      private com.google.protobuf.SingleFieldBuilder<
           org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_TermOrBuilder> 
           getGFieldBuilder() {
         if (gBuilder_ == null) {
-          gBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+          gBuilder_ = new com.google.protobuf.SingleFieldBuilder<
               org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_TermOrBuilder>(
                   getG(),
                   getParentForChildren(),
@@ -10793,18 +10136,6 @@
         }
         return gBuilder_;
       }
-      @java.lang.Override
-      public final Builder setUnknownFields(
-          final com.google.protobuf.UnknownFieldSet unknownFields) {
-        return super.setUnknownFields(unknownFields);
-      }
-
-      @java.lang.Override
-      public final Builder mergeUnknownFields(
-          final com.google.protobuf.UnknownFieldSet unknownFields) {
-        return super.mergeUnknownFields(unknownFields);
-      }
-
 
       // @@protoc_insertion_point(builder_scope:RDF_Quad)
     }
@@ -10826,7 +10157,18 @@
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
           throws com.google.protobuf.InvalidProtocolBufferException {
-        return new RDF_Quad(input, extensionRegistry);
+        Builder builder = newBuilder();
+        try {
+          builder.mergeFrom(input, extensionRegistry);
+        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+          throw e.setUnfinishedMessage(builder.buildPartial());
+        } catch (com.google.protobuf.UninitializedMessageException e) {
+          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
+        } catch (java.io.IOException e) {
+          throw new com.google.protobuf.InvalidProtocolBufferException(e)
+              .setUnfinishedMessage(builder.buildPartial());
+        }
+        return builder.buildPartial();
       }
     };
 
@@ -10882,12 +10224,21 @@
    * Protobuf type {@code RDF_PrefixDecl}
    */
   public static final class RDF_PrefixDecl extends
-      com.google.protobuf.GeneratedMessageV3 implements
+      com.google.protobuf.GeneratedMessage implements
       // @@protoc_insertion_point(message_implements:RDF_PrefixDecl)
       RDF_PrefixDeclOrBuilder {
   private static final long serialVersionUID = 0L;
+    static {
+      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
+        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
+        /* major= */ 4,
+        /* minor= */ 26,
+        /* patch= */ 0,
+        /* suffix= */ "",
+        RDF_PrefixDecl.class.getName());
+    }
     // Use RDF_PrefixDecl.newBuilder() to construct.
-    private RDF_PrefixDecl(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+    private RDF_PrefixDecl(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
       super(builder);
     }
     private RDF_PrefixDecl() {
@@ -10895,74 +10246,13 @@
       uri_ = "";
     }
 
-    @java.lang.Override
-    @SuppressWarnings({"unused"})
-    protected java.lang.Object newInstance(
-        UnusedPrivateParameter unused) {
-      return new RDF_PrefixDecl();
-    }
-
-    @java.lang.Override
-    public final com.google.protobuf.UnknownFieldSet
-    getUnknownFields() {
-      return this.unknownFields;
-    }
-    private RDF_PrefixDecl(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      this();
-      if (extensionRegistry == null) {
-        throw new java.lang.NullPointerException();
-      }
-      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-          com.google.protobuf.UnknownFieldSet.newBuilder();
-      try {
-        boolean done = false;
-        while (!done) {
-          int tag = input.readTag();
-          switch (tag) {
-            case 0:
-              done = true;
-              break;
-            case 10: {
-              java.lang.String s = input.readStringRequireUtf8();
-
-              prefix_ = s;
-              break;
-            }
-            case 18: {
-              java.lang.String s = input.readStringRequireUtf8();
-
-              uri_ = s;
-              break;
-            }
-            default: {
-              if (!parseUnknownField(
-                  input, unknownFields, extensionRegistry, tag)) {
-                done = true;
-              }
-              break;
-            }
-          }
-        }
-      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw e.setUnfinishedMessage(this);
-      } catch (java.io.IOException e) {
-        throw new com.google.protobuf.InvalidProtocolBufferException(
-            e).setUnfinishedMessage(this);
-      } finally {
-        this.unknownFields = unknownFields.build();
-        makeExtensionsImmutable();
-      }
-    }
     public static final com.google.protobuf.Descriptors.Descriptor
         getDescriptor() {
       return org.apache.jena.riot.protobuf.wire.PB_RDF.internal_static_RDF_PrefixDecl_descriptor;
     }
 
     @java.lang.Override
-    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
         internalGetFieldAccessorTable() {
       return org.apache.jena.riot.protobuf.wire.PB_RDF.internal_static_RDF_PrefixDecl_fieldAccessorTable
           .ensureFieldAccessorsInitialized(
@@ -10970,7 +10260,8 @@
     }
 
     public static final int PREFIX_FIELD_NUMBER = 1;
-    private volatile java.lang.Object prefix_;
+    @SuppressWarnings("serial")
+    private volatile java.lang.Object prefix_ = "";
     /**
      * <code>string prefix = 1;</code>
      * @return The prefix.
@@ -11008,7 +10299,8 @@
     }
 
     public static final int URI_FIELD_NUMBER = 2;
-    private volatile java.lang.Object uri_;
+    @SuppressWarnings("serial")
+    private volatile java.lang.Object uri_ = "";
     /**
      * <code>string uri = 2;</code>
      * @return The uri.
@@ -11059,13 +10351,13 @@
     @java.lang.Override
     public void writeTo(com.google.protobuf.CodedOutputStream output)
                         throws java.io.IOException {
-      if (!getPrefixBytes().isEmpty()) {
-        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, prefix_);
+      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(prefix_)) {
+        com.google.protobuf.GeneratedMessage.writeString(output, 1, prefix_);
       }
-      if (!getUriBytes().isEmpty()) {
-        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, uri_);
+      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(uri_)) {
+        com.google.protobuf.GeneratedMessage.writeString(output, 2, uri_);
       }
-      unknownFields.writeTo(output);
+      getUnknownFields().writeTo(output);
     }
 
     @java.lang.Override
@@ -11074,13 +10366,13 @@
       if (size != -1) return size;
 
       size = 0;
-      if (!getPrefixBytes().isEmpty()) {
-        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, prefix_);
+      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(prefix_)) {
+        size += com.google.protobuf.GeneratedMessage.computeStringSize(1, prefix_);
       }
-      if (!getUriBytes().isEmpty()) {
-        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, uri_);
+      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(uri_)) {
+        size += com.google.protobuf.GeneratedMessage.computeStringSize(2, uri_);
       }
-      size += unknownFields.getSerializedSize();
+      size += getUnknownFields().getSerializedSize();
       memoizedSize = size;
       return size;
     }
@@ -11099,7 +10391,7 @@
           .equals(other.getPrefix())) return false;
       if (!getUri()
           .equals(other.getUri())) return false;
-      if (!unknownFields.equals(other.unknownFields)) return false;
+      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
       return true;
     }
 
@@ -11114,7 +10406,7 @@
       hash = (53 * hash) + getPrefix().hashCode();
       hash = (37 * hash) + URI_FIELD_NUMBER;
       hash = (53 * hash) + getUri().hashCode();
-      hash = (29 * hash) + unknownFields.hashCode();
+      hash = (29 * hash) + getUnknownFields().hashCode();
       memoizedHashCode = hash;
       return hash;
     }
@@ -11153,39 +10445,41 @@
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixDecl parseFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input);
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixDecl parseFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input, extensionRegistry);
     }
+
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixDecl parseDelimitedFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseDelimitedWithIOException(PARSER, input);
     }
+
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixDecl parseDelimitedFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixDecl parseFrom(
         com.google.protobuf.CodedInputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input);
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixDecl parseFrom(
         com.google.protobuf.CodedInputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input, extensionRegistry);
     }
 
@@ -11205,7 +10499,7 @@
 
     @java.lang.Override
     protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
       Builder builder = new Builder(parent);
       return builder;
     }
@@ -11217,7 +10511,7 @@
      * Protobuf type {@code RDF_PrefixDecl}
      */
     public static final class Builder extends
-        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
         // @@protoc_insertion_point(builder_implements:RDF_PrefixDecl)
         org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixDeclOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
@@ -11226,7 +10520,7 @@
       }
 
       @java.lang.Override
-      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
           internalGetFieldAccessorTable() {
         return org.apache.jena.riot.protobuf.wire.PB_RDF.internal_static_RDF_PrefixDecl_fieldAccessorTable
             .ensureFieldAccessorsInitialized(
@@ -11235,26 +10529,20 @@
 
       // Construct using org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixDecl.newBuilder()
       private Builder() {
-        maybeForceBuilderInitialization();
+
       }
 
       private Builder(
-          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
         super(parent);
-        maybeForceBuilderInitialization();
-      }
-      private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessageV3
-                .alwaysUseFieldBuilders) {
-        }
+
       }
       @java.lang.Override
       public Builder clear() {
         super.clear();
+        bitField0_ = 0;
         prefix_ = "";
-
         uri_ = "";
-
         return this;
       }
 
@@ -11281,44 +10569,21 @@
       @java.lang.Override
       public org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixDecl buildPartial() {
         org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixDecl result = new org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixDecl(this);
-        result.prefix_ = prefix_;
-        result.uri_ = uri_;
+        if (bitField0_ != 0) { buildPartial0(result); }
         onBuilt();
         return result;
       }
 
-      @java.lang.Override
-      public Builder clone() {
-        return super.clone();
+      private void buildPartial0(org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixDecl result) {
+        int from_bitField0_ = bitField0_;
+        if (((from_bitField0_ & 0x00000001) != 0)) {
+          result.prefix_ = prefix_;
+        }
+        if (((from_bitField0_ & 0x00000002) != 0)) {
+          result.uri_ = uri_;
+        }
       }
-      @java.lang.Override
-      public Builder setField(
-          com.google.protobuf.Descriptors.FieldDescriptor field,
-          java.lang.Object value) {
-        return super.setField(field, value);
-      }
-      @java.lang.Override
-      public Builder clearField(
-          com.google.protobuf.Descriptors.FieldDescriptor field) {
-        return super.clearField(field);
-      }
-      @java.lang.Override
-      public Builder clearOneof(
-          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
-        return super.clearOneof(oneof);
-      }
-      @java.lang.Override
-      public Builder setRepeatedField(
-          com.google.protobuf.Descriptors.FieldDescriptor field,
-          int index, java.lang.Object value) {
-        return super.setRepeatedField(field, index, value);
-      }
-      @java.lang.Override
-      public Builder addRepeatedField(
-          com.google.protobuf.Descriptors.FieldDescriptor field,
-          java.lang.Object value) {
-        return super.addRepeatedField(field, value);
-      }
+
       @java.lang.Override
       public Builder mergeFrom(com.google.protobuf.Message other) {
         if (other instanceof org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixDecl) {
@@ -11333,13 +10598,15 @@
         if (other == org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixDecl.getDefaultInstance()) return this;
         if (!other.getPrefix().isEmpty()) {
           prefix_ = other.prefix_;
+          bitField0_ |= 0x00000001;
           onChanged();
         }
         if (!other.getUri().isEmpty()) {
           uri_ = other.uri_;
+          bitField0_ |= 0x00000002;
           onChanged();
         }
-        this.mergeUnknownFields(other.unknownFields);
+        this.mergeUnknownFields(other.getUnknownFields());
         onChanged();
         return this;
       }
@@ -11354,19 +10621,43 @@
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
           throws java.io.IOException {
-        org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixDecl parsedMessage = null;
+        if (extensionRegistry == null) {
+          throw new java.lang.NullPointerException();
+        }
         try {
-          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+          boolean done = false;
+          while (!done) {
+            int tag = input.readTag();
+            switch (tag) {
+              case 0:
+                done = true;
+                break;
+              case 10: {
+                prefix_ = input.readStringRequireUtf8();
+                bitField0_ |= 0x00000001;
+                break;
+              } // case 10
+              case 18: {
+                uri_ = input.readStringRequireUtf8();
+                bitField0_ |= 0x00000002;
+                break;
+              } // case 18
+              default: {
+                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
+                  done = true; // was an endgroup tag
+                }
+                break;
+              } // default:
+            } // switch (tag)
+          } // while (!done)
         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          parsedMessage = (org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixDecl) e.getUnfinishedMessage();
           throw e.unwrapIOException();
         } finally {
-          if (parsedMessage != null) {
-            mergeFrom(parsedMessage);
-          }
-        }
+          onChanged();
+        } // finally
         return this;
       }
+      private int bitField0_;
 
       private java.lang.Object prefix_ = "";
       /**
@@ -11409,11 +10700,9 @@
        */
       public Builder setPrefix(
           java.lang.String value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  
+        if (value == null) { throw new NullPointerException(); }
         prefix_ = value;
+        bitField0_ |= 0x00000001;
         onChanged();
         return this;
       }
@@ -11422,8 +10711,8 @@
        * @return This builder for chaining.
        */
       public Builder clearPrefix() {
-        
         prefix_ = getDefaultInstance().getPrefix();
+        bitField0_ = (bitField0_ & ~0x00000001);
         onChanged();
         return this;
       }
@@ -11434,12 +10723,10 @@
        */
       public Builder setPrefixBytes(
           com.google.protobuf.ByteString value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  checkByteStringIsUtf8(value);
-        
+        if (value == null) { throw new NullPointerException(); }
+        checkByteStringIsUtf8(value);
         prefix_ = value;
+        bitField0_ |= 0x00000001;
         onChanged();
         return this;
       }
@@ -11485,11 +10772,9 @@
        */
       public Builder setUri(
           java.lang.String value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  
+        if (value == null) { throw new NullPointerException(); }
         uri_ = value;
+        bitField0_ |= 0x00000002;
         onChanged();
         return this;
       }
@@ -11498,8 +10783,8 @@
        * @return This builder for chaining.
        */
       public Builder clearUri() {
-        
         uri_ = getDefaultInstance().getUri();
+        bitField0_ = (bitField0_ & ~0x00000002);
         onChanged();
         return this;
       }
@@ -11510,27 +10795,13 @@
        */
       public Builder setUriBytes(
           com.google.protobuf.ByteString value) {
-        if (value == null) {
-    throw new NullPointerException();
-  }
-  checkByteStringIsUtf8(value);
-        
+        if (value == null) { throw new NullPointerException(); }
+        checkByteStringIsUtf8(value);
         uri_ = value;
+        bitField0_ |= 0x00000002;
         onChanged();
         return this;
       }
-      @java.lang.Override
-      public final Builder setUnknownFields(
-          final com.google.protobuf.UnknownFieldSet unknownFields) {
-        return super.setUnknownFields(unknownFields);
-      }
-
-      @java.lang.Override
-      public final Builder mergeUnknownFields(
-          final com.google.protobuf.UnknownFieldSet unknownFields) {
-        return super.mergeUnknownFields(unknownFields);
-      }
-
 
       // @@protoc_insertion_point(builder_scope:RDF_PrefixDecl)
     }
@@ -11552,7 +10823,18 @@
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
           throws com.google.protobuf.InvalidProtocolBufferException {
-        return new RDF_PrefixDecl(input, extensionRegistry);
+        Builder builder = newBuilder();
+        try {
+          builder.mergeFrom(input, extensionRegistry);
+        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+          throw e.setUnfinishedMessage(builder.buildPartial());
+        } catch (com.google.protobuf.UninitializedMessageException e) {
+          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
+        } catch (java.io.IOException e) {
+          throw new com.google.protobuf.InvalidProtocolBufferException(e)
+              .setUnfinishedMessage(builder.buildPartial());
+        }
+        return builder.buildPartial();
       }
     };
 
@@ -11636,7 +10918,7 @@
      */
     org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_IRIOrBuilder getBaseOrBuilder();
 
-    public org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_StreamRow.RowCase getRowCase();
+    org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_StreamRow.RowCase getRowCase();
   }
   /**
    * <pre>
@@ -11646,129 +10928,33 @@
    * Protobuf type {@code RDF_StreamRow}
    */
   public static final class RDF_StreamRow extends
-      com.google.protobuf.GeneratedMessageV3 implements
+      com.google.protobuf.GeneratedMessage implements
       // @@protoc_insertion_point(message_implements:RDF_StreamRow)
       RDF_StreamRowOrBuilder {
   private static final long serialVersionUID = 0L;
+    static {
+      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
+        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
+        /* major= */ 4,
+        /* minor= */ 26,
+        /* patch= */ 0,
+        /* suffix= */ "",
+        RDF_StreamRow.class.getName());
+    }
     // Use RDF_StreamRow.newBuilder() to construct.
-    private RDF_StreamRow(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+    private RDF_StreamRow(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
       super(builder);
     }
     private RDF_StreamRow() {
     }
 
-    @java.lang.Override
-    @SuppressWarnings({"unused"})
-    protected java.lang.Object newInstance(
-        UnusedPrivateParameter unused) {
-      return new RDF_StreamRow();
-    }
-
-    @java.lang.Override
-    public final com.google.protobuf.UnknownFieldSet
-    getUnknownFields() {
-      return this.unknownFields;
-    }
-    private RDF_StreamRow(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      this();
-      if (extensionRegistry == null) {
-        throw new java.lang.NullPointerException();
-      }
-      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-          com.google.protobuf.UnknownFieldSet.newBuilder();
-      try {
-        boolean done = false;
-        while (!done) {
-          int tag = input.readTag();
-          switch (tag) {
-            case 0:
-              done = true;
-              break;
-            case 10: {
-              org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixDecl.Builder subBuilder = null;
-              if (rowCase_ == 1) {
-                subBuilder = ((org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixDecl) row_).toBuilder();
-              }
-              row_ =
-                  input.readMessage(org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixDecl.parser(), extensionRegistry);
-              if (subBuilder != null) {
-                subBuilder.mergeFrom((org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixDecl) row_);
-                row_ = subBuilder.buildPartial();
-              }
-              rowCase_ = 1;
-              break;
-            }
-            case 18: {
-              org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Triple.Builder subBuilder = null;
-              if (rowCase_ == 2) {
-                subBuilder = ((org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Triple) row_).toBuilder();
-              }
-              row_ =
-                  input.readMessage(org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Triple.parser(), extensionRegistry);
-              if (subBuilder != null) {
-                subBuilder.mergeFrom((org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Triple) row_);
-                row_ = subBuilder.buildPartial();
-              }
-              rowCase_ = 2;
-              break;
-            }
-            case 26: {
-              org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Quad.Builder subBuilder = null;
-              if (rowCase_ == 3) {
-                subBuilder = ((org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Quad) row_).toBuilder();
-              }
-              row_ =
-                  input.readMessage(org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Quad.parser(), extensionRegistry);
-              if (subBuilder != null) {
-                subBuilder.mergeFrom((org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Quad) row_);
-                row_ = subBuilder.buildPartial();
-              }
-              rowCase_ = 3;
-              break;
-            }
-            case 34: {
-              org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_IRI.Builder subBuilder = null;
-              if (rowCase_ == 4) {
-                subBuilder = ((org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_IRI) row_).toBuilder();
-              }
-              row_ =
-                  input.readMessage(org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_IRI.parser(), extensionRegistry);
-              if (subBuilder != null) {
-                subBuilder.mergeFrom((org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_IRI) row_);
-                row_ = subBuilder.buildPartial();
-              }
-              rowCase_ = 4;
-              break;
-            }
-            default: {
-              if (!parseUnknownField(
-                  input, unknownFields, extensionRegistry, tag)) {
-                done = true;
-              }
-              break;
-            }
-          }
-        }
-      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw e.setUnfinishedMessage(this);
-      } catch (java.io.IOException e) {
-        throw new com.google.protobuf.InvalidProtocolBufferException(
-            e).setUnfinishedMessage(this);
-      } finally {
-        this.unknownFields = unknownFields.build();
-        makeExtensionsImmutable();
-      }
-    }
     public static final com.google.protobuf.Descriptors.Descriptor
         getDescriptor() {
       return org.apache.jena.riot.protobuf.wire.PB_RDF.internal_static_RDF_StreamRow_descriptor;
     }
 
     @java.lang.Override
-    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
         internalGetFieldAccessorTable() {
       return org.apache.jena.riot.protobuf.wire.PB_RDF.internal_static_RDF_StreamRow_fieldAccessorTable
           .ensureFieldAccessorsInitialized(
@@ -11776,6 +10962,7 @@
     }
 
     private int rowCase_ = 0;
+    @SuppressWarnings("serial")
     private java.lang.Object row_;
     public enum RowCase
         implements com.google.protobuf.Internal.EnumLite,
@@ -11970,7 +11157,7 @@
       if (rowCase_ == 4) {
         output.writeMessage(4, (org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_IRI) row_);
       }
-      unknownFields.writeTo(output);
+      getUnknownFields().writeTo(output);
     }
 
     @java.lang.Override
@@ -11995,7 +11182,7 @@
         size += com.google.protobuf.CodedOutputStream
           .computeMessageSize(4, (org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_IRI) row_);
       }
-      size += unknownFields.getSerializedSize();
+      size += getUnknownFields().getSerializedSize();
       memoizedSize = size;
       return size;
     }
@@ -12031,7 +11218,7 @@
         case 0:
         default:
       }
-      if (!unknownFields.equals(other.unknownFields)) return false;
+      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
       return true;
     }
 
@@ -12062,7 +11249,7 @@
         case 0:
         default:
       }
-      hash = (29 * hash) + unknownFields.hashCode();
+      hash = (29 * hash) + getUnknownFields().hashCode();
       memoizedHashCode = hash;
       return hash;
     }
@@ -12101,39 +11288,41 @@
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_StreamRow parseFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input);
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_StreamRow parseFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input, extensionRegistry);
     }
+
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_StreamRow parseDelimitedFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseDelimitedWithIOException(PARSER, input);
     }
+
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_StreamRow parseDelimitedFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_StreamRow parseFrom(
         com.google.protobuf.CodedInputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input);
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_StreamRow parseFrom(
         com.google.protobuf.CodedInputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input, extensionRegistry);
     }
 
@@ -12153,7 +11342,7 @@
 
     @java.lang.Override
     protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
       Builder builder = new Builder(parent);
       return builder;
     }
@@ -12165,7 +11354,7 @@
      * Protobuf type {@code RDF_StreamRow}
      */
     public static final class Builder extends
-        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
         // @@protoc_insertion_point(builder_implements:RDF_StreamRow)
         org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_StreamRowOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
@@ -12174,7 +11363,7 @@
       }
 
       @java.lang.Override
-      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
           internalGetFieldAccessorTable() {
         return org.apache.jena.riot.protobuf.wire.PB_RDF.internal_static_RDF_StreamRow_fieldAccessorTable
             .ensureFieldAccessorsInitialized(
@@ -12183,22 +11372,30 @@
 
       // Construct using org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_StreamRow.newBuilder()
       private Builder() {
-        maybeForceBuilderInitialization();
+
       }
 
       private Builder(
-          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
         super(parent);
-        maybeForceBuilderInitialization();
-      }
-      private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessageV3
-                .alwaysUseFieldBuilders) {
-        }
+
       }
       @java.lang.Override
       public Builder clear() {
         super.clear();
+        bitField0_ = 0;
+        if (prefixDeclBuilder_ != null) {
+          prefixDeclBuilder_.clear();
+        }
+        if (tripleBuilder_ != null) {
+          tripleBuilder_.clear();
+        }
+        if (quadBuilder_ != null) {
+          quadBuilder_.clear();
+        }
+        if (baseBuilder_ != null) {
+          baseBuilder_.clear();
+        }
         rowCase_ = 0;
         row_ = null;
         return this;
@@ -12227,71 +11424,37 @@
       @java.lang.Override
       public org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_StreamRow buildPartial() {
         org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_StreamRow result = new org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_StreamRow(this);
-        if (rowCase_ == 1) {
-          if (prefixDeclBuilder_ == null) {
-            result.row_ = row_;
-          } else {
-            result.row_ = prefixDeclBuilder_.build();
-          }
-        }
-        if (rowCase_ == 2) {
-          if (tripleBuilder_ == null) {
-            result.row_ = row_;
-          } else {
-            result.row_ = tripleBuilder_.build();
-          }
-        }
-        if (rowCase_ == 3) {
-          if (quadBuilder_ == null) {
-            result.row_ = row_;
-          } else {
-            result.row_ = quadBuilder_.build();
-          }
-        }
-        if (rowCase_ == 4) {
-          if (baseBuilder_ == null) {
-            result.row_ = row_;
-          } else {
-            result.row_ = baseBuilder_.build();
-          }
-        }
-        result.rowCase_ = rowCase_;
+        if (bitField0_ != 0) { buildPartial0(result); }
+        buildPartialOneofs(result);
         onBuilt();
         return result;
       }
 
-      @java.lang.Override
-      public Builder clone() {
-        return super.clone();
+      private void buildPartial0(org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_StreamRow result) {
+        int from_bitField0_ = bitField0_;
       }
-      @java.lang.Override
-      public Builder setField(
-          com.google.protobuf.Descriptors.FieldDescriptor field,
-          java.lang.Object value) {
-        return super.setField(field, value);
+
+      private void buildPartialOneofs(org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_StreamRow result) {
+        result.rowCase_ = rowCase_;
+        result.row_ = this.row_;
+        if (rowCase_ == 1 &&
+            prefixDeclBuilder_ != null) {
+          result.row_ = prefixDeclBuilder_.build();
+        }
+        if (rowCase_ == 2 &&
+            tripleBuilder_ != null) {
+          result.row_ = tripleBuilder_.build();
+        }
+        if (rowCase_ == 3 &&
+            quadBuilder_ != null) {
+          result.row_ = quadBuilder_.build();
+        }
+        if (rowCase_ == 4 &&
+            baseBuilder_ != null) {
+          result.row_ = baseBuilder_.build();
+        }
       }
-      @java.lang.Override
-      public Builder clearField(
-          com.google.protobuf.Descriptors.FieldDescriptor field) {
-        return super.clearField(field);
-      }
-      @java.lang.Override
-      public Builder clearOneof(
-          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
-        return super.clearOneof(oneof);
-      }
-      @java.lang.Override
-      public Builder setRepeatedField(
-          com.google.protobuf.Descriptors.FieldDescriptor field,
-          int index, java.lang.Object value) {
-        return super.setRepeatedField(field, index, value);
-      }
-      @java.lang.Override
-      public Builder addRepeatedField(
-          com.google.protobuf.Descriptors.FieldDescriptor field,
-          java.lang.Object value) {
-        return super.addRepeatedField(field, value);
-      }
+
       @java.lang.Override
       public Builder mergeFrom(com.google.protobuf.Message other) {
         if (other instanceof org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_StreamRow) {
@@ -12325,7 +11488,7 @@
             break;
           }
         }
-        this.mergeUnknownFields(other.unknownFields);
+        this.mergeUnknownFields(other.getUnknownFields());
         onChanged();
         return this;
       }
@@ -12340,17 +11503,58 @@
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
           throws java.io.IOException {
-        org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_StreamRow parsedMessage = null;
+        if (extensionRegistry == null) {
+          throw new java.lang.NullPointerException();
+        }
         try {
-          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+          boolean done = false;
+          while (!done) {
+            int tag = input.readTag();
+            switch (tag) {
+              case 0:
+                done = true;
+                break;
+              case 10: {
+                input.readMessage(
+                    getPrefixDeclFieldBuilder().getBuilder(),
+                    extensionRegistry);
+                rowCase_ = 1;
+                break;
+              } // case 10
+              case 18: {
+                input.readMessage(
+                    getTripleFieldBuilder().getBuilder(),
+                    extensionRegistry);
+                rowCase_ = 2;
+                break;
+              } // case 18
+              case 26: {
+                input.readMessage(
+                    getQuadFieldBuilder().getBuilder(),
+                    extensionRegistry);
+                rowCase_ = 3;
+                break;
+              } // case 26
+              case 34: {
+                input.readMessage(
+                    getBaseFieldBuilder().getBuilder(),
+                    extensionRegistry);
+                rowCase_ = 4;
+                break;
+              } // case 34
+              default: {
+                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
+                  done = true; // was an endgroup tag
+                }
+                break;
+              } // default:
+            } // switch (tag)
+          } // while (!done)
         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          parsedMessage = (org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_StreamRow) e.getUnfinishedMessage();
           throw e.unwrapIOException();
         } finally {
-          if (parsedMessage != null) {
-            mergeFrom(parsedMessage);
-          }
-        }
+          onChanged();
+        } // finally
         return this;
       }
       private int rowCase_ = 0;
@@ -12368,8 +11572,9 @@
         return this;
       }
 
+      private int bitField0_;
 
-      private com.google.protobuf.SingleFieldBuilderV3<
+      private com.google.protobuf.SingleFieldBuilder<
           org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixDecl, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixDecl.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixDeclOrBuilder> prefixDeclBuilder_;
       /**
        * <code>.RDF_PrefixDecl prefixDecl = 1;</code>
@@ -12443,8 +11648,9 @@
         } else {
           if (rowCase_ == 1) {
             prefixDeclBuilder_.mergeFrom(value);
+          } else {
+            prefixDeclBuilder_.setMessage(value);
           }
-          prefixDeclBuilder_.setMessage(value);
         }
         rowCase_ = 1;
         return this;
@@ -12491,14 +11697,14 @@
       /**
        * <code>.RDF_PrefixDecl prefixDecl = 1;</code>
        */
-      private com.google.protobuf.SingleFieldBuilderV3<
+      private com.google.protobuf.SingleFieldBuilder<
           org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixDecl, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixDecl.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixDeclOrBuilder> 
           getPrefixDeclFieldBuilder() {
         if (prefixDeclBuilder_ == null) {
           if (!(rowCase_ == 1)) {
             row_ = org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixDecl.getDefaultInstance();
           }
-          prefixDeclBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+          prefixDeclBuilder_ = new com.google.protobuf.SingleFieldBuilder<
               org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixDecl, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixDecl.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixDeclOrBuilder>(
                   (org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_PrefixDecl) row_,
                   getParentForChildren(),
@@ -12506,11 +11712,11 @@
           row_ = null;
         }
         rowCase_ = 1;
-        onChanged();;
+        onChanged();
         return prefixDeclBuilder_;
       }
 
-      private com.google.protobuf.SingleFieldBuilderV3<
+      private com.google.protobuf.SingleFieldBuilder<
           org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Triple, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Triple.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_TripleOrBuilder> tripleBuilder_;
       /**
        * <code>.RDF_Triple triple = 2;</code>
@@ -12584,8 +11790,9 @@
         } else {
           if (rowCase_ == 2) {
             tripleBuilder_.mergeFrom(value);
+          } else {
+            tripleBuilder_.setMessage(value);
           }
-          tripleBuilder_.setMessage(value);
         }
         rowCase_ = 2;
         return this;
@@ -12632,14 +11839,14 @@
       /**
        * <code>.RDF_Triple triple = 2;</code>
        */
-      private com.google.protobuf.SingleFieldBuilderV3<
+      private com.google.protobuf.SingleFieldBuilder<
           org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Triple, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Triple.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_TripleOrBuilder> 
           getTripleFieldBuilder() {
         if (tripleBuilder_ == null) {
           if (!(rowCase_ == 2)) {
             row_ = org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Triple.getDefaultInstance();
           }
-          tripleBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+          tripleBuilder_ = new com.google.protobuf.SingleFieldBuilder<
               org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Triple, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Triple.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_TripleOrBuilder>(
                   (org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Triple) row_,
                   getParentForChildren(),
@@ -12647,11 +11854,11 @@
           row_ = null;
         }
         rowCase_ = 2;
-        onChanged();;
+        onChanged();
         return tripleBuilder_;
       }
 
-      private com.google.protobuf.SingleFieldBuilderV3<
+      private com.google.protobuf.SingleFieldBuilder<
           org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Quad, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Quad.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_QuadOrBuilder> quadBuilder_;
       /**
        * <code>.RDF_Quad quad = 3;</code>
@@ -12725,8 +11932,9 @@
         } else {
           if (rowCase_ == 3) {
             quadBuilder_.mergeFrom(value);
+          } else {
+            quadBuilder_.setMessage(value);
           }
-          quadBuilder_.setMessage(value);
         }
         rowCase_ = 3;
         return this;
@@ -12773,14 +11981,14 @@
       /**
        * <code>.RDF_Quad quad = 3;</code>
        */
-      private com.google.protobuf.SingleFieldBuilderV3<
+      private com.google.protobuf.SingleFieldBuilder<
           org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Quad, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Quad.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_QuadOrBuilder> 
           getQuadFieldBuilder() {
         if (quadBuilder_ == null) {
           if (!(rowCase_ == 3)) {
             row_ = org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Quad.getDefaultInstance();
           }
-          quadBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+          quadBuilder_ = new com.google.protobuf.SingleFieldBuilder<
               org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Quad, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Quad.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_QuadOrBuilder>(
                   (org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Quad) row_,
                   getParentForChildren(),
@@ -12788,11 +11996,11 @@
           row_ = null;
         }
         rowCase_ = 3;
-        onChanged();;
+        onChanged();
         return quadBuilder_;
       }
 
-      private com.google.protobuf.SingleFieldBuilderV3<
+      private com.google.protobuf.SingleFieldBuilder<
           org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_IRI, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_IRI.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_IRIOrBuilder> baseBuilder_;
       /**
        * <code>.RDF_IRI base = 4;</code>
@@ -12866,8 +12074,9 @@
         } else {
           if (rowCase_ == 4) {
             baseBuilder_.mergeFrom(value);
+          } else {
+            baseBuilder_.setMessage(value);
           }
-          baseBuilder_.setMessage(value);
         }
         rowCase_ = 4;
         return this;
@@ -12914,14 +12123,14 @@
       /**
        * <code>.RDF_IRI base = 4;</code>
        */
-      private com.google.protobuf.SingleFieldBuilderV3<
+      private com.google.protobuf.SingleFieldBuilder<
           org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_IRI, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_IRI.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_IRIOrBuilder> 
           getBaseFieldBuilder() {
         if (baseBuilder_ == null) {
           if (!(rowCase_ == 4)) {
             row_ = org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_IRI.getDefaultInstance();
           }
-          baseBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+          baseBuilder_ = new com.google.protobuf.SingleFieldBuilder<
               org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_IRI, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_IRI.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_IRIOrBuilder>(
                   (org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_IRI) row_,
                   getParentForChildren(),
@@ -12929,21 +12138,9 @@
           row_ = null;
         }
         rowCase_ = 4;
-        onChanged();;
+        onChanged();
         return baseBuilder_;
       }
-      @java.lang.Override
-      public final Builder setUnknownFields(
-          final com.google.protobuf.UnknownFieldSet unknownFields) {
-        return super.setUnknownFields(unknownFields);
-      }
-
-      @java.lang.Override
-      public final Builder mergeUnknownFields(
-          final com.google.protobuf.UnknownFieldSet unknownFields) {
-        return super.mergeUnknownFields(unknownFields);
-      }
-
 
       // @@protoc_insertion_point(builder_scope:RDF_StreamRow)
     }
@@ -12965,7 +12162,18 @@
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
           throws com.google.protobuf.InvalidProtocolBufferException {
-        return new RDF_StreamRow(input, extensionRegistry);
+        Builder builder = newBuilder();
+        try {
+          builder.mergeFrom(input, extensionRegistry);
+        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+          throw e.setUnfinishedMessage(builder.buildPartial());
+        } catch (com.google.protobuf.UninitializedMessageException e) {
+          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
+        } catch (java.io.IOException e) {
+          throw new com.google.protobuf.InvalidProtocolBufferException(e)
+              .setUnfinishedMessage(builder.buildPartial());
+        }
+        return builder.buildPartial();
       }
     };
 
@@ -13017,87 +12225,34 @@
    * Protobuf type {@code RDF_Stream}
    */
   public static final class RDF_Stream extends
-      com.google.protobuf.GeneratedMessageV3 implements
+      com.google.protobuf.GeneratedMessage implements
       // @@protoc_insertion_point(message_implements:RDF_Stream)
       RDF_StreamOrBuilder {
   private static final long serialVersionUID = 0L;
+    static {
+      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
+        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
+        /* major= */ 4,
+        /* minor= */ 26,
+        /* patch= */ 0,
+        /* suffix= */ "",
+        RDF_Stream.class.getName());
+    }
     // Use RDF_Stream.newBuilder() to construct.
-    private RDF_Stream(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+    private RDF_Stream(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
       super(builder);
     }
     private RDF_Stream() {
       row_ = java.util.Collections.emptyList();
     }
 
-    @java.lang.Override
-    @SuppressWarnings({"unused"})
-    protected java.lang.Object newInstance(
-        UnusedPrivateParameter unused) {
-      return new RDF_Stream();
-    }
-
-    @java.lang.Override
-    public final com.google.protobuf.UnknownFieldSet
-    getUnknownFields() {
-      return this.unknownFields;
-    }
-    private RDF_Stream(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      this();
-      if (extensionRegistry == null) {
-        throw new java.lang.NullPointerException();
-      }
-      int mutable_bitField0_ = 0;
-      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-          com.google.protobuf.UnknownFieldSet.newBuilder();
-      try {
-        boolean done = false;
-        while (!done) {
-          int tag = input.readTag();
-          switch (tag) {
-            case 0:
-              done = true;
-              break;
-            case 10: {
-              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
-                row_ = new java.util.ArrayList<org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_StreamRow>();
-                mutable_bitField0_ |= 0x00000001;
-              }
-              row_.add(
-                  input.readMessage(org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_StreamRow.parser(), extensionRegistry));
-              break;
-            }
-            default: {
-              if (!parseUnknownField(
-                  input, unknownFields, extensionRegistry, tag)) {
-                done = true;
-              }
-              break;
-            }
-          }
-        }
-      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw e.setUnfinishedMessage(this);
-      } catch (java.io.IOException e) {
-        throw new com.google.protobuf.InvalidProtocolBufferException(
-            e).setUnfinishedMessage(this);
-      } finally {
-        if (((mutable_bitField0_ & 0x00000001) != 0)) {
-          row_ = java.util.Collections.unmodifiableList(row_);
-        }
-        this.unknownFields = unknownFields.build();
-        makeExtensionsImmutable();
-      }
-    }
     public static final com.google.protobuf.Descriptors.Descriptor
         getDescriptor() {
       return org.apache.jena.riot.protobuf.wire.PB_RDF.internal_static_RDF_Stream_descriptor;
     }
 
     @java.lang.Override
-    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
         internalGetFieldAccessorTable() {
       return org.apache.jena.riot.protobuf.wire.PB_RDF.internal_static_RDF_Stream_fieldAccessorTable
           .ensureFieldAccessorsInitialized(
@@ -13105,6 +12260,7 @@
     }
 
     public static final int ROW_FIELD_NUMBER = 1;
+    @SuppressWarnings("serial")
     private java.util.List<org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_StreamRow> row_;
     /**
      * <code>repeated .RDF_StreamRow row = 1;</code>
@@ -13161,7 +12317,7 @@
       for (int i = 0; i < row_.size(); i++) {
         output.writeMessage(1, row_.get(i));
       }
-      unknownFields.writeTo(output);
+      getUnknownFields().writeTo(output);
     }
 
     @java.lang.Override
@@ -13174,7 +12330,7 @@
         size += com.google.protobuf.CodedOutputStream
           .computeMessageSize(1, row_.get(i));
       }
-      size += unknownFields.getSerializedSize();
+      size += getUnknownFields().getSerializedSize();
       memoizedSize = size;
       return size;
     }
@@ -13191,7 +12347,7 @@
 
       if (!getRowList()
           .equals(other.getRowList())) return false;
-      if (!unknownFields.equals(other.unknownFields)) return false;
+      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
       return true;
     }
 
@@ -13206,7 +12362,7 @@
         hash = (37 * hash) + ROW_FIELD_NUMBER;
         hash = (53 * hash) + getRowList().hashCode();
       }
-      hash = (29 * hash) + unknownFields.hashCode();
+      hash = (29 * hash) + getUnknownFields().hashCode();
       memoizedHashCode = hash;
       return hash;
     }
@@ -13245,39 +12401,41 @@
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Stream parseFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input);
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Stream parseFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input, extensionRegistry);
     }
+
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Stream parseDelimitedFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseDelimitedWithIOException(PARSER, input);
     }
+
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Stream parseDelimitedFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Stream parseFrom(
         com.google.protobuf.CodedInputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input);
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Stream parseFrom(
         com.google.protobuf.CodedInputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input, extensionRegistry);
     }
 
@@ -13297,7 +12455,7 @@
 
     @java.lang.Override
     protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
       Builder builder = new Builder(parent);
       return builder;
     }
@@ -13305,7 +12463,7 @@
      * Protobuf type {@code RDF_Stream}
      */
     public static final class Builder extends
-        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
         // @@protoc_insertion_point(builder_implements:RDF_Stream)
         org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_StreamOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
@@ -13314,7 +12472,7 @@
       }
 
       @java.lang.Override
-      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
           internalGetFieldAccessorTable() {
         return org.apache.jena.riot.protobuf.wire.PB_RDF.internal_static_RDF_Stream_fieldAccessorTable
             .ensureFieldAccessorsInitialized(
@@ -13323,29 +12481,25 @@
 
       // Construct using org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Stream.newBuilder()
       private Builder() {
-        maybeForceBuilderInitialization();
+
       }
 
       private Builder(
-          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
         super(parent);
-        maybeForceBuilderInitialization();
-      }
-      private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessageV3
-                .alwaysUseFieldBuilders) {
-          getRowFieldBuilder();
-        }
+
       }
       @java.lang.Override
       public Builder clear() {
         super.clear();
+        bitField0_ = 0;
         if (rowBuilder_ == null) {
           row_ = java.util.Collections.emptyList();
-          bitField0_ = (bitField0_ & ~0x00000001);
         } else {
+          row_ = null;
           rowBuilder_.clear();
         }
+        bitField0_ = (bitField0_ & ~0x00000001);
         return this;
       }
 
@@ -13372,7 +12526,13 @@
       @java.lang.Override
       public org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Stream buildPartial() {
         org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Stream result = new org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Stream(this);
-        int from_bitField0_ = bitField0_;
+        buildPartialRepeatedFields(result);
+        if (bitField0_ != 0) { buildPartial0(result); }
+        onBuilt();
+        return result;
+      }
+
+      private void buildPartialRepeatedFields(org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Stream result) {
         if (rowBuilder_ == null) {
           if (((bitField0_ & 0x00000001) != 0)) {
             row_ = java.util.Collections.unmodifiableList(row_);
@@ -13382,42 +12542,12 @@
         } else {
           result.row_ = rowBuilder_.build();
         }
-        onBuilt();
-        return result;
       }
 
-      @java.lang.Override
-      public Builder clone() {
-        return super.clone();
+      private void buildPartial0(org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Stream result) {
+        int from_bitField0_ = bitField0_;
       }
-      @java.lang.Override
-      public Builder setField(
-          com.google.protobuf.Descriptors.FieldDescriptor field,
-          java.lang.Object value) {
-        return super.setField(field, value);
-      }
-      @java.lang.Override
-      public Builder clearField(
-          com.google.protobuf.Descriptors.FieldDescriptor field) {
-        return super.clearField(field);
-      }
-      @java.lang.Override
-      public Builder clearOneof(
-          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
-        return super.clearOneof(oneof);
-      }
-      @java.lang.Override
-      public Builder setRepeatedField(
-          com.google.protobuf.Descriptors.FieldDescriptor field,
-          int index, java.lang.Object value) {
-        return super.setRepeatedField(field, index, value);
-      }
-      @java.lang.Override
-      public Builder addRepeatedField(
-          com.google.protobuf.Descriptors.FieldDescriptor field,
-          java.lang.Object value) {
-        return super.addRepeatedField(field, value);
-      }
+
       @java.lang.Override
       public Builder mergeFrom(com.google.protobuf.Message other) {
         if (other instanceof org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Stream) {
@@ -13449,14 +12579,14 @@
               row_ = other.row_;
               bitField0_ = (bitField0_ & ~0x00000001);
               rowBuilder_ = 
-                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
+                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                    getRowFieldBuilder() : null;
             } else {
               rowBuilder_.addAllMessages(other.row_);
             }
           }
         }
-        this.mergeUnknownFields(other.unknownFields);
+        this.mergeUnknownFields(other.getUnknownFields());
         onChanged();
         return this;
       }
@@ -13471,17 +12601,43 @@
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
           throws java.io.IOException {
-        org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Stream parsedMessage = null;
+        if (extensionRegistry == null) {
+          throw new java.lang.NullPointerException();
+        }
         try {
-          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+          boolean done = false;
+          while (!done) {
+            int tag = input.readTag();
+            switch (tag) {
+              case 0:
+                done = true;
+                break;
+              case 10: {
+                org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_StreamRow m =
+                    input.readMessage(
+                        org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_StreamRow.parser(),
+                        extensionRegistry);
+                if (rowBuilder_ == null) {
+                  ensureRowIsMutable();
+                  row_.add(m);
+                } else {
+                  rowBuilder_.addMessage(m);
+                }
+                break;
+              } // case 10
+              default: {
+                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
+                  done = true; // was an endgroup tag
+                }
+                break;
+              } // default:
+            } // switch (tag)
+          } // while (!done)
         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          parsedMessage = (org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Stream) e.getUnfinishedMessage();
           throw e.unwrapIOException();
         } finally {
-          if (parsedMessage != null) {
-            mergeFrom(parsedMessage);
-          }
-        }
+          onChanged();
+        } // finally
         return this;
       }
       private int bitField0_;
@@ -13495,7 +12651,7 @@
          }
       }
 
-      private com.google.protobuf.RepeatedFieldBuilderV3<
+      private com.google.protobuf.RepeatedFieldBuilder<
           org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_StreamRow, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_StreamRow.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_StreamRowOrBuilder> rowBuilder_;
 
       /**
@@ -13711,11 +12867,11 @@
            getRowBuilderList() {
         return getRowFieldBuilder().getBuilderList();
       }
-      private com.google.protobuf.RepeatedFieldBuilderV3<
+      private com.google.protobuf.RepeatedFieldBuilder<
           org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_StreamRow, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_StreamRow.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_StreamRowOrBuilder> 
           getRowFieldBuilder() {
         if (rowBuilder_ == null) {
-          rowBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
+          rowBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
               org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_StreamRow, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_StreamRow.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_StreamRowOrBuilder>(
                   row_,
                   ((bitField0_ & 0x00000001) != 0),
@@ -13725,18 +12881,6 @@
         }
         return rowBuilder_;
       }
-      @java.lang.Override
-      public final Builder setUnknownFields(
-          final com.google.protobuf.UnknownFieldSet unknownFields) {
-        return super.setUnknownFields(unknownFields);
-      }
-
-      @java.lang.Override
-      public final Builder mergeUnknownFields(
-          final com.google.protobuf.UnknownFieldSet unknownFields) {
-        return super.mergeUnknownFields(unknownFields);
-      }
-
 
       // @@protoc_insertion_point(builder_scope:RDF_Stream)
     }
@@ -13758,7 +12902,18 @@
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
           throws com.google.protobuf.InvalidProtocolBufferException {
-        return new RDF_Stream(input, extensionRegistry);
+        Builder builder = newBuilder();
+        try {
+          builder.mergeFrom(input, extensionRegistry);
+        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+          throw e.setUnfinishedMessage(builder.buildPartial());
+        } catch (com.google.protobuf.UninitializedMessageException e) {
+          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
+        } catch (java.io.IOException e) {
+          throw new com.google.protobuf.InvalidProtocolBufferException(e)
+              .setUnfinishedMessage(builder.buildPartial());
+        }
+        return builder.buildPartial();
       }
     };
 
@@ -13810,87 +12965,34 @@
    * Protobuf type {@code RDF_VarTuple}
    */
   public static final class RDF_VarTuple extends
-      com.google.protobuf.GeneratedMessageV3 implements
+      com.google.protobuf.GeneratedMessage implements
       // @@protoc_insertion_point(message_implements:RDF_VarTuple)
       RDF_VarTupleOrBuilder {
   private static final long serialVersionUID = 0L;
+    static {
+      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
+        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
+        /* major= */ 4,
+        /* minor= */ 26,
+        /* patch= */ 0,
+        /* suffix= */ "",
+        RDF_VarTuple.class.getName());
+    }
     // Use RDF_VarTuple.newBuilder() to construct.
-    private RDF_VarTuple(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+    private RDF_VarTuple(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
       super(builder);
     }
     private RDF_VarTuple() {
       vars_ = java.util.Collections.emptyList();
     }
 
-    @java.lang.Override
-    @SuppressWarnings({"unused"})
-    protected java.lang.Object newInstance(
-        UnusedPrivateParameter unused) {
-      return new RDF_VarTuple();
-    }
-
-    @java.lang.Override
-    public final com.google.protobuf.UnknownFieldSet
-    getUnknownFields() {
-      return this.unknownFields;
-    }
-    private RDF_VarTuple(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      this();
-      if (extensionRegistry == null) {
-        throw new java.lang.NullPointerException();
-      }
-      int mutable_bitField0_ = 0;
-      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-          com.google.protobuf.UnknownFieldSet.newBuilder();
-      try {
-        boolean done = false;
-        while (!done) {
-          int tag = input.readTag();
-          switch (tag) {
-            case 0:
-              done = true;
-              break;
-            case 10: {
-              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
-                vars_ = new java.util.ArrayList<org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Var>();
-                mutable_bitField0_ |= 0x00000001;
-              }
-              vars_.add(
-                  input.readMessage(org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Var.parser(), extensionRegistry));
-              break;
-            }
-            default: {
-              if (!parseUnknownField(
-                  input, unknownFields, extensionRegistry, tag)) {
-                done = true;
-              }
-              break;
-            }
-          }
-        }
-      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw e.setUnfinishedMessage(this);
-      } catch (java.io.IOException e) {
-        throw new com.google.protobuf.InvalidProtocolBufferException(
-            e).setUnfinishedMessage(this);
-      } finally {
-        if (((mutable_bitField0_ & 0x00000001) != 0)) {
-          vars_ = java.util.Collections.unmodifiableList(vars_);
-        }
-        this.unknownFields = unknownFields.build();
-        makeExtensionsImmutable();
-      }
-    }
     public static final com.google.protobuf.Descriptors.Descriptor
         getDescriptor() {
       return org.apache.jena.riot.protobuf.wire.PB_RDF.internal_static_RDF_VarTuple_descriptor;
     }
 
     @java.lang.Override
-    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
         internalGetFieldAccessorTable() {
       return org.apache.jena.riot.protobuf.wire.PB_RDF.internal_static_RDF_VarTuple_fieldAccessorTable
           .ensureFieldAccessorsInitialized(
@@ -13898,6 +13000,7 @@
     }
 
     public static final int VARS_FIELD_NUMBER = 1;
+    @SuppressWarnings("serial")
     private java.util.List<org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Var> vars_;
     /**
      * <code>repeated .RDF_Var vars = 1;</code>
@@ -13954,7 +13057,7 @@
       for (int i = 0; i < vars_.size(); i++) {
         output.writeMessage(1, vars_.get(i));
       }
-      unknownFields.writeTo(output);
+      getUnknownFields().writeTo(output);
     }
 
     @java.lang.Override
@@ -13967,7 +13070,7 @@
         size += com.google.protobuf.CodedOutputStream
           .computeMessageSize(1, vars_.get(i));
       }
-      size += unknownFields.getSerializedSize();
+      size += getUnknownFields().getSerializedSize();
       memoizedSize = size;
       return size;
     }
@@ -13984,7 +13087,7 @@
 
       if (!getVarsList()
           .equals(other.getVarsList())) return false;
-      if (!unknownFields.equals(other.unknownFields)) return false;
+      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
       return true;
     }
 
@@ -13999,7 +13102,7 @@
         hash = (37 * hash) + VARS_FIELD_NUMBER;
         hash = (53 * hash) + getVarsList().hashCode();
       }
-      hash = (29 * hash) + unknownFields.hashCode();
+      hash = (29 * hash) + getUnknownFields().hashCode();
       memoizedHashCode = hash;
       return hash;
     }
@@ -14038,39 +13141,41 @@
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_VarTuple parseFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input);
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_VarTuple parseFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input, extensionRegistry);
     }
+
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_VarTuple parseDelimitedFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseDelimitedWithIOException(PARSER, input);
     }
+
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_VarTuple parseDelimitedFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_VarTuple parseFrom(
         com.google.protobuf.CodedInputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input);
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_VarTuple parseFrom(
         com.google.protobuf.CodedInputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input, extensionRegistry);
     }
 
@@ -14090,7 +13195,7 @@
 
     @java.lang.Override
     protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
       Builder builder = new Builder(parent);
       return builder;
     }
@@ -14098,7 +13203,7 @@
      * Protobuf type {@code RDF_VarTuple}
      */
     public static final class Builder extends
-        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
         // @@protoc_insertion_point(builder_implements:RDF_VarTuple)
         org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_VarTupleOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
@@ -14107,7 +13212,7 @@
       }
 
       @java.lang.Override
-      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
           internalGetFieldAccessorTable() {
         return org.apache.jena.riot.protobuf.wire.PB_RDF.internal_static_RDF_VarTuple_fieldAccessorTable
             .ensureFieldAccessorsInitialized(
@@ -14116,29 +13221,25 @@
 
       // Construct using org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_VarTuple.newBuilder()
       private Builder() {
-        maybeForceBuilderInitialization();
+
       }
 
       private Builder(
-          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
         super(parent);
-        maybeForceBuilderInitialization();
-      }
-      private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessageV3
-                .alwaysUseFieldBuilders) {
-          getVarsFieldBuilder();
-        }
+
       }
       @java.lang.Override
       public Builder clear() {
         super.clear();
+        bitField0_ = 0;
         if (varsBuilder_ == null) {
           vars_ = java.util.Collections.emptyList();
-          bitField0_ = (bitField0_ & ~0x00000001);
         } else {
+          vars_ = null;
           varsBuilder_.clear();
         }
+        bitField0_ = (bitField0_ & ~0x00000001);
         return this;
       }
 
@@ -14165,7 +13266,13 @@
       @java.lang.Override
       public org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_VarTuple buildPartial() {
         org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_VarTuple result = new org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_VarTuple(this);
-        int from_bitField0_ = bitField0_;
+        buildPartialRepeatedFields(result);
+        if (bitField0_ != 0) { buildPartial0(result); }
+        onBuilt();
+        return result;
+      }
+
+      private void buildPartialRepeatedFields(org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_VarTuple result) {
         if (varsBuilder_ == null) {
           if (((bitField0_ & 0x00000001) != 0)) {
             vars_ = java.util.Collections.unmodifiableList(vars_);
@@ -14175,42 +13282,12 @@
         } else {
           result.vars_ = varsBuilder_.build();
         }
-        onBuilt();
-        return result;
       }
 
-      @java.lang.Override
-      public Builder clone() {
-        return super.clone();
+      private void buildPartial0(org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_VarTuple result) {
+        int from_bitField0_ = bitField0_;
       }
-      @java.lang.Override
-      public Builder setField(
-          com.google.protobuf.Descriptors.FieldDescriptor field,
-          java.lang.Object value) {
-        return super.setField(field, value);
-      }
-      @java.lang.Override
-      public Builder clearField(
-          com.google.protobuf.Descriptors.FieldDescriptor field) {
-        return super.clearField(field);
-      }
-      @java.lang.Override
-      public Builder clearOneof(
-          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
-        return super.clearOneof(oneof);
-      }
-      @java.lang.Override
-      public Builder setRepeatedField(
-          com.google.protobuf.Descriptors.FieldDescriptor field,
-          int index, java.lang.Object value) {
-        return super.setRepeatedField(field, index, value);
-      }
-      @java.lang.Override
-      public Builder addRepeatedField(
-          com.google.protobuf.Descriptors.FieldDescriptor field,
-          java.lang.Object value) {
-        return super.addRepeatedField(field, value);
-      }
+
       @java.lang.Override
       public Builder mergeFrom(com.google.protobuf.Message other) {
         if (other instanceof org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_VarTuple) {
@@ -14242,14 +13319,14 @@
               vars_ = other.vars_;
               bitField0_ = (bitField0_ & ~0x00000001);
               varsBuilder_ = 
-                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
+                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                    getVarsFieldBuilder() : null;
             } else {
               varsBuilder_.addAllMessages(other.vars_);
             }
           }
         }
-        this.mergeUnknownFields(other.unknownFields);
+        this.mergeUnknownFields(other.getUnknownFields());
         onChanged();
         return this;
       }
@@ -14264,17 +13341,43 @@
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
           throws java.io.IOException {
-        org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_VarTuple parsedMessage = null;
+        if (extensionRegistry == null) {
+          throw new java.lang.NullPointerException();
+        }
         try {
-          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+          boolean done = false;
+          while (!done) {
+            int tag = input.readTag();
+            switch (tag) {
+              case 0:
+                done = true;
+                break;
+              case 10: {
+                org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Var m =
+                    input.readMessage(
+                        org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Var.parser(),
+                        extensionRegistry);
+                if (varsBuilder_ == null) {
+                  ensureVarsIsMutable();
+                  vars_.add(m);
+                } else {
+                  varsBuilder_.addMessage(m);
+                }
+                break;
+              } // case 10
+              default: {
+                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
+                  done = true; // was an endgroup tag
+                }
+                break;
+              } // default:
+            } // switch (tag)
+          } // while (!done)
         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          parsedMessage = (org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_VarTuple) e.getUnfinishedMessage();
           throw e.unwrapIOException();
         } finally {
-          if (parsedMessage != null) {
-            mergeFrom(parsedMessage);
-          }
-        }
+          onChanged();
+        } // finally
         return this;
       }
       private int bitField0_;
@@ -14288,7 +13391,7 @@
          }
       }
 
-      private com.google.protobuf.RepeatedFieldBuilderV3<
+      private com.google.protobuf.RepeatedFieldBuilder<
           org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Var, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Var.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_VarOrBuilder> varsBuilder_;
 
       /**
@@ -14504,11 +13607,11 @@
            getVarsBuilderList() {
         return getVarsFieldBuilder().getBuilderList();
       }
-      private com.google.protobuf.RepeatedFieldBuilderV3<
+      private com.google.protobuf.RepeatedFieldBuilder<
           org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Var, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Var.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_VarOrBuilder> 
           getVarsFieldBuilder() {
         if (varsBuilder_ == null) {
-          varsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
+          varsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
               org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Var, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Var.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_VarOrBuilder>(
                   vars_,
                   ((bitField0_ & 0x00000001) != 0),
@@ -14518,18 +13621,6 @@
         }
         return varsBuilder_;
       }
-      @java.lang.Override
-      public final Builder setUnknownFields(
-          final com.google.protobuf.UnknownFieldSet unknownFields) {
-        return super.setUnknownFields(unknownFields);
-      }
-
-      @java.lang.Override
-      public final Builder mergeUnknownFields(
-          final com.google.protobuf.UnknownFieldSet unknownFields) {
-        return super.mergeUnknownFields(unknownFields);
-      }
-
 
       // @@protoc_insertion_point(builder_scope:RDF_VarTuple)
     }
@@ -14551,7 +13642,18 @@
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
           throws com.google.protobuf.InvalidProtocolBufferException {
-        return new RDF_VarTuple(input, extensionRegistry);
+        Builder builder = newBuilder();
+        try {
+          builder.mergeFrom(input, extensionRegistry);
+        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+          throw e.setUnfinishedMessage(builder.buildPartial());
+        } catch (com.google.protobuf.UninitializedMessageException e) {
+          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
+        } catch (java.io.IOException e) {
+          throw new com.google.protobuf.InvalidProtocolBufferException(e)
+              .setUnfinishedMessage(builder.buildPartial());
+        }
+        return builder.buildPartial();
       }
     };
 
@@ -14603,87 +13705,34 @@
    * Protobuf type {@code RDF_DataTuple}
    */
   public static final class RDF_DataTuple extends
-      com.google.protobuf.GeneratedMessageV3 implements
+      com.google.protobuf.GeneratedMessage implements
       // @@protoc_insertion_point(message_implements:RDF_DataTuple)
       RDF_DataTupleOrBuilder {
   private static final long serialVersionUID = 0L;
+    static {
+      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
+        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
+        /* major= */ 4,
+        /* minor= */ 26,
+        /* patch= */ 0,
+        /* suffix= */ "",
+        RDF_DataTuple.class.getName());
+    }
     // Use RDF_DataTuple.newBuilder() to construct.
-    private RDF_DataTuple(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+    private RDF_DataTuple(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
       super(builder);
     }
     private RDF_DataTuple() {
       row_ = java.util.Collections.emptyList();
     }
 
-    @java.lang.Override
-    @SuppressWarnings({"unused"})
-    protected java.lang.Object newInstance(
-        UnusedPrivateParameter unused) {
-      return new RDF_DataTuple();
-    }
-
-    @java.lang.Override
-    public final com.google.protobuf.UnknownFieldSet
-    getUnknownFields() {
-      return this.unknownFields;
-    }
-    private RDF_DataTuple(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      this();
-      if (extensionRegistry == null) {
-        throw new java.lang.NullPointerException();
-      }
-      int mutable_bitField0_ = 0;
-      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-          com.google.protobuf.UnknownFieldSet.newBuilder();
-      try {
-        boolean done = false;
-        while (!done) {
-          int tag = input.readTag();
-          switch (tag) {
-            case 0:
-              done = true;
-              break;
-            case 10: {
-              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
-                row_ = new java.util.ArrayList<org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term>();
-                mutable_bitField0_ |= 0x00000001;
-              }
-              row_.add(
-                  input.readMessage(org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.parser(), extensionRegistry));
-              break;
-            }
-            default: {
-              if (!parseUnknownField(
-                  input, unknownFields, extensionRegistry, tag)) {
-                done = true;
-              }
-              break;
-            }
-          }
-        }
-      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw e.setUnfinishedMessage(this);
-      } catch (java.io.IOException e) {
-        throw new com.google.protobuf.InvalidProtocolBufferException(
-            e).setUnfinishedMessage(this);
-      } finally {
-        if (((mutable_bitField0_ & 0x00000001) != 0)) {
-          row_ = java.util.Collections.unmodifiableList(row_);
-        }
-        this.unknownFields = unknownFields.build();
-        makeExtensionsImmutable();
-      }
-    }
     public static final com.google.protobuf.Descriptors.Descriptor
         getDescriptor() {
       return org.apache.jena.riot.protobuf.wire.PB_RDF.internal_static_RDF_DataTuple_descriptor;
     }
 
     @java.lang.Override
-    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
         internalGetFieldAccessorTable() {
       return org.apache.jena.riot.protobuf.wire.PB_RDF.internal_static_RDF_DataTuple_fieldAccessorTable
           .ensureFieldAccessorsInitialized(
@@ -14691,6 +13740,7 @@
     }
 
     public static final int ROW_FIELD_NUMBER = 1;
+    @SuppressWarnings("serial")
     private java.util.List<org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term> row_;
     /**
      * <code>repeated .RDF_Term row = 1;</code>
@@ -14747,7 +13797,7 @@
       for (int i = 0; i < row_.size(); i++) {
         output.writeMessage(1, row_.get(i));
       }
-      unknownFields.writeTo(output);
+      getUnknownFields().writeTo(output);
     }
 
     @java.lang.Override
@@ -14760,7 +13810,7 @@
         size += com.google.protobuf.CodedOutputStream
           .computeMessageSize(1, row_.get(i));
       }
-      size += unknownFields.getSerializedSize();
+      size += getUnknownFields().getSerializedSize();
       memoizedSize = size;
       return size;
     }
@@ -14777,7 +13827,7 @@
 
       if (!getRowList()
           .equals(other.getRowList())) return false;
-      if (!unknownFields.equals(other.unknownFields)) return false;
+      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
       return true;
     }
 
@@ -14792,7 +13842,7 @@
         hash = (37 * hash) + ROW_FIELD_NUMBER;
         hash = (53 * hash) + getRowList().hashCode();
       }
-      hash = (29 * hash) + unknownFields.hashCode();
+      hash = (29 * hash) + getUnknownFields().hashCode();
       memoizedHashCode = hash;
       return hash;
     }
@@ -14831,39 +13881,41 @@
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_DataTuple parseFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input);
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_DataTuple parseFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input, extensionRegistry);
     }
+
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_DataTuple parseDelimitedFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseDelimitedWithIOException(PARSER, input);
     }
+
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_DataTuple parseDelimitedFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_DataTuple parseFrom(
         com.google.protobuf.CodedInputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input);
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_DataTuple parseFrom(
         com.google.protobuf.CodedInputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input, extensionRegistry);
     }
 
@@ -14883,7 +13935,7 @@
 
     @java.lang.Override
     protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
       Builder builder = new Builder(parent);
       return builder;
     }
@@ -14891,7 +13943,7 @@
      * Protobuf type {@code RDF_DataTuple}
      */
     public static final class Builder extends
-        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
         // @@protoc_insertion_point(builder_implements:RDF_DataTuple)
         org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_DataTupleOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
@@ -14900,7 +13952,7 @@
       }
 
       @java.lang.Override
-      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
           internalGetFieldAccessorTable() {
         return org.apache.jena.riot.protobuf.wire.PB_RDF.internal_static_RDF_DataTuple_fieldAccessorTable
             .ensureFieldAccessorsInitialized(
@@ -14909,29 +13961,25 @@
 
       // Construct using org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_DataTuple.newBuilder()
       private Builder() {
-        maybeForceBuilderInitialization();
+
       }
 
       private Builder(
-          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
         super(parent);
-        maybeForceBuilderInitialization();
-      }
-      private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessageV3
-                .alwaysUseFieldBuilders) {
-          getRowFieldBuilder();
-        }
+
       }
       @java.lang.Override
       public Builder clear() {
         super.clear();
+        bitField0_ = 0;
         if (rowBuilder_ == null) {
           row_ = java.util.Collections.emptyList();
-          bitField0_ = (bitField0_ & ~0x00000001);
         } else {
+          row_ = null;
           rowBuilder_.clear();
         }
+        bitField0_ = (bitField0_ & ~0x00000001);
         return this;
       }
 
@@ -14958,7 +14006,13 @@
       @java.lang.Override
       public org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_DataTuple buildPartial() {
         org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_DataTuple result = new org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_DataTuple(this);
-        int from_bitField0_ = bitField0_;
+        buildPartialRepeatedFields(result);
+        if (bitField0_ != 0) { buildPartial0(result); }
+        onBuilt();
+        return result;
+      }
+
+      private void buildPartialRepeatedFields(org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_DataTuple result) {
         if (rowBuilder_ == null) {
           if (((bitField0_ & 0x00000001) != 0)) {
             row_ = java.util.Collections.unmodifiableList(row_);
@@ -14968,42 +14022,12 @@
         } else {
           result.row_ = rowBuilder_.build();
         }
-        onBuilt();
-        return result;
       }
 
-      @java.lang.Override
-      public Builder clone() {
-        return super.clone();
+      private void buildPartial0(org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_DataTuple result) {
+        int from_bitField0_ = bitField0_;
       }
-      @java.lang.Override
-      public Builder setField(
-          com.google.protobuf.Descriptors.FieldDescriptor field,
-          java.lang.Object value) {
-        return super.setField(field, value);
-      }
-      @java.lang.Override
-      public Builder clearField(
-          com.google.protobuf.Descriptors.FieldDescriptor field) {
-        return super.clearField(field);
-      }
-      @java.lang.Override
-      public Builder clearOneof(
-          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
-        return super.clearOneof(oneof);
-      }
-      @java.lang.Override
-      public Builder setRepeatedField(
-          com.google.protobuf.Descriptors.FieldDescriptor field,
-          int index, java.lang.Object value) {
-        return super.setRepeatedField(field, index, value);
-      }
-      @java.lang.Override
-      public Builder addRepeatedField(
-          com.google.protobuf.Descriptors.FieldDescriptor field,
-          java.lang.Object value) {
-        return super.addRepeatedField(field, value);
-      }
+
       @java.lang.Override
       public Builder mergeFrom(com.google.protobuf.Message other) {
         if (other instanceof org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_DataTuple) {
@@ -15035,14 +14059,14 @@
               row_ = other.row_;
               bitField0_ = (bitField0_ & ~0x00000001);
               rowBuilder_ = 
-                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
+                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                    getRowFieldBuilder() : null;
             } else {
               rowBuilder_.addAllMessages(other.row_);
             }
           }
         }
-        this.mergeUnknownFields(other.unknownFields);
+        this.mergeUnknownFields(other.getUnknownFields());
         onChanged();
         return this;
       }
@@ -15057,17 +14081,43 @@
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
           throws java.io.IOException {
-        org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_DataTuple parsedMessage = null;
+        if (extensionRegistry == null) {
+          throw new java.lang.NullPointerException();
+        }
         try {
-          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+          boolean done = false;
+          while (!done) {
+            int tag = input.readTag();
+            switch (tag) {
+              case 0:
+                done = true;
+                break;
+              case 10: {
+                org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term m =
+                    input.readMessage(
+                        org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.parser(),
+                        extensionRegistry);
+                if (rowBuilder_ == null) {
+                  ensureRowIsMutable();
+                  row_.add(m);
+                } else {
+                  rowBuilder_.addMessage(m);
+                }
+                break;
+              } // case 10
+              default: {
+                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
+                  done = true; // was an endgroup tag
+                }
+                break;
+              } // default:
+            } // switch (tag)
+          } // while (!done)
         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          parsedMessage = (org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_DataTuple) e.getUnfinishedMessage();
           throw e.unwrapIOException();
         } finally {
-          if (parsedMessage != null) {
-            mergeFrom(parsedMessage);
-          }
-        }
+          onChanged();
+        } // finally
         return this;
       }
       private int bitField0_;
@@ -15081,7 +14131,7 @@
          }
       }
 
-      private com.google.protobuf.RepeatedFieldBuilderV3<
+      private com.google.protobuf.RepeatedFieldBuilder<
           org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_TermOrBuilder> rowBuilder_;
 
       /**
@@ -15297,11 +14347,11 @@
            getRowBuilderList() {
         return getRowFieldBuilder().getBuilderList();
       }
-      private com.google.protobuf.RepeatedFieldBuilderV3<
+      private com.google.protobuf.RepeatedFieldBuilder<
           org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_TermOrBuilder> 
           getRowFieldBuilder() {
         if (rowBuilder_ == null) {
-          rowBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
+          rowBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
               org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Term.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_TermOrBuilder>(
                   row_,
                   ((bitField0_ & 0x00000001) != 0),
@@ -15311,18 +14361,6 @@
         }
         return rowBuilder_;
       }
-      @java.lang.Override
-      public final Builder setUnknownFields(
-          final com.google.protobuf.UnknownFieldSet unknownFields) {
-        return super.setUnknownFields(unknownFields);
-      }
-
-      @java.lang.Override
-      public final Builder mergeUnknownFields(
-          final com.google.protobuf.UnknownFieldSet unknownFields) {
-        return super.mergeUnknownFields(unknownFields);
-      }
-
 
       // @@protoc_insertion_point(builder_scope:RDF_DataTuple)
     }
@@ -15344,7 +14382,18 @@
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
           throws com.google.protobuf.InvalidProtocolBufferException {
-        return new RDF_DataTuple(input, extensionRegistry);
+        Builder builder = newBuilder();
+        try {
+          builder.mergeFrom(input, extensionRegistry);
+        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+          throw e.setUnfinishedMessage(builder.buildPartial());
+        } catch (com.google.protobuf.UninitializedMessageException e) {
+          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
+        } catch (java.io.IOException e) {
+          throw new com.google.protobuf.InvalidProtocolBufferException(e)
+              .setUnfinishedMessage(builder.buildPartial());
+        }
+        return builder.buildPartial();
       }
     };
 
@@ -15396,87 +14445,34 @@
    * Protobuf type {@code RDF_Graph}
    */
   public static final class RDF_Graph extends
-      com.google.protobuf.GeneratedMessageV3 implements
+      com.google.protobuf.GeneratedMessage implements
       // @@protoc_insertion_point(message_implements:RDF_Graph)
       RDF_GraphOrBuilder {
   private static final long serialVersionUID = 0L;
+    static {
+      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
+        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
+        /* major= */ 4,
+        /* minor= */ 26,
+        /* patch= */ 0,
+        /* suffix= */ "",
+        RDF_Graph.class.getName());
+    }
     // Use RDF_Graph.newBuilder() to construct.
-    private RDF_Graph(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+    private RDF_Graph(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
       super(builder);
     }
     private RDF_Graph() {
       triple_ = java.util.Collections.emptyList();
     }
 
-    @java.lang.Override
-    @SuppressWarnings({"unused"})
-    protected java.lang.Object newInstance(
-        UnusedPrivateParameter unused) {
-      return new RDF_Graph();
-    }
-
-    @java.lang.Override
-    public final com.google.protobuf.UnknownFieldSet
-    getUnknownFields() {
-      return this.unknownFields;
-    }
-    private RDF_Graph(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      this();
-      if (extensionRegistry == null) {
-        throw new java.lang.NullPointerException();
-      }
-      int mutable_bitField0_ = 0;
-      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-          com.google.protobuf.UnknownFieldSet.newBuilder();
-      try {
-        boolean done = false;
-        while (!done) {
-          int tag = input.readTag();
-          switch (tag) {
-            case 0:
-              done = true;
-              break;
-            case 10: {
-              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
-                triple_ = new java.util.ArrayList<org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Triple>();
-                mutable_bitField0_ |= 0x00000001;
-              }
-              triple_.add(
-                  input.readMessage(org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Triple.parser(), extensionRegistry));
-              break;
-            }
-            default: {
-              if (!parseUnknownField(
-                  input, unknownFields, extensionRegistry, tag)) {
-                done = true;
-              }
-              break;
-            }
-          }
-        }
-      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw e.setUnfinishedMessage(this);
-      } catch (java.io.IOException e) {
-        throw new com.google.protobuf.InvalidProtocolBufferException(
-            e).setUnfinishedMessage(this);
-      } finally {
-        if (((mutable_bitField0_ & 0x00000001) != 0)) {
-          triple_ = java.util.Collections.unmodifiableList(triple_);
-        }
-        this.unknownFields = unknownFields.build();
-        makeExtensionsImmutable();
-      }
-    }
     public static final com.google.protobuf.Descriptors.Descriptor
         getDescriptor() {
       return org.apache.jena.riot.protobuf.wire.PB_RDF.internal_static_RDF_Graph_descriptor;
     }
 
     @java.lang.Override
-    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
         internalGetFieldAccessorTable() {
       return org.apache.jena.riot.protobuf.wire.PB_RDF.internal_static_RDF_Graph_fieldAccessorTable
           .ensureFieldAccessorsInitialized(
@@ -15484,6 +14480,7 @@
     }
 
     public static final int TRIPLE_FIELD_NUMBER = 1;
+    @SuppressWarnings("serial")
     private java.util.List<org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Triple> triple_;
     /**
      * <code>repeated .RDF_Triple triple = 1;</code>
@@ -15540,7 +14537,7 @@
       for (int i = 0; i < triple_.size(); i++) {
         output.writeMessage(1, triple_.get(i));
       }
-      unknownFields.writeTo(output);
+      getUnknownFields().writeTo(output);
     }
 
     @java.lang.Override
@@ -15553,7 +14550,7 @@
         size += com.google.protobuf.CodedOutputStream
           .computeMessageSize(1, triple_.get(i));
       }
-      size += unknownFields.getSerializedSize();
+      size += getUnknownFields().getSerializedSize();
       memoizedSize = size;
       return size;
     }
@@ -15570,7 +14567,7 @@
 
       if (!getTripleList()
           .equals(other.getTripleList())) return false;
-      if (!unknownFields.equals(other.unknownFields)) return false;
+      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
       return true;
     }
 
@@ -15585,7 +14582,7 @@
         hash = (37 * hash) + TRIPLE_FIELD_NUMBER;
         hash = (53 * hash) + getTripleList().hashCode();
       }
-      hash = (29 * hash) + unknownFields.hashCode();
+      hash = (29 * hash) + getUnknownFields().hashCode();
       memoizedHashCode = hash;
       return hash;
     }
@@ -15624,39 +14621,41 @@
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Graph parseFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input);
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Graph parseFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input, extensionRegistry);
     }
+
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Graph parseDelimitedFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseDelimitedWithIOException(PARSER, input);
     }
+
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Graph parseDelimitedFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Graph parseFrom(
         com.google.protobuf.CodedInputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input);
     }
     public static org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Graph parseFrom(
         com.google.protobuf.CodedInputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessageV3
+      return com.google.protobuf.GeneratedMessage
           .parseWithIOException(PARSER, input, extensionRegistry);
     }
 
@@ -15676,7 +14675,7 @@
 
     @java.lang.Override
     protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
       Builder builder = new Builder(parent);
       return builder;
     }
@@ -15684,7 +14683,7 @@
      * Protobuf type {@code RDF_Graph}
      */
     public static final class Builder extends
-        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
         // @@protoc_insertion_point(builder_implements:RDF_Graph)
         org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_GraphOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
@@ -15693,7 +14692,7 @@
       }
 
       @java.lang.Override
-      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
           internalGetFieldAccessorTable() {
         return org.apache.jena.riot.protobuf.wire.PB_RDF.internal_static_RDF_Graph_fieldAccessorTable
             .ensureFieldAccessorsInitialized(
@@ -15702,29 +14701,25 @@
 
       // Construct using org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Graph.newBuilder()
       private Builder() {
-        maybeForceBuilderInitialization();
+
       }
 
       private Builder(
-          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
         super(parent);
-        maybeForceBuilderInitialization();
-      }
-      private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessageV3
-                .alwaysUseFieldBuilders) {
-          getTripleFieldBuilder();
-        }
+
       }
       @java.lang.Override
       public Builder clear() {
         super.clear();
+        bitField0_ = 0;
         if (tripleBuilder_ == null) {
           triple_ = java.util.Collections.emptyList();
-          bitField0_ = (bitField0_ & ~0x00000001);
         } else {
+          triple_ = null;
           tripleBuilder_.clear();
         }
+        bitField0_ = (bitField0_ & ~0x00000001);
         return this;
       }
 
@@ -15751,7 +14746,13 @@
       @java.lang.Override
       public org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Graph buildPartial() {
         org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Graph result = new org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Graph(this);
-        int from_bitField0_ = bitField0_;
+        buildPartialRepeatedFields(result);
+        if (bitField0_ != 0) { buildPartial0(result); }
+        onBuilt();
+        return result;
+      }
+
+      private void buildPartialRepeatedFields(org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Graph result) {
         if (tripleBuilder_ == null) {
           if (((bitField0_ & 0x00000001) != 0)) {
             triple_ = java.util.Collections.unmodifiableList(triple_);
@@ -15761,42 +14762,12 @@
         } else {
           result.triple_ = tripleBuilder_.build();
         }
-        onBuilt();
-        return result;
       }
 
-      @java.lang.Override
-      public Builder clone() {
-        return super.clone();
+      private void buildPartial0(org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Graph result) {
+        int from_bitField0_ = bitField0_;
       }
-      @java.lang.Override
-      public Builder setField(
-          com.google.protobuf.Descriptors.FieldDescriptor field,
-          java.lang.Object value) {
-        return super.setField(field, value);
-      }
-      @java.lang.Override
-      public Builder clearField(
-          com.google.protobuf.Descriptors.FieldDescriptor field) {
-        return super.clearField(field);
-      }
-      @java.lang.Override
-      public Builder clearOneof(
-          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
-        return super.clearOneof(oneof);
-      }
-      @java.lang.Override
-      public Builder setRepeatedField(
-          com.google.protobuf.Descriptors.FieldDescriptor field,
-          int index, java.lang.Object value) {
-        return super.setRepeatedField(field, index, value);
-      }
-      @java.lang.Override
-      public Builder addRepeatedField(
-          com.google.protobuf.Descriptors.FieldDescriptor field,
-          java.lang.Object value) {
-        return super.addRepeatedField(field, value);
-      }
+
       @java.lang.Override
       public Builder mergeFrom(com.google.protobuf.Message other) {
         if (other instanceof org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Graph) {
@@ -15828,14 +14799,14 @@
               triple_ = other.triple_;
               bitField0_ = (bitField0_ & ~0x00000001);
               tripleBuilder_ = 
-                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
+                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                    getTripleFieldBuilder() : null;
             } else {
               tripleBuilder_.addAllMessages(other.triple_);
             }
           }
         }
-        this.mergeUnknownFields(other.unknownFields);
+        this.mergeUnknownFields(other.getUnknownFields());
         onChanged();
         return this;
       }
@@ -15850,17 +14821,43 @@
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
           throws java.io.IOException {
-        org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Graph parsedMessage = null;
+        if (extensionRegistry == null) {
+          throw new java.lang.NullPointerException();
+        }
         try {
-          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+          boolean done = false;
+          while (!done) {
+            int tag = input.readTag();
+            switch (tag) {
+              case 0:
+                done = true;
+                break;
+              case 10: {
+                org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Triple m =
+                    input.readMessage(
+                        org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Triple.parser(),
+                        extensionRegistry);
+                if (tripleBuilder_ == null) {
+                  ensureTripleIsMutable();
+                  triple_.add(m);
+                } else {
+                  tripleBuilder_.addMessage(m);
+                }
+                break;
+              } // case 10
+              default: {
+                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
+                  done = true; // was an endgroup tag
+                }
+                break;
+              } // default:
+            } // switch (tag)
+          } // while (!done)
         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          parsedMessage = (org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Graph) e.getUnfinishedMessage();
           throw e.unwrapIOException();
         } finally {
-          if (parsedMessage != null) {
-            mergeFrom(parsedMessage);
-          }
-        }
+          onChanged();
+        } // finally
         return this;
       }
       private int bitField0_;
@@ -15874,7 +14871,7 @@
          }
       }
 
-      private com.google.protobuf.RepeatedFieldBuilderV3<
+      private com.google.protobuf.RepeatedFieldBuilder<
           org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Triple, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Triple.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_TripleOrBuilder> tripleBuilder_;
 
       /**
@@ -16090,11 +15087,11 @@
            getTripleBuilderList() {
         return getTripleFieldBuilder().getBuilderList();
       }
-      private com.google.protobuf.RepeatedFieldBuilderV3<
+      private com.google.protobuf.RepeatedFieldBuilder<
           org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Triple, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Triple.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_TripleOrBuilder> 
           getTripleFieldBuilder() {
         if (tripleBuilder_ == null) {
-          tripleBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
+          tripleBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
               org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Triple, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_Triple.Builder, org.apache.jena.riot.protobuf.wire.PB_RDF.RDF_TripleOrBuilder>(
                   triple_,
                   ((bitField0_ & 0x00000001) != 0),
@@ -16104,18 +15101,6 @@
         }
         return tripleBuilder_;
       }
-      @java.lang.Override
-      public final Builder setUnknownFields(
-          final com.google.protobuf.UnknownFieldSet unknownFields) {
-        return super.setUnknownFields(unknownFields);
-      }
-
-      @java.lang.Override
-      public final Builder mergeUnknownFields(
-          final com.google.protobuf.UnknownFieldSet unknownFields) {
-        return super.mergeUnknownFields(unknownFields);
-      }
-
 
       // @@protoc_insertion_point(builder_scope:RDF_Graph)
     }
@@ -16137,7 +15122,18 @@
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
           throws com.google.protobuf.InvalidProtocolBufferException {
-        return new RDF_Graph(input, extensionRegistry);
+        Builder builder = newBuilder();
+        try {
+          builder.mergeFrom(input, extensionRegistry);
+        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+          throw e.setUnfinishedMessage(builder.buildPartial());
+        } catch (com.google.protobuf.UninitializedMessageException e) {
+          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
+        } catch (java.io.IOException e) {
+          throw new com.google.protobuf.InvalidProtocolBufferException(e)
+              .setUnfinishedMessage(builder.buildPartial());
+        }
+        return builder.buildPartial();
       }
     };
 
@@ -16160,92 +15156,92 @@
   private static final com.google.protobuf.Descriptors.Descriptor
     internal_static_RDF_IRI_descriptor;
   private static final 
-    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+    com.google.protobuf.GeneratedMessage.FieldAccessorTable
       internal_static_RDF_IRI_fieldAccessorTable;
   private static final com.google.protobuf.Descriptors.Descriptor
     internal_static_RDF_PrefixName_descriptor;
   private static final 
-    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+    com.google.protobuf.GeneratedMessage.FieldAccessorTable
       internal_static_RDF_PrefixName_fieldAccessorTable;
   private static final com.google.protobuf.Descriptors.Descriptor
     internal_static_RDF_BNode_descriptor;
   private static final 
-    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+    com.google.protobuf.GeneratedMessage.FieldAccessorTable
       internal_static_RDF_BNode_fieldAccessorTable;
   private static final com.google.protobuf.Descriptors.Descriptor
     internal_static_RDF_Literal_descriptor;
   private static final 
-    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+    com.google.protobuf.GeneratedMessage.FieldAccessorTable
       internal_static_RDF_Literal_fieldAccessorTable;
   private static final com.google.protobuf.Descriptors.Descriptor
     internal_static_RDF_Decimal_descriptor;
   private static final 
-    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+    com.google.protobuf.GeneratedMessage.FieldAccessorTable
       internal_static_RDF_Decimal_fieldAccessorTable;
   private static final com.google.protobuf.Descriptors.Descriptor
     internal_static_RDF_Var_descriptor;
   private static final 
-    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+    com.google.protobuf.GeneratedMessage.FieldAccessorTable
       internal_static_RDF_Var_fieldAccessorTable;
   private static final com.google.protobuf.Descriptors.Descriptor
     internal_static_RDF_ANY_descriptor;
   private static final 
-    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+    com.google.protobuf.GeneratedMessage.FieldAccessorTable
       internal_static_RDF_ANY_fieldAccessorTable;
   private static final com.google.protobuf.Descriptors.Descriptor
     internal_static_RDF_UNDEF_descriptor;
   private static final 
-    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+    com.google.protobuf.GeneratedMessage.FieldAccessorTable
       internal_static_RDF_UNDEF_fieldAccessorTable;
   private static final com.google.protobuf.Descriptors.Descriptor
     internal_static_RDF_REPEAT_descriptor;
   private static final 
-    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+    com.google.protobuf.GeneratedMessage.FieldAccessorTable
       internal_static_RDF_REPEAT_fieldAccessorTable;
   private static final com.google.protobuf.Descriptors.Descriptor
     internal_static_RDF_Term_descriptor;
   private static final 
-    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+    com.google.protobuf.GeneratedMessage.FieldAccessorTable
       internal_static_RDF_Term_fieldAccessorTable;
   private static final com.google.protobuf.Descriptors.Descriptor
     internal_static_RDF_Triple_descriptor;
   private static final 
-    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+    com.google.protobuf.GeneratedMessage.FieldAccessorTable
       internal_static_RDF_Triple_fieldAccessorTable;
   private static final com.google.protobuf.Descriptors.Descriptor
     internal_static_RDF_Quad_descriptor;
   private static final 
-    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+    com.google.protobuf.GeneratedMessage.FieldAccessorTable
       internal_static_RDF_Quad_fieldAccessorTable;
   private static final com.google.protobuf.Descriptors.Descriptor
     internal_static_RDF_PrefixDecl_descriptor;
   private static final 
-    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+    com.google.protobuf.GeneratedMessage.FieldAccessorTable
       internal_static_RDF_PrefixDecl_fieldAccessorTable;
   private static final com.google.protobuf.Descriptors.Descriptor
     internal_static_RDF_StreamRow_descriptor;
   private static final 
-    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+    com.google.protobuf.GeneratedMessage.FieldAccessorTable
       internal_static_RDF_StreamRow_fieldAccessorTable;
   private static final com.google.protobuf.Descriptors.Descriptor
     internal_static_RDF_Stream_descriptor;
   private static final 
-    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+    com.google.protobuf.GeneratedMessage.FieldAccessorTable
       internal_static_RDF_Stream_fieldAccessorTable;
   private static final com.google.protobuf.Descriptors.Descriptor
     internal_static_RDF_VarTuple_descriptor;
   private static final 
-    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+    com.google.protobuf.GeneratedMessage.FieldAccessorTable
       internal_static_RDF_VarTuple_fieldAccessorTable;
   private static final com.google.protobuf.Descriptors.Descriptor
     internal_static_RDF_DataTuple_descriptor;
   private static final 
-    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+    com.google.protobuf.GeneratedMessage.FieldAccessorTable
       internal_static_RDF_DataTuple_fieldAccessorTable;
   private static final com.google.protobuf.Descriptors.Descriptor
     internal_static_RDF_Graph_descriptor;
   private static final 
-    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+    com.google.protobuf.GeneratedMessage.FieldAccessorTable
       internal_static_RDF_Graph_fieldAccessorTable;
 
   public static com.google.protobuf.Descriptors.FileDescriptor
@@ -16288,8 +15284,8 @@
       "reamRow\"&\n\014RDF_VarTuple\022\026\n\004vars\030\001 \003(\0132\010." +
       "RDF_Var\"\'\n\rRDF_DataTuple\022\026\n\003row\030\001 \003(\0132\t." +
       "RDF_Term\"(\n\tRDF_Graph\022\033\n\006triple\030\001 \003(\0132\013." +
-      "RDF_TripleB,\n\"org.apache.jena.riot.proto" +
-      "buf.wireB\006PB_RDFb\006proto3"
+      "RDF_TripleB.\n\"org.apache.jena.riot.proto" +
+      "buf.wireB\006PB_RDFH\001b\006proto3"
     };
     descriptor = com.google.protobuf.Descriptors.FileDescriptor
       .internalBuildGeneratedFileFrom(descriptorData,
@@ -16298,111 +15294,112 @@
     internal_static_RDF_IRI_descriptor =
       getDescriptor().getMessageTypes().get(0);
     internal_static_RDF_IRI_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
         internal_static_RDF_IRI_descriptor,
         new java.lang.String[] { "Iri", });
     internal_static_RDF_PrefixName_descriptor =
       getDescriptor().getMessageTypes().get(1);
     internal_static_RDF_PrefixName_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
         internal_static_RDF_PrefixName_descriptor,
         new java.lang.String[] { "Prefix", "LocalName", });
     internal_static_RDF_BNode_descriptor =
       getDescriptor().getMessageTypes().get(2);
     internal_static_RDF_BNode_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
         internal_static_RDF_BNode_descriptor,
         new java.lang.String[] { "Label", });
     internal_static_RDF_Literal_descriptor =
       getDescriptor().getMessageTypes().get(3);
     internal_static_RDF_Literal_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
         internal_static_RDF_Literal_descriptor,
         new java.lang.String[] { "Lex", "Simple", "Langtag", "Datatype", "DtPrefix", "LiteralKind", });
     internal_static_RDF_Decimal_descriptor =
       getDescriptor().getMessageTypes().get(4);
     internal_static_RDF_Decimal_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
         internal_static_RDF_Decimal_descriptor,
         new java.lang.String[] { "Value", "Scale", });
     internal_static_RDF_Var_descriptor =
       getDescriptor().getMessageTypes().get(5);
     internal_static_RDF_Var_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
         internal_static_RDF_Var_descriptor,
         new java.lang.String[] { "Name", });
     internal_static_RDF_ANY_descriptor =
       getDescriptor().getMessageTypes().get(6);
     internal_static_RDF_ANY_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
         internal_static_RDF_ANY_descriptor,
         new java.lang.String[] { });
     internal_static_RDF_UNDEF_descriptor =
       getDescriptor().getMessageTypes().get(7);
     internal_static_RDF_UNDEF_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
         internal_static_RDF_UNDEF_descriptor,
         new java.lang.String[] { });
     internal_static_RDF_REPEAT_descriptor =
       getDescriptor().getMessageTypes().get(8);
     internal_static_RDF_REPEAT_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
         internal_static_RDF_REPEAT_descriptor,
         new java.lang.String[] { });
     internal_static_RDF_Term_descriptor =
       getDescriptor().getMessageTypes().get(9);
     internal_static_RDF_Term_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
         internal_static_RDF_Term_descriptor,
         new java.lang.String[] { "Iri", "Bnode", "Literal", "PrefixName", "Variable", "TripleTerm", "Any", "Undefined", "Repeat", "ValInteger", "ValDouble", "ValDecimal", "Term", });
     internal_static_RDF_Triple_descriptor =
       getDescriptor().getMessageTypes().get(10);
     internal_static_RDF_Triple_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
         internal_static_RDF_Triple_descriptor,
         new java.lang.String[] { "S", "P", "O", });
     internal_static_RDF_Quad_descriptor =
       getDescriptor().getMessageTypes().get(11);
     internal_static_RDF_Quad_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
         internal_static_RDF_Quad_descriptor,
         new java.lang.String[] { "S", "P", "O", "G", });
     internal_static_RDF_PrefixDecl_descriptor =
       getDescriptor().getMessageTypes().get(12);
     internal_static_RDF_PrefixDecl_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
         internal_static_RDF_PrefixDecl_descriptor,
         new java.lang.String[] { "Prefix", "Uri", });
     internal_static_RDF_StreamRow_descriptor =
       getDescriptor().getMessageTypes().get(13);
     internal_static_RDF_StreamRow_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
         internal_static_RDF_StreamRow_descriptor,
         new java.lang.String[] { "PrefixDecl", "Triple", "Quad", "Base", "Row", });
     internal_static_RDF_Stream_descriptor =
       getDescriptor().getMessageTypes().get(14);
     internal_static_RDF_Stream_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
         internal_static_RDF_Stream_descriptor,
         new java.lang.String[] { "Row", });
     internal_static_RDF_VarTuple_descriptor =
       getDescriptor().getMessageTypes().get(15);
     internal_static_RDF_VarTuple_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
         internal_static_RDF_VarTuple_descriptor,
         new java.lang.String[] { "Vars", });
     internal_static_RDF_DataTuple_descriptor =
       getDescriptor().getMessageTypes().get(16);
     internal_static_RDF_DataTuple_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
         internal_static_RDF_DataTuple_descriptor,
         new java.lang.String[] { "Row", });
     internal_static_RDF_Graph_descriptor =
       getDescriptor().getMessageTypes().get(17);
     internal_static_RDF_Graph_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
         internal_static_RDF_Graph_descriptor,
         new java.lang.String[] { "Triple", });
+    descriptor.resolveAllFeaturesImmutable();
   }
 
   // @@protoc_insertion_point(outer_class_scope)
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformPattern2Join.java b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformPattern2Join.java
index 49bed4a..ea5c33f 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformPattern2Join.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformPattern2Join.java
@@ -18,75 +18,56 @@
 
 package org.apache.jena.sparql.algebra.optimize;
 
-import java.util.List ;
-
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.sparql.algebra.Op ;
+import org.apache.jena.graph.Triple;
+import org.apache.jena.sparql.algebra.Op;
 import org.apache.jena.sparql.algebra.OpLib;
-import org.apache.jena.sparql.algebra.TransformCopy ;
-import org.apache.jena.sparql.algebra.op.* ;
-import org.apache.jena.sparql.core.BasicPattern ;
-import org.apache.jena.sparql.core.Quad ;
-import org.apache.jena.sparql.core.QuadPattern ;
+import org.apache.jena.sparql.algebra.TransformCopy;
+import org.apache.jena.sparql.algebra.op.*;
+import org.apache.jena.sparql.core.BasicPattern;
+import org.apache.jena.sparql.core.Quad;
+import org.apache.jena.sparql.core.QuadPattern;
 
-/** Expand to joins of triples and quads. */ 
-public class TransformPattern2Join extends TransformCopy
-{
-    /*
-     * Get standard shaped trees?
-     * Alternative is hard flattening to (sequence of all the quads, triples) 
-     */
-    
-    @Override
-    public Op transform(OpBGP opBGP)                        { return expand(opBGP.getPattern()) ; }
-    
-    @Override
-    public Op transform(OpQuadPattern quadPattern)          { return expand(quadPattern.getPattern()) ; }
+/**
+ * Expand basic graph patterns and quad patterns to
+ * joins of {@code (triple)} and {@code (quad)}.
+ */
+public class TransformPattern2Join extends TransformCopy {
+
+    public TransformPattern2Join()  {}
 
     @Override
-    public Op transform(OpSequence opSeq, List<Op> elts)    { return expand(opSeq, elts) ; }
+    public Op transform(OpBGP opBGP) {
+        return expand(opBGP.getPattern());
+    }
 
-//    @Override
-//    public Op transform(OpJoin opJoin, Op left, Op right)
-//    { return super.transform(opJoin, left, right) ; }
+    @Override
+    public Op transform(OpQuadPattern quadPattern) {
+        return expand(quadPattern.getPattern());
+    }
 
-    private static Op expand(BasicPattern bgp)
-    {
+    private static Op expand(BasicPattern bgp) {
         if ( bgp.getList().isEmpty() )
-            return OpLib.unit() ;
-        Op op = null ;
-        for ( Triple t : bgp.getList() )
-        {
-            OpTriple x = new OpTriple(t) ;
-            op = join(op, x) ;
+            return OpLib.unit();
+        Op op = null;
+        for ( Triple t : bgp.getList() ) {
+            OpTriple x = new OpTriple(t);
+            op = join(op, x);
         }
-        return op ;
-    }
-    
-    private static Op expand(QuadPattern quads)
-    {
-        if ( quads.getList().isEmpty() )
-            return OpLib.unit() ;
-        Op op = null ;
-        for ( Quad q : quads.getList() )
-        {
-            OpQuad x = new OpQuad(q) ;
-            op = join(op, x) ;
-        }
-        return op ;
-    }
-    
-    private static Op expand(OpSequence opSeq, List<Op> elts)
-    {
-        Op x = null ;
-        // shape choices.
-        for ( Op op : elts )
-            x = join(x, op) ;
-        return x ;
+        return op;
     }
 
-    private static Op join(Op left, Op right)
-    {
-      return OpJoin.createReduce(left, right) ;
-  }
+    private static Op expand(QuadPattern quads) {
+        if ( quads.getList().isEmpty() )
+            return OpLib.unit();
+        Op op = null;
+        for ( Quad q : quads.getList() ) {
+            OpQuad x = new OpQuad(q);
+            op = join(op, x);
+        }
+        return op;
+    }
+
+    private static Op join(Op left, Op right) {
+        return OpJoin.createReduce(left, right);
+    }
 }
diff --git a/jena-arq/src/main/java/org/apache/jena/system/G.java b/jena-arq/src/main/java/org/apache/jena/system/G.java
index ea6033c..1d4256e 100644
--- a/jena-arq/src/main/java/org/apache/jena/system/G.java
+++ b/jena-arq/src/main/java/org/apache/jena/system/G.java
@@ -816,9 +816,11 @@
      * @param src the graph to copy
      * @return a copy of the graph
      */
+    @SuppressWarnings("unchecked")
     public static Graph copy(Graph src) {
-        if(src instanceof Copyable<?>) {
-            return ((Copyable<Graph>)src).copy();
+        if(src instanceof Copyable<?> copyable) {
+            Copyable<Graph> copyableGraph = (Copyable<Graph>)copyable;
+            return copyableGraph.copy();
         }
         Graph dst = GraphMemFactory.createDefaultGraph();
         copyGraphSrcToDst(src, dst);
diff --git a/jena-arq/src/test/java/org/apache/jena/system/GTest.java b/jena-arq/src/test/java/org/apache/jena/system/GTest.java
index e32f851..864ddb9 100644
--- a/jena-arq/src/test/java/org/apache/jena/system/GTest.java
+++ b/jena-arq/src/test/java/org/apache/jena/system/GTest.java
@@ -26,6 +26,7 @@
 import static org.apache.jena.testing_framework.GraphHelper.triple;
 import static org.junit.Assert.*;
 
+@SuppressWarnings("deprecation")
 public class GTest {
 
     @Test
@@ -34,8 +35,6 @@
         {
             var graphImplementingCopyable = new GraphMem2Fast();
 
-            assertTrue(graphImplementingCopyable instanceof Copyable<?>);
-
             graphImplementingCopyable.add(triple("s1 p1 o1"));
             graphImplementingCopyable.add(triple("s1 p2 o1"));
             graphImplementingCopyable.add(triple("s2 p1 o1"));
@@ -56,7 +55,7 @@
 
         // Test graph which does not implement Copyable<>
         {
-            var notCopyableGraph = new GraphMem();
+            GraphMem notCopyableGraph = new GraphMem();
 
             assertFalse(notCopyableGraph instanceof Copyable<?>);
 
diff --git a/jena-arq/src/test/resources/log4j2.properties b/jena-arq/src/test/resources/log4j2.properties
index b4d3896..a1a1ef3 100644
--- a/jena-arq/src/test/resources/log4j2.properties
+++ b/jena-arq/src/test/resources/log4j2.properties
@@ -25,7 +25,3 @@
 
 logger.riot.name  = org.apache.jena.riot
 logger.riot.level = INFO
-
-# May be useful to turn up to DEBUG if debugging HTTP communication issues
-logger.apache-http.name   = org.apache.http
-logger.apache-http.level  = WARN
diff --git a/jena-base/pom.xml b/jena-base/pom.xml
index 52d438a..e72f56a 100644
--- a/jena-base/pom.xml
+++ b/jena-base/pom.xml
@@ -22,7 +22,7 @@
   <parent>
     <groupId>org.apache.jena</groupId>
     <artifactId>jena</artifactId>
-    <version>5.0.0-SNAPSHOT</version>
+    <version>5.1.0-SNAPSHOT</version>
     <relativePath>..</relativePath>
   </parent>
   <artifactId>jena-base</artifactId>
@@ -101,12 +101,12 @@
       <groupId>com.github.andrewoma.dexx</groupId>
       <artifactId>collection</artifactId>
     </dependency>
-    
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <scope>test</scope>
-    </dependency>
+
+     <dependency>
+       <groupId>org.junit.vintage</groupId>
+       <artifactId>junit-vintage-engine</artifactId>
+       <scope>test</scope>
+     </dependency>
 
     <dependency>
       <groupId>org.slf4j</groupId>
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/Copyable.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/Copyable.java
index 6d8ab8a..e83b720 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/Copyable.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/Copyable.java
@@ -27,7 +27,7 @@
 
     /**
      * Create a copy of this object.
-     * @return
+     * @return T
      */
     T copy();
 }
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheCaffeine.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheCaffeine.java
index 73426e9..9f6721f 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheCaffeine.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheCaffeine.java
@@ -131,5 +131,12 @@
     public long size() {
         return cache.estimatedSize() ;
     }
+
+    /**
+     * Forces the cache to clean up stale entries
+     */
+    public void cleanUp() {
+        this.cache.cleanUp();
+    }
 }
 
diff --git a/jena-benchmarks/jena-benchmarks-jmh/pom.xml b/jena-benchmarks/jena-benchmarks-jmh/pom.xml
index 2e0551f..ed5c0a6 100644
--- a/jena-benchmarks/jena-benchmarks-jmh/pom.xml
+++ b/jena-benchmarks/jena-benchmarks-jmh/pom.xml
@@ -21,7 +21,7 @@
     <parent>
         <groupId>org.apache.jena</groupId>
         <artifactId>jena-benchmarks</artifactId>
-        <version>5.0.0-SNAPSHOT</version>
+        <version>5.1.0-SNAPSHOT</version>
         <relativePath>..</relativePath>
     </parent>
 
@@ -54,21 +54,21 @@
         <dependency>
             <groupId>org.apache.jena</groupId>
             <artifactId>jena-base</artifactId>
-            <version>5.0.0-SNAPSHOT</version>
+            <version>5.1.0-SNAPSHOT</version>
             <scope>test</scope>
         </dependency>
 
         <dependency>
             <groupId>org.apache.jena</groupId>
             <artifactId>jena-core</artifactId>
-            <version>5.0.0-SNAPSHOT</version>
+            <version>5.1.0-SNAPSHOT</version>
             <scope>test</scope>
         </dependency>
 
         <dependency>
             <groupId>org.apache.jena</groupId>
             <artifactId>jena-arq</artifactId>
-            <version>5.0.0-SNAPSHOT</version>
+            <version>5.1.0-SNAPSHOT</version>
             <scope>test</scope>
         </dependency>
 
@@ -76,14 +76,14 @@
             <groupId>org.apache.jena</groupId>
             <artifactId>jena-arq</artifactId>
             <classifier>tests</classifier>
-            <version>5.0.0-SNAPSHOT</version>
+            <version>5.1.0-SNAPSHOT</version>
             <scope>test</scope>
         </dependency>
 
         <dependency>
             <groupId>org.apache.jena</groupId>
             <artifactId>jena-benchmarks-shadedJena480</artifactId>
-            <version>5.0.0-SNAPSHOT</version>
+            <version>5.1.0-SNAPSHOT</version>
             <scope>test</scope>
         </dependency>
 
@@ -94,8 +94,8 @@
         </dependency>
 
         <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
+            <groupId>org.junit.vintage</groupId>
+            <artifactId>junit-vintage-engine</artifactId>
             <scope>test</scope>
         </dependency>
 
diff --git a/jena-benchmarks/jena-benchmarks-shadedJena480/pom.xml b/jena-benchmarks/jena-benchmarks-shadedJena480/pom.xml
index 5173ad6..6a58301 100644
--- a/jena-benchmarks/jena-benchmarks-shadedJena480/pom.xml
+++ b/jena-benchmarks/jena-benchmarks-shadedJena480/pom.xml
@@ -21,7 +21,7 @@
     <parent>
         <groupId>org.apache.jena</groupId>
         <artifactId>jena-benchmarks</artifactId>
-        <version>5.0.0-SNAPSHOT</version>
+        <version>5.1.0-SNAPSHOT</version>
         <relativePath>..</relativePath>
     </parent>
 
diff --git a/jena-benchmarks/pom.xml b/jena-benchmarks/pom.xml
index fbaad64..d175f46 100644
--- a/jena-benchmarks/pom.xml
+++ b/jena-benchmarks/pom.xml
@@ -21,13 +21,13 @@
   <parent>
     <groupId>org.apache.jena</groupId>
     <artifactId>jena</artifactId>
-    <version>5.0.0-SNAPSHOT</version>
+    <version>5.1.0-SNAPSHOT</version>
     <relativePath>..</relativePath>
   </parent>
 
   <name>Apache Jena - Benchmark Suite</name>
   <artifactId>jena-benchmarks</artifactId>
-  <version>5.0.0-SNAPSHOT</version>
+  <version>5.1.0-SNAPSHOT</version>
   <packaging>pom</packaging>
 
   <description>Suite with different benchmarks.
diff --git a/jena-bom/pom.xml b/jena-bom/pom.xml
index 2e3f1be..9857caf 100644
--- a/jena-bom/pom.xml
+++ b/jena-bom/pom.xml
@@ -27,7 +27,7 @@
   <parent>
     <groupId>org.apache.jena</groupId>
     <artifactId>jena</artifactId>
-    <version>5.0.0-SNAPSHOT</version>
+    <version>5.1.0-SNAPSHOT</version>
     <relativePath>..</relativePath>
   </parent>
 
diff --git a/jena-cmds/pom.xml b/jena-cmds/pom.xml
index 3a6b1b0..502a2ff 100644
--- a/jena-cmds/pom.xml
+++ b/jena-cmds/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <groupId>org.apache.jena</groupId>
     <artifactId>jena</artifactId>
-    <version>5.0.0-SNAPSHOT</version>
+    <version>5.1.0-SNAPSHOT</version>
     <relativePath>..</relativePath>
   </parent> 
 
@@ -67,7 +67,7 @@
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-rdfpatch</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
     </dependency>
 
     <!-- Copied from apache-jena-libs
@@ -76,59 +76,59 @@
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-shacl</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
     </dependency>
 
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-shex</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
     </dependency>
 
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-tdb1</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
     </dependency>
 
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-tdb2</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
     </dependency>
 
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-rdfconnection</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
     </dependency>
 
     <!-- Pull test code into scope -->
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-base</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
       <classifier>tests</classifier>
       <optional>true</optional>
     </dependency>     
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-core</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
       <classifier>tests</classifier>
       <optional>true</optional>
     </dependency>
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-arq</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
       <classifier>tests</classifier>
       <optional>true</optional>
     </dependency>
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-shacl</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
       <classifier>tests</classifier>
       <optional>true</optional>
     </dependency>
@@ -157,8 +157,8 @@
     -->
 
     <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
+      <groupId>org.junit.vintage</groupId>
+      <artifactId>junit-vintage-engine</artifactId>
       <scope>test</scope>
     </dependency>
 
diff --git a/jena-core/pom.xml b/jena-core/pom.xml
index a2a58c3..4c39bd7 100644
--- a/jena-core/pom.xml
+++ b/jena-core/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <groupId>org.apache.jena</groupId>
     <artifactId>jena</artifactId>
-    <version>5.0.0-SNAPSHOT</version>
+    <version>5.1.0-SNAPSHOT</version>
     <relativePath>..</relativePath>
   </parent>
 
@@ -41,54 +41,54 @@
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-base</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
     </dependency>
 
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-base</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
       <classifier>tests</classifier>
       <scope>test</scope>
     </dependency>
 
     <dependency>
-        <groupId>org.apache.jena</groupId>
-        <artifactId>jena-iri</artifactId>
-        <version>5.0.0-SNAPSHOT</version>
+      <groupId>org.apache.jena</groupId>
+      <artifactId>jena-iri</artifactId>
+      <version>5.1.0-SNAPSHOT</version>
     </dependency>
-
-      <dependency>
-          <artifactId>commons-cli</artifactId>
-          <groupId>commons-cli</groupId>
-      </dependency>
-
-      <dependency>
-          <groupId>org.roaringbitmap</groupId>
-          <artifactId>RoaringBitmap</artifactId>
-      </dependency>
-
-      <dependency>
-          <groupId>junit</groupId>
-          <artifactId>junit</artifactId>
-          <scope>test</scope>
-      </dependency>
-
-      <dependency>
-          <groupId>org.xenei</groupId>
-          <artifactId>junit-contracts</artifactId>
-      <scope>test</scope>
-      <exclusions>
-        <exclusion>
-          <artifactId>commons-cli</artifactId>
-          <groupId>commons-cli</groupId>
-        </exclusion>
-        <exclusion>
-          <artifactId>commons-logging</artifactId>
-          <groupId>commons-logging</groupId>
-        </exclusion>
-      </exclusions>
+    
+    <dependency>
+      <artifactId>commons-cli</artifactId>
+      <groupId>commons-cli</groupId>
     </dependency>
+    
+      <dependency>
+        <groupId>org.roaringbitmap</groupId>
+        <artifactId>RoaringBitmap</artifactId>
+      </dependency>
+
+      <dependency>
+        <groupId>org.junit.vintage</groupId>
+        <artifactId>junit-vintage-engine</artifactId>
+        <scope>test</scope>
+      </dependency>
+
+      <dependency>
+        <groupId>org.xenei</groupId>
+        <artifactId>junit-contracts</artifactId>
+        <scope>test</scope>
+        <exclusions>
+          <exclusion>
+            <artifactId>commons-cli</artifactId>
+            <groupId>commons-cli</groupId>
+          </exclusion>
+          <exclusion>
+            <artifactId>commons-logging</artifactId>
+            <groupId>commons-logging</groupId>
+          </exclusion>
+        </exclusions>
+      </dependency>
 
     <dependency>
       <groupId>org.slf4j</groupId>
@@ -151,7 +151,7 @@
         <artifactId>maven-surefire-plugin</artifactId>
         <configuration>
           <includes>
-            <include>org/apache/jena/test/TestPackage.java</include>
+            <include>org/apache/jena/test/TestPackage_core.java</include>
             <include>**/*_CS.java</include>
           </includes>
         </configuration>
diff --git a/jena-core/src/main/java/org/apache/jena/mem2/collection/FastHashBase.java b/jena-core/src/main/java/org/apache/jena/mem2/collection/FastHashBase.java
index 7f89506..b83ab77 100644
--- a/jena-core/src/main/java/org/apache/jena/mem2/collection/FastHashBase.java
+++ b/jena-core/src/main/java/org/apache/jena/mem2/collection/FastHashBase.java
@@ -94,7 +94,7 @@
      *
      * @param baseToCopy
      */
-    protected <T extends FastHashBase> FastHashBase(final T baseToCopy)  {
+    protected <T extends FastHashBase<?>> FastHashBase(final T baseToCopy)  {
         this.positions = new int[baseToCopy.positions.length];
         System.arraycopy(baseToCopy.positions, 0, this.positions, 0, baseToCopy.positions.length);
 
diff --git a/jena-core/src/main/java/org/apache/jena/mem2/store/TripleStore.java b/jena-core/src/main/java/org/apache/jena/mem2/store/TripleStore.java
index 8530709..c195862 100644
--- a/jena-core/src/main/java/org/apache/jena/mem2/store/TripleStore.java
+++ b/jena-core/src/main/java/org/apache/jena/mem2/store/TripleStore.java
@@ -95,5 +95,6 @@
      *
      * @return an independent copy of this store
      */
+    @Override
     TripleStore copy();
 }
diff --git a/jena-core/src/main/java/org/apache/jena/mem2/store/roaring/RoaringTripleStore.java b/jena-core/src/main/java/org/apache/jena/mem2/store/roaring/RoaringTripleStore.java
index d35d4b5..bebe88a 100644
--- a/jena-core/src/main/java/org/apache/jena/mem2/store/roaring/RoaringTripleStore.java
+++ b/jena-core/src/main/java/org/apache/jena/mem2/store/roaring/RoaringTripleStore.java
@@ -349,7 +349,7 @@
         /**
          * Create a copy of this set.
          *
-         * @return
+         * @return TripleSet
          */
         @Override
         public TripleSet copy() {
diff --git a/jena-core/src/test/java/org/apache/jena/mem2/GraphMem2Test.java b/jena-core/src/test/java/org/apache/jena/mem2/GraphMem2Test.java
index 0627581..bee503c 100644
--- a/jena-core/src/test/java/org/apache/jena/mem2/GraphMem2Test.java
+++ b/jena-core/src/test/java/org/apache/jena/mem2/GraphMem2Test.java
@@ -177,10 +177,10 @@
 
         when(mockStore.copy()).thenReturn(mockStoreCopy);
 
-        var sut = new GraphMem2(mockStore);
-        var copy = sut.copy();
+        GraphMem2 sut = new GraphMem2(mockStore);
+        GraphMem2 copy = sut.copy();
 
-        assertTrue(copy instanceof GraphMem2);
+        assertNotNull(copy);
         assertEquals(mockStoreCopy, copy.tripleStore);
     }
-}
\ No newline at end of file
+}
diff --git a/jena-db/jena-dboe-base/pom.xml b/jena-db/jena-dboe-base/pom.xml
index 83fefca..13a7bb2 100644
--- a/jena-db/jena-dboe-base/pom.xml
+++ b/jena-db/jena-dboe-base/pom.xml
@@ -27,7 +27,7 @@
   <parent>
     <groupId>org.apache.jena</groupId>
     <artifactId>jena-db</artifactId>
-    <version>5.0.0-SNAPSHOT</version>
+    <version>5.1.0-SNAPSHOT</version>
     <relativePath>..</relativePath>
   </parent> 
 
@@ -40,13 +40,13 @@
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-arq</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
     </dependency>
 
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-arq</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
       <classifier>tests</classifier>
       <scope>test</scope>
     </dependency>
diff --git a/jena-db/jena-dboe-index-test/pom.xml b/jena-db/jena-dboe-index-test/pom.xml
index c03dee4..8b59a0b 100644
--- a/jena-db/jena-dboe-index-test/pom.xml
+++ b/jena-db/jena-dboe-index-test/pom.xml
@@ -27,7 +27,7 @@
   <parent>
     <groupId>org.apache.jena</groupId>
     <artifactId>jena-db</artifactId>
-    <version>5.0.0-SNAPSHOT</version>
+    <version>5.1.0-SNAPSHOT</version>
     <relativePath>..</relativePath>
   </parent> 
 
@@ -40,27 +40,33 @@
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-dboe-index</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
     </dependency>
 
     <dependency>
-      <!--  Bring junit into scope-compile -->
+      <groupId>org.junit.jupiter</groupId>
+      <artifactId>junit-jupiter</artifactId>
+      <scope>compile</scope>
+    </dependency>
+      
+    <dependency>
+      <groupId>org.junit.platform</groupId>
+      <artifactId>junit-platform-suite</artifactId>
+      <scope>compile</scope>
+    </dependency>
+    
+    <dependency>
+      <groupId>org.junit.vintage</groupId>
+      <artifactId>junit-vintage-engine</artifactId>
+      <scope>compile</scope>
+    </dependency>
+    
+    <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
       <scope>compile</scope>
     </dependency>
 
-    <!--
-        Fix necessary for java11 (not java17)
-        when building javadoc.
-    <dependency>
-      <groupId>org.hamcrest</groupId>
-      <artifactId>hamcrest</artifactId>
-      <version>[2.1,)</version>
-      <scope>compile</scope>
-    </dependency>
-    -->
-
   </dependencies>
 
   <build>
diff --git a/jena-db/jena-dboe-index-test/src/main/java/org/apache/jena/dboe/index/testlib/AbstractTestIndex.java b/jena-db/jena-dboe-index-test/src/main/java/org/apache/jena/dboe/index/testlib/AbstractTestIndex.java
index 880ed1e..2f965cb 100644
--- a/jena-db/jena-dboe-index-test/src/main/java/org/apache/jena/dboe/index/testlib/AbstractTestIndex.java
+++ b/jena-db/jena-dboe-index-test/src/main/java/org/apache/jena/dboe/index/testlib/AbstractTestIndex.java
@@ -18,19 +18,23 @@
 
 package org.apache.jena.dboe.index.testlib;
 
-import static org.apache.jena.dboe.index.testlib.IndexTestLib.*;
+import static org.apache.jena.dboe.index.testlib.IndexTestLib.testDelete;
+import static org.apache.jena.dboe.index.testlib.IndexTestLib.testIndexContents;
+import static org.apache.jena.dboe.index.testlib.IndexTestLib.testInsert;
 import static org.apache.jena.dboe.test.RecordLib.intToRecord;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
 
 import org.apache.jena.dboe.base.record.Record;
 import org.apache.jena.dboe.index.Index;
 import org.apache.jena.dboe.test.RecordLib;
-import org.junit.Assert;
-import org.junit.After;
-import org.junit.Test;
+import org.junit.After ;
+import org.junit.Test ;
 
 //import org.apache.jena.tdb.base.record.RecordLib;
 
-public abstract class AbstractTestIndex extends Assert
+public abstract class AbstractTestIndex
 {
     Index index = null;
 
diff --git a/jena-db/jena-dboe-index/pom.xml b/jena-db/jena-dboe-index/pom.xml
index 2041740..0e8c99c 100644
--- a/jena-db/jena-dboe-index/pom.xml
+++ b/jena-db/jena-dboe-index/pom.xml
@@ -27,7 +27,7 @@
   <parent>
     <groupId>org.apache.jena</groupId>
     <artifactId>jena-db</artifactId>
-    <version>5.0.0-SNAPSHOT</version>
+    <version>5.1.0-SNAPSHOT</version>
     <relativePath>..</relativePath>
   </parent> 
 
@@ -40,7 +40,7 @@
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-dboe-base</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
     </dependency>
 
   </dependencies>
diff --git a/jena-db/jena-dboe-storage/pom.xml b/jena-db/jena-dboe-storage/pom.xml
index 9a243e7..492ad9e 100644
--- a/jena-db/jena-dboe-storage/pom.xml
+++ b/jena-db/jena-dboe-storage/pom.xml
@@ -27,7 +27,7 @@
   <parent>
     <groupId>org.apache.jena</groupId>
     <artifactId>jena-db</artifactId>
-    <version>5.0.0-SNAPSHOT</version>
+    <version>5.1.0-SNAPSHOT</version>
     <relativePath>..</relativePath>
   </parent> 
 
@@ -42,13 +42,13 @@
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-dboe-trans-data</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
     </dependency>
     
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-arq</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
       <classifier>tests</classifier>
       <scope>test</scope>
     </dependency>
diff --git a/jena-db/jena-dboe-trans-data/pom.xml b/jena-db/jena-dboe-trans-data/pom.xml
index 8e93997..b3d1c33 100644
--- a/jena-db/jena-dboe-trans-data/pom.xml
+++ b/jena-db/jena-dboe-trans-data/pom.xml
@@ -26,7 +26,7 @@
   <parent>
     <groupId>org.apache.jena</groupId>
     <artifactId>jena-db</artifactId>
-    <version>5.0.0-SNAPSHOT</version>
+    <version>5.1.0-SNAPSHOT</version>
     <relativePath>..</relativePath>
   </parent> 
 
@@ -39,26 +39,26 @@
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-dboe-transaction</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
     </dependency>
 
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-dboe-index</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
     </dependency>
 
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-dboe-index-test</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
 
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-dboe-base</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
       <classifier>tests</classifier>
       <scope>test</scope>
     </dependency>
diff --git a/jena-db/jena-dboe-transaction/pom.xml b/jena-db/jena-dboe-transaction/pom.xml
index 43657f0..0795b63 100644
--- a/jena-db/jena-dboe-transaction/pom.xml
+++ b/jena-db/jena-dboe-transaction/pom.xml
@@ -26,7 +26,7 @@
   <parent>
     <groupId>org.apache.jena</groupId>
     <artifactId>jena-db</artifactId>
-    <version>5.0.0-SNAPSHOT</version>
+    <version>5.1.0-SNAPSHOT</version>
     <relativePath>..</relativePath>
   </parent> 
 
@@ -39,7 +39,7 @@
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-dboe-base</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
     </dependency>
 
   </dependencies>
diff --git a/jena-db/pom.xml b/jena-db/pom.xml
index ef25ba0..afa30bb 100644
--- a/jena-db/pom.xml
+++ b/jena-db/pom.xml
@@ -22,14 +22,14 @@
   
   <artifactId>jena-db</artifactId>
   <packaging>pom</packaging>
-  <version>5.0.0-SNAPSHOT</version>
+  <version>5.1.0-SNAPSHOT</version>
   <name>Apache Jena - DBOE Database Operation Environment</name>
   <url>https://jena.apache.org/</url>
 
   <parent>
     <groupId>org.apache.jena</groupId>
     <artifactId>jena</artifactId>
-    <version>5.0.0-SNAPSHOT</version>
+    <version>5.1.0-SNAPSHOT</version>
     <relativePath>..</relativePath>
   </parent>
 
@@ -51,8 +51,8 @@
 
   <dependencies>
     <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
+      <groupId>org.junit.vintage</groupId>
+      <artifactId>junit-vintage-engine</artifactId>
       <scope>test</scope>
     </dependency>
 
diff --git a/jena-examples/pom.xml b/jena-examples/pom.xml
index f7273c7..2b2d516 100644
--- a/jena-examples/pom.xml
+++ b/jena-examples/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.apache.jena</groupId>
     <artifactId>jena</artifactId>
-    <version>5.0.0-SNAPSHOT</version>
+    <version>5.1.0-SNAPSHOT</version>
     <relativePath>..</relativePath>
   </parent>
 
@@ -62,8 +62,8 @@
     </dependency>
 
     <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
+      <groupId>org.junit.vintage</groupId>
+      <artifactId>junit-vintage-engine</artifactId>
     </dependency>
     <dependency>
       <groupId>commons-cli</groupId>
diff --git a/jena-extras/jena-commonsrdf/pom.xml b/jena-extras/jena-commonsrdf/pom.xml
index 6c20e45..456c89a 100644
--- a/jena-extras/jena-commonsrdf/pom.xml
+++ b/jena-extras/jena-commonsrdf/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <groupId>org.apache.jena</groupId>
     <artifactId>jena</artifactId>
-    <version>5.0.0-SNAPSHOT</version>
+    <version>5.1.0-SNAPSHOT</version>
     <relativePath>../..</relativePath>
   </parent>
 
@@ -43,7 +43,7 @@
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-arq</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
     </dependency>
 
     <dependency>
@@ -68,8 +68,8 @@
     </dependency>
 
     <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
+      <groupId>org.junit.vintage</groupId>
+      <artifactId>junit-vintage-engine</artifactId>
       <scope>test</scope>
     </dependency>
 
diff --git a/jena-extras/jena-querybuilder/pom.xml b/jena-extras/jena-querybuilder/pom.xml
index 81bb185..16f437c 100644
--- a/jena-extras/jena-querybuilder/pom.xml
+++ b/jena-extras/jena-querybuilder/pom.xml
@@ -26,7 +26,7 @@
     <groupId>org.apache.jena</groupId>
     <artifactId>jena-extras</artifactId>
     <relativePath>..</relativePath>
-    <version>5.0.0-SNAPSHOT</version>
+    <version>5.1.0-SNAPSHOT</version>
   </parent>
 
   <properties>
@@ -37,7 +37,7 @@
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>apache-jena-libs</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
       <type>pom</type>
     </dependency>
 
@@ -70,8 +70,8 @@
     </dependency>
 
     <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
+      <groupId>org.junit.vintage</groupId>
+      <artifactId>junit-vintage-engine</artifactId>
       <scope>test</scope>
     </dependency>
 
diff --git a/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/UpdateBuilder.java b/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/UpdateBuilder.java
index 5fe8463..c0ffd77 100644
--- a/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/UpdateBuilder.java
+++ b/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/UpdateBuilder.java
@@ -123,8 +123,8 @@
     }
 
     /**
-     * Checks that deletes or inserts have been added to the builder.
-     * @return true if there are any delete or insert statements.
+     * Checks that no deletes or inserts have been added to the builder.
+     * @return true if there are no delete or insert statements.
      */
     public boolean isEmpty() {
         return deletes.isEmpty() && inserts.isEmpty();
diff --git a/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/handlers/DatasetHandler.java b/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/handlers/DatasetHandler.java
index 26ce281..ca90fc2 100644
--- a/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/handlers/DatasetHandler.java
+++ b/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/handlers/DatasetHandler.java
@@ -17,9 +17,9 @@
  */
 package org.apache.jena.arq.querybuilder.handlers;
 
-import java.util.Collection;
 import java.util.List;
 import java.util.Map;
+import java.util.function.Consumer;
 
 import org.apache.jena.graph.FrontsNode;
 import org.apache.jena.graph.Node;
@@ -80,39 +80,49 @@
     }
 
     /**
-     * Add a graph name to the from named list.
+     * Add one or more named graphs to the query.
+     * if {@code graphName} is a {@code collection} or an array each element in the 
+     * @code collection} or array is converted to a string and the result added to the 
+     * query.
      *
-     * @param graphName The graph name to add.
+     * @param graphName the name to add.
+     * @see #asGraphName(Object)
      */
     public void fromNamed(Object graphName) {
-        if (graphName instanceof Collection) {
-            ((Collection<?>)graphName).forEach(this::fromNamed);
-        } else if (graphName instanceof Object[]) {
-            for (Object o : ((Object[])graphName)) {
-                fromNamed(o);
-            }
-        } else {
-            query.addNamedGraphURI(asGraphName(graphName));
-        }
+        processGraphName(query::addNamedGraphURI, graphName);
     }
 
     /**
-     * Add the graph names to the from list.
-     *
-     * @param graphName the name to add.
+     * Converts performs a single level of unwrapping an Iterable before calling
+     * the {@code process} method with the graph name converted to a string.
+     * @param process the process that accepts the string graph name.
+     * @param graphName the Object that represents one or more graph names.
+     * @see #asGraphName(Object)
      */
-    public void from(Object graphName) {
-        if (graphName instanceof Collection) {
-            ((Collection<?>)graphName).forEach(this::from);
-        } else if (graphName instanceof Object[]) {
-            for (Object o : ((Object[])graphName)) {
-                from(o);
+    private void processGraphName(Consumer<String> process, Object graphName) {
+        if (graphName instanceof Iterable) {
+            for (Object o : (Iterable)graphName) {
+                process.accept(asGraphName(o));
             }
         } else {
-            query.addGraphURI(asGraphName(graphName));
+            process.accept(asGraphName(graphName));
         }
     }
 
+
+    /**
+     * Add one or more graph names to the query.
+     * if {@code graphName} is a {@code collection} or an array each element in the 
+     * @code collection} or array is converted to a string and the result added to the 
+     * query.
+     *
+     * @param graphName the name to add.
+     * @see #asGraphName(Object)
+     */
+    public void from(Object graphName) {
+        processGraphName(query::addGraphURI, graphName);
+    }
+
     /**
      * Set the variables for field names that contain lists of strings.
      *
diff --git a/jena-extras/jena-serviceenhancer/pom.xml b/jena-extras/jena-serviceenhancer/pom.xml
index 64ac332..ed8c53a 100644
--- a/jena-extras/jena-serviceenhancer/pom.xml
+++ b/jena-extras/jena-serviceenhancer/pom.xml
@@ -26,7 +26,7 @@
     <groupId>org.apache.jena</groupId>
     <artifactId>jena-extras</artifactId>
     <relativePath>..</relativePath>
-    <version>5.0.0-SNAPSHOT</version>
+    <version>5.1.0-SNAPSHOT</version>
   </parent>
 
   <properties>
@@ -46,22 +46,6 @@
     </dependency>
 
     <dependency>
-      <groupId>org.xenei</groupId>
-      <artifactId>junit-contracts</artifactId> 
-      <scope>test</scope>
-      <exclusions>
-        <exclusion>
-          <artifactId>commons-cli</artifactId>
-          <groupId>commons-cli</groupId>
-        </exclusion>
-        <exclusion>
-          <artifactId>commons-logging</artifactId>
-          <groupId>commons-logging</groupId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-
-    <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
       <scope>test</scope>
@@ -108,7 +92,7 @@
         <dependency>
           <groupId>org.apache.jena</groupId>
           <artifactId>jena-arq</artifactId>
-          <version>5.0.0-SNAPSHOT</version>
+          <version>5.1.0-SNAPSHOT</version>
           <scope>provided</scope>
         </dependency>
       </dependencies>
diff --git a/jena-extras/pom.xml b/jena-extras/pom.xml
index ff28e88..4396132 100644
--- a/jena-extras/pom.xml
+++ b/jena-extras/pom.xml
@@ -19,14 +19,14 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <artifactId>jena-extras</artifactId>
-  <version>5.0.0-SNAPSHOT</version>
+  <version>5.1.0-SNAPSHOT</version>
   <packaging>pom</packaging>
   <name>Apache Jena - Extras</name>
 
   <parent>
     <groupId>org.apache.jena</groupId>
     <artifactId>jena</artifactId>
-    <version>5.0.0-SNAPSHOT</version>
+    <version>5.1.0-SNAPSHOT</version>
     <relativePath>..</relativePath>
   </parent>
 
diff --git a/jena-fuseki2/apache-jena-fuseki/log4j2.properties b/jena-fuseki2/apache-jena-fuseki/log4j2.properties
index 73746a3..81dac1d 100644
--- a/jena-fuseki2/apache-jena-fuseki/log4j2.properties
+++ b/jena-fuseki2/apache-jena-fuseki/log4j2.properties
@@ -46,13 +46,10 @@
 logger.jetty.name  = org.eclipse.jetty
 logger.jetty.level = WARN
 
-# May be useful to turn up to DEBUG if debugging HTTP communication issues
-logger.apache-http.name   = org.apache.http
-logger.apache-http.level  = WARN
-
 logger.shiro.name = org.apache.shiro
 logger.shiro.level = WARN
-# Hide bug in Shiro 1.5.0
+
+# Hide bug with Shiro 1.5.0+, 2.0.0
 logger.shiro-realm.name = org.apache.shiro.realm.text.IniRealm
 logger.shiro-realm.level = ERROR
 
diff --git a/jena-fuseki2/apache-jena-fuseki/pom.xml b/jena-fuseki2/apache-jena-fuseki/pom.xml
index 4767d4d..2fdc9cf 100644
--- a/jena-fuseki2/apache-jena-fuseki/pom.xml
+++ b/jena-fuseki2/apache-jena-fuseki/pom.xml
@@ -21,13 +21,13 @@
 
   <name>Apache Jena - Fuseki Binary Distribution</name>
   <artifactId>apache-jena-fuseki</artifactId>
-  <version>5.0.0-SNAPSHOT</version>
+  <version>5.1.0-SNAPSHOT</version>
   <packaging>pom</packaging>
 
   <parent>
     <groupId>org.apache.jena</groupId>
     <artifactId>jena-fuseki</artifactId>
-    <version>5.0.0-SNAPSHOT</version>
+    <version>5.1.0-SNAPSHOT</version>
     <relativePath>..</relativePath>
   </parent> 
   
diff --git a/jena-fuseki2/jena-fuseki-access/pom.xml b/jena-fuseki2/jena-fuseki-access/pom.xml
index 6965337..3a919fc 100644
--- a/jena-fuseki2/jena-fuseki-access/pom.xml
+++ b/jena-fuseki2/jena-fuseki-access/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <groupId>org.apache.jena</groupId>
     <artifactId>jena-fuseki</artifactId>
-    <version>5.0.0-SNAPSHOT</version>
+    <version>5.1.0-SNAPSHOT</version>
   </parent> 
 
   <packaging>jar</packaging>
@@ -38,12 +38,12 @@
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-fuseki-core</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
     </dependency>
 
     <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
+      <groupId>org.junit.vintage</groupId>
+      <artifactId>junit-vintage-engine</artifactId>
       <scope>test</scope>
     </dependency>
 
diff --git a/jena-fuseki2/jena-fuseki-access/src/test/resources/log4j2.properties b/jena-fuseki2/jena-fuseki-access/src/test/resources/log4j2.properties
index a857ca8..2868605 100644
--- a/jena-fuseki2/jena-fuseki-access/src/test/resources/log4j2.properties
+++ b/jena-fuseki2/jena-fuseki-access/src/test/resources/log4j2.properties
@@ -40,10 +40,6 @@
 logger.jetty.name  = org.eclipse.jetty
 logger.jetty.level = WARN
 
-# May be useful to turn up to DEBUG if debugging HTTP communication issues
-logger.apache-http.name   = org.apache.http
-logger.apache-http.level  = WARN
-
 # This goes out in NCSA format
 appender.plain.type = Console
 appender.plain.name = PLAIN
diff --git a/jena-fuseki2/jena-fuseki-core/pom.xml b/jena-fuseki2/jena-fuseki-core/pom.xml
index 0d6a391..1602959 100644
--- a/jena-fuseki2/jena-fuseki-core/pom.xml
+++ b/jena-fuseki2/jena-fuseki-core/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <groupId>org.apache.jena</groupId>
     <artifactId>jena-fuseki</artifactId>
-    <version>5.0.0-SNAPSHOT</version>
+    <version>5.1.0-SNAPSHOT</version>
     <relativePath>../</relativePath>
   </parent>
 
@@ -39,37 +39,37 @@
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-rdfpatch</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
     </dependency>
 
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-shacl</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
     </dependency>
 
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-shex</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
     </dependency>
 
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-tdb1</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
     </dependency>
 
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-tdb2</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
     </dependency>
 
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-rdfconnection</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
     </dependency>
 
     <dependency>
@@ -104,8 +104,8 @@
     </dependency>
 
     <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
+      <groupId>org.junit.vintage</groupId>
+      <artifactId>junit-vintage-engine</artifactId>
       <scope>test</scope>
     </dependency>
 
diff --git a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/test/HttpTest.java b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/test/HttpTest.java
index df24ba4..06d88df 100644
--- a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/test/HttpTest.java
+++ b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/test/HttpTest.java
@@ -70,10 +70,10 @@
             Assert.fail("Expected HttpException "+expectedStatusCode);
         } catch (QueryExceptionHTTP ex) {
             if ( expectedStatusCode > 0 )
-                Assert.assertEquals(ex.getMessage()+":: ", expectedStatusCode, ex.getStatusCode());
+                Assert.assertEquals(ex.getMessage()+" ::", expectedStatusCode, ex.getStatusCode());
         } catch (HttpException ex) {
             if ( expectedStatusCode > 0 )
-                Assert.assertEquals(ex.getMessage()+":: ", expectedStatusCode, ex.getStatusCode());
+                Assert.assertEquals(ex.getMessage()+" ::", expectedStatusCode, ex.getStatusCode());
         }
     }
 
diff --git a/jena-fuseki2/jena-fuseki-docker/log4j2.properties b/jena-fuseki2/jena-fuseki-docker/log4j2.properties
index 07f360d..4f219d5 100644
--- a/jena-fuseki2/jena-fuseki-docker/log4j2.properties
+++ b/jena-fuseki2/jena-fuseki-docker/log4j2.properties
@@ -51,13 +51,10 @@
 logger.jetty.name  = org.eclipse.jetty
 logger.jetty.level = WARN
 
-# May be useful to turn up to DEBUG if debugging HTTP communication issues
-logger.apache-http.name   = org.apache.http
-logger.apache-http.level  = WARN
-
 logger.shiro.name = org.apache.shiro
 logger.shiro.level = WARN
-# Hide bug in Shiro 1.5.x
+
+# Hide issue with Shiro 1.5.0+, 2.0.0
 logger.shiro-realm.name = org.apache.shiro.realm.text.IniRealm
 logger.shiro-realm.level = ERROR
 
diff --git a/jena-fuseki2/jena-fuseki-docker/pom.xml b/jena-fuseki2/jena-fuseki-docker/pom.xml
index 2e06e1d..fdf77e9 100644
--- a/jena-fuseki2/jena-fuseki-docker/pom.xml
+++ b/jena-fuseki2/jena-fuseki-docker/pom.xml
@@ -21,13 +21,13 @@
 
   <name>Apache Jena - Fuseki Docker Tools</name>
   <artifactId>jena-fuseki-docker</artifactId>
-  <version>5.0.0-SNAPSHOT</version>
+  <version>5.1.0-SNAPSHOT</version>
   <packaging>pom</packaging>
 
   <parent>
     <groupId>org.apache.jena</groupId>
     <artifactId>jena-fuseki</artifactId>
-    <version>5.0.0-SNAPSHOT</version>
+    <version>5.1.0-SNAPSHOT</version>
     <relativePath>..</relativePath>
   </parent> 
   
diff --git a/jena-fuseki2/jena-fuseki-fulljar/pom.xml b/jena-fuseki2/jena-fuseki-fulljar/pom.xml
index eb64f8b..7f4d505 100644
--- a/jena-fuseki2/jena-fuseki-fulljar/pom.xml
+++ b/jena-fuseki2/jena-fuseki-fulljar/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <groupId>org.apache.jena</groupId>
     <artifactId>jena-fuseki</artifactId>
-    <version>5.0.0-SNAPSHOT</version>
+    <version>5.1.0-SNAPSHOT</version>
     <relativePath>../</relativePath>
   </parent> 
 
diff --git a/jena-fuseki2/jena-fuseki-geosparql/pom.xml b/jena-fuseki2/jena-fuseki-geosparql/pom.xml
index cc10c8f..bf8b333 100644
--- a/jena-fuseki2/jena-fuseki-geosparql/pom.xml
+++ b/jena-fuseki2/jena-fuseki-geosparql/pom.xml
@@ -23,7 +23,7 @@
     <parent>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-fuseki</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
       <relativePath>../</relativePath>
     </parent>
     
@@ -38,13 +38,13 @@
       <dependency>
         <groupId>org.apache.jena</groupId>
         <artifactId>jena-geosparql</artifactId>
-        <version>5.0.0-SNAPSHOT</version>
+        <version>5.1.0-SNAPSHOT</version>
       </dependency>
 
       <dependency>
         <groupId>org.apache.jena</groupId>
         <artifactId>jena-fuseki-main</artifactId>
-        <version>5.0.0-SNAPSHOT</version>
+        <version>5.1.0-SNAPSHOT</version>
       </dependency>
 
       <dependency>
@@ -105,8 +105,8 @@
       </dependency>
 
       <dependency>
-        <groupId>junit</groupId>
-        <artifactId>junit</artifactId>
+        <groupId>org.junit.vintage</groupId>
+        <artifactId>junit-vintage-engine</artifactId>
         <scope>test</scope>
       </dependency>
 
diff --git a/jena-fuseki2/jena-fuseki-geosparql/src/test/resources/log4j2.properties b/jena-fuseki2/jena-fuseki-geosparql/src/test/resources/log4j2.properties
index bc633a6..f1fe56f 100644
--- a/jena-fuseki2/jena-fuseki-geosparql/src/test/resources/log4j2.properties
+++ b/jena-fuseki2/jena-fuseki-geosparql/src/test/resources/log4j2.properties
@@ -52,10 +52,6 @@
 logger.jetty.name  = org.eclipse.jetty
 logger.jetty.level = WARN
 
-# May be useful to turn up to DEBUG if debugging HTTP communication issues
-logger.apache-http.name   = org.apache.http
-logger.apache-http.level  = WARN
-
 # This goes out in NCSA format
 appender.plain.type = Console
 appender.plain.name = PLAIN
diff --git a/jena-fuseki2/jena-fuseki-main/pom.xml b/jena-fuseki2/jena-fuseki-main/pom.xml
index 9b11908..05cb5b0 100644
--- a/jena-fuseki2/jena-fuseki-main/pom.xml
+++ b/jena-fuseki2/jena-fuseki-main/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <groupId>org.apache.jena</groupId>
     <artifactId>jena-fuseki</artifactId>
-    <version>5.0.0-SNAPSHOT</version>
+    <version>5.1.0-SNAPSHOT</version>
   </parent> 
 
   <packaging>jar</packaging>
@@ -39,13 +39,13 @@
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-fuseki-core</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
     </dependency>
 
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-fuseki-core</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
       <classifier>tests</classifier>
       <scope>test</scope>
     </dependency>
@@ -53,13 +53,13 @@
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-fuseki-access</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
     </dependency>
 
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-cmds</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
     </dependency>
 
     <!-- For parsing Jetty configuration files -->
@@ -69,8 +69,8 @@
     </dependency>
 
     <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
+      <groupId>org.junit.vintage</groupId>
+      <artifactId>junit-vintage-engine</artifactId>
       <scope>test</scope>
     </dependency>
 
diff --git a/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/sys/FusekiAutoModule.java b/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/sys/FusekiAutoModule.java
index b16aa5a..b361ee7 100644
--- a/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/sys/FusekiAutoModule.java
+++ b/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/sys/FusekiAutoModule.java
@@ -71,36 +71,45 @@
 
     // ---- SubsystemLifecycle
 
+    /** {@inheritDoc} */
     @Override
     public default void start() { }
 
+    /** {@inheritDoc} */
     @Override
     public default void stop() {}
 
     // ---- Build cycle
 
+    /** {@inheritDoc} */
     @Override
     public default void prepare(FusekiServer.Builder serverBuilder, Set<String> datasetNames, Model configModel) { }
 
+    /** {@inheritDoc} */
     @Override
     public default void configured(FusekiServer.Builder serverBuilder, DataAccessPointRegistry dapRegistry, Model configModel) {
         dapRegistry.accessPoints().forEach(accessPoint->configDataAccessPoint(accessPoint, configModel));
     }
 
+    /** {@inheritDoc} */
     @Override
     public default void configDataAccessPoint(DataAccessPoint dap, Model configModel) {}
 
+    /** {@inheritDoc} */
     @Override
     public default void server(FusekiServer server) { }
 
+    /** {@inheritDoc} */
     @Override
     public default void serverBeforeStarting(FusekiServer server) { }
 
     // ---- Server start-stop.
 
+    /** {@inheritDoc} */
     @Override
     public default void serverAfterStarting(FusekiServer server) { }
 
+    /** {@inheritDoc} */
     @Override
     public default void serverStopped(FusekiServer server) { }
 }
diff --git a/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/sys/FusekiBuildCycle.java b/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/sys/FusekiBuildCycle.java
index 872d5ab..9263a8b 100644
--- a/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/sys/FusekiBuildCycle.java
+++ b/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/sys/FusekiBuildCycle.java
@@ -68,7 +68,7 @@
     public default void prepare(FusekiServer.Builder serverBuilder, Set<String> datasetNames, Model configModel) { }
 
      /**
-      * Called after the DataAccessPointRegistry has been built.
+      * Called after the {@link DataAccessPointRegistry} has been built.
       * <p>
       * The default implementation is to call {@link #configDataAccessPoint(DataAccessPoint, Model)}
       * for each {@link DataAccessPoint}.
@@ -88,7 +88,8 @@
     public default void configDataAccessPoint(DataAccessPoint dap, Model configModel) {}
 
     /**
-     * Built, not started, about to be returned to the builder caller.
+     * Called when the server is built at the point where it is returned from the {@link Builder Fuseki server builder}.
+     * The server has not yet been started.
      */
     public default void server(FusekiServer server) { }
 
diff --git a/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/sys/FusekiModule.java b/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/sys/FusekiModule.java
index 2a40ee2..d34292e 100644
--- a/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/sys/FusekiModule.java
+++ b/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/sys/FusekiModule.java
@@ -73,26 +73,33 @@
         dapRegistry.accessPoints().forEach(accessPoint->configDataAccessPoint(accessPoint, configModel));
     }
 
+    /** {@inheritDoc} */
     @Override
     public default void configDataAccessPoint(DataAccessPoint dap, Model configModel) {}
 
+    /** {@inheritDoc} */
     @Override
     public default void server(FusekiServer server) { }
 
+    /** {@inheritDoc} */
     @Override
     public default boolean serverConfirmReload(FusekiServer server) { return true; }
 
+    /** {@inheritDoc} */
     @Override
     public default void serverReload(FusekiServer server) { }
 
     // ---- Server start-stop.
 
+    /** {@inheritDoc} */
     @Override
     public default void serverBeforeStarting(FusekiServer server) { }
 
+    /** {@inheritDoc} */
     @Override
     public default void serverAfterStarting(FusekiServer server) { }
 
+    /** {@inheritDoc} */
     @Override
     public default void serverStopped(FusekiServer server) { }
 }
diff --git a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/AbstractFusekiTest.java b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/AbstractFusekiTest.java
index 533438a..7904221 100644
--- a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/AbstractFusekiTest.java
+++ b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/AbstractFusekiTest.java
@@ -18,41 +18,40 @@
 
 package org.apache.jena.fuseki.main;
 
+import org.apache.jena.sparql.core.DatasetGraph;
+import org.apache.jena.sparql.core.DatasetGraphFactory;
 import org.junit.After;
-import org.junit.AfterClass;
 import org.junit.Before;
-import org.junit.BeforeClass;
 
-public class AbstractFusekiTest extends BaseFusekiTest {
-    @BeforeClass public static void startServer() {
+/**
+ * Common setup for running a server with services and an initially empty database.
+ */
+public class AbstractFusekiTest {
+    private FusekiServer server;
 
-//      FusekiLogging.setLogging();
-//      LogCtl.enable(Fuseki.actionLog);
-//      LogCtl.enable(Fuseki.serverLog);
+    protected String datasetName()    { return "database"; }
+    protected String datasetPath()    { return "/"+datasetName(); }
+    protected String databaseURL()    { return server.datasetURL(datasetPath()); }
+    protected String serverURL()      { return server.serverURL(); }
 
-      server = FusekiServer.create()
-              .port(0)
-              //.verbose(true)
-              .add(datasetPath(), dsgTesting)
-              .enablePing(true)
-              .enableMetrics(true)
-              .build();
-      server.start();
-      port = server.getPort();
-      serverURL = "http://localhost:"+port+"/";
-  }
+    protected String serviceUpdate()  { return databaseURL()+"/update"; }
+    protected String serviceQuery()   { return databaseURL()+"/query"; }
+    protected String serviceGSP_R()   { return databaseURL()+"/get"; }
+    protected String serviceGSP()     { return databaseURL()+"/data"; }
 
-  @AfterClass public static void stopServer() {
-      try {
-          if ( server != null )
-              server.stop();
-      } catch (Throwable th) {
-          th.printStackTrace();
-      }
-  }
+    @Before public void startServer() {
+        DatasetGraph dsgTesting = DatasetGraphFactory.createTxnMem();
+        server = FusekiServer.create()
+                .port(0)
+                //.verbose(true)
+                .add(datasetPath(), dsgTesting)
+                .enablePing(true)
+                .enableMetrics(true)
+                .start();
+    }
 
-
-  @Before public void beforeTest() { resetDatabase(); }
-  @After public void afterTest() {}
-
+    @After public void stopServer() {
+        if ( server != null )
+            server.stop();
+    }
 }
diff --git a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/AbstractTestAuth_JDK.java b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/AbstractTestAuth_JDK.java
index 30130a6..b897f07 100644
--- a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/AbstractTestAuth_JDK.java
+++ b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/AbstractTestAuth_JDK.java
@@ -22,24 +22,31 @@
 import java.net.http.HttpClient;
 
 import org.apache.jena.http.auth.AuthLib;
+import org.apache.jena.sparql.core.DatasetGraph;
+import org.apache.jena.sparql.core.DatasetGraphFactory;
 import org.apache.jena.sparql.exec.http.QueryExecutionHTTP;
 import org.apache.jena.sparql.exec.http.QueryExecutionHTTPBuilder;
 import org.apache.jena.sparql.exec.http.UpdateExecutionHTTP;
 import org.apache.jena.sparql.exec.http.UpdateExecutionHTTPBuilder;
 import org.junit.After;
-import org.junit.AfterClass;
 import org.junit.Before;
-import org.junit.BeforeClass;
 
-public class AbstractTestAuth_JDK extends BaseFusekiTest {
+/**
+ * Common setup for running a server with an initially empty database with authentication by password file.
+ */
 
-    @BeforeClass public static void startServer() {
+public class AbstractTestAuth_JDK {
 
-//      FusekiLogging.setLogging();
-//      LogCtl.enable(Fuseki.actionLog);
-//      LogCtl.enable(Fuseki.serverLog);
+    private FusekiServer server;
 
+    protected String datasetName()    { return "database"; }
+    protected String datasetPath()    { return "/"+datasetName(); }
+    protected String databaseURL()    { return server.datasetURL(datasetPath()); }
+    protected String serverURL()      { return server.serverURL(); }
+
+    @Before public void startServer() {
         String passwordFile = "testing/Access/auth-jdk-passwd";
+        DatasetGraph dsgTesting = DatasetGraphFactory.createTxnMem();
         server = FusekiServer.create()
                 .port(0)
                 .passwordFile(passwordFile)
@@ -48,24 +55,13 @@
                 .add(datasetPath(), dsgTesting)
                 .build();
         server.start();
-        port = server.getPort();
-        serverURL = "http://localhost:"+port+"/";
-        //String authServiceQuery
     }
 
-    @AfterClass public static void stopServer() {
-//        try {
-//            if ( server != null )
-//                server.stop();
-//            server = null;
-//        } catch (Throwable th) {
-//            th.printStackTrace();
-//        }
+    @After public void stopServer() {
+        if ( server != null )
+            server.stop();
     }
 
-    @Before public void beforeTest() { resetDatabase(); }
-    @After public void afterTest() {}
-
     public static QueryExecutionHTTP withAuthJDK(QueryExecutionHTTPBuilder builder, String user, String passwd) {
         Authenticator authenticator = AuthLib.authenticator(user, passwd);
         HttpClient hc = HttpClient.newBuilder().authenticator(authenticator).build();
diff --git a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/BaseFusekiTest.java b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/BaseFusekiTest.java
deleted file mode 100644
index 7931798..0000000
--- a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/BaseFusekiTest.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.jena.fuseki.main;
-
-import org.apache.jena.sparql.core.DatasetGraph;
-import org.apache.jena.sparql.core.DatasetGraphFactory;
-import org.apache.jena.sparql.exec.http.UpdateExecHTTP;
-import org.apache.jena.sparql.modify.request.Target;
-import org.apache.jena.sparql.modify.request.UpdateDrop;
-import org.apache.jena.system.Txn;
-import org.apache.jena.update.Update;
-
-public class BaseFusekiTest
-{
-    // Must be set by test
-    protected static DatasetGraph dsgTesting = DatasetGraphFactory.createTxnMem();
-    protected static FusekiServer server;
-    protected static int port;
-    protected static String serverURL;
-
-    public static final String datasetName()    { return "database"; }
-    public static final String datasetPath()    { return "/"+datasetName(); }
-
-
-    // Whether to use a transaction on the dataset or to use SPARQL Update.
-    protected static boolean CLEAR_DSG_DIRECTLY = true;
-
-    protected static void resetDatabase() {
-        if ( CLEAR_DSG_DIRECTLY ) {
-            Txn.executeWrite(dsgTesting, ()->dsgTesting.clear());
-        } else {
-            Update clearRequest = new UpdateDrop(Target.ALL);
-            try {
-                UpdateExecHTTP.service(serviceUpdate()).update(clearRequest).execute();
-            }
-            catch (Throwable e) {e.printStackTrace(); throw e;}
-        }
-    }
-
-    // Abstraction that runs a SPARQL server for tests.
-    protected static final String urlRoot()        { return serverURL; }
-    protected static final String databaseURL()    { return serverURL+datasetName(); }
-
-    protected static final String serviceUpdate()  { return databaseURL()+"/update"; }
-    protected static final String serviceQuery()   { return databaseURL()+"/query"; }
-    protected static final String serviceGSP_R()   { return databaseURL()+"/get"; }
-    protected static final String serviceGSP()     { return databaseURL()+"/data"; }
-}
-
diff --git a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestAuthQuery_JDK.java b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestAuthQuery_JDK.java
index 9004b85..996bacc 100644
--- a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestAuthQuery_JDK.java
+++ b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestAuthQuery_JDK.java
@@ -72,7 +72,7 @@
     public void query_authenv_02_prefix_good() {
         QueryExecutionHTTP qe = QueryExecutionHTTP.create().endpoint(databaseURL()).query("ASK { }").build();
         // Server URL - a prefix.
-        String dsURL = serverURL;
+        String dsURL = serverURL();
         URI uri = URI.create(dsURL);
         AuthEnv.get().registerUsernamePassword(uri, "user", "password");
         try {
@@ -86,7 +86,7 @@
     public void query_authenv_03_bad_endpoint() {
         QueryExecutionHTTP qe = QueryExecutionHTTP.create().endpoint(databaseURL()).query("ASK { }").build();
         // Wrong registration
-        String dsURL = serverURL+"anotherPlace";
+        String dsURL = serverURL()+"anotherPlace";
         URI uri = URI.create(dsURL);
         AuthEnv.get().registerUsernamePassword(uri, "user", "password");
         try {
diff --git a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestMetrics.java b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestMetrics.java
index b1320b7..8416269 100644
--- a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestMetrics.java
+++ b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestMetrics.java
@@ -35,7 +35,7 @@
 
     @Test
     public void can_retrieve_metrics() {
-        String r = urlRoot() + "$/metrics";
+        String r = serverURL() + "$/metrics";
         HttpRequest request = HttpRequest.newBuilder().uri(HttpLib.toRequestURI(r)).build();
         HttpResponse<InputStream> response = HttpLib.executeJDK(HttpEnv.getDftHttpClient(), request, BodyHandlers.ofInputStream());
         String body = handleResponseRtnString(response);
diff --git a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestQuery.java b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestQuery.java
index a08d8d0..3fa37a4 100644
--- a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestQuery.java
+++ b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestQuery.java
@@ -308,7 +308,7 @@
         Assert.assertTrue(result.contains("http://example/x"));
     }
 
-    private static void execQuery(String queryString, int exceptedRowCount) {
+    private void execQuery(String queryString, int exceptedRowCount) {
         try ( QueryExecution qExec = QueryExecution.service(serviceQuery(), queryString) ) {
             ResultSet rs = qExec.execSelect();
             int x = ResultSetFormatter.consume(rs);
@@ -316,7 +316,7 @@
         }
     }
 
-    private static void execQuery(String queryString, ResultSet expectedResultSet) {
+    private void execQuery(String queryString, ResultSet expectedResultSet) {
         try ( QueryExecution qExec = QueryExecution.service(serviceQuery(), queryString) ) {
             ResultSet rs = qExec.execSelect();
             boolean b = ResultSetCompare.equalsByTerm(rs, expectedResultSet);
diff --git a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/TestServiceDataAuthBuild.java b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/TestServiceDataAuthBuild.java
index b9e0fa7..80871ac 100644
--- a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/TestServiceDataAuthBuild.java
+++ b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/TestServiceDataAuthBuild.java
@@ -19,17 +19,17 @@
 package org.apache.jena.fuseki.main.access;
 
 import org.apache.jena.fuseki.main.FusekiServer;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
+import org.junit.After;
+import org.junit.Before;
 
 /**
  * AbstractTestServiceDatasetAuth with a configuration file.
  */
 public class TestServiceDataAuthBuild extends AbstractTestServiceDatasetAuth {
 
-    static FusekiServer server;
+    private FusekiServer server;
 
-    @BeforeClass public static void beforeClass () {
+    @Before public void before () {
         server = FusekiServer.create()
             //.verbose(true)
             .port(port)
@@ -38,7 +38,7 @@
         server.start();
     }
 
-    @AfterClass public static void afterClass () {
+    @After public void afterClass () {
         server.stop();
     }
 
diff --git a/jena-fuseki2/jena-fuseki-main/src/test/resources/log4j2.properties b/jena-fuseki2/jena-fuseki-main/src/test/resources/log4j2.properties
index 4cbc992..6502551 100644
--- a/jena-fuseki2/jena-fuseki-main/src/test/resources/log4j2.properties
+++ b/jena-fuseki2/jena-fuseki-main/src/test/resources/log4j2.properties
@@ -54,10 +54,6 @@
 logger.jetty.name  = org.eclipse.jetty
 logger.jetty.level = WARN
 
-# May be useful to turn up to DEBUG if debugging HTTP communication issues
-logger.apache-http.name   = org.apache.http
-logger.apache-http.level  = WARN
-
 # This goes out in NCSA format
 appender.plain.type = Console
 appender.plain.name = PLAIN
diff --git a/jena-fuseki2/jena-fuseki-server/pom.xml b/jena-fuseki2/jena-fuseki-server/pom.xml
index 978faed..113a35b 100644
--- a/jena-fuseki2/jena-fuseki-server/pom.xml
+++ b/jena-fuseki2/jena-fuseki-server/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <groupId>org.apache.jena</groupId>
     <artifactId>jena-fuseki</artifactId>
-    <version>5.0.0-SNAPSHOT</version>
+    <version>5.1.0-SNAPSHOT</version>
     <relativePath>../</relativePath>
   </parent> 
 
@@ -47,13 +47,13 @@
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-text</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
     </dependency>
 
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-fuseki-access</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
     </dependency>
 
     <dependency>
diff --git a/jena-fuseki2/jena-fuseki-ui/README.md b/jena-fuseki2/jena-fuseki-ui/README.md
index 5897c7c..b53bf9d 100644
--- a/jena-fuseki2/jena-fuseki-ui/README.md
+++ b/jena-fuseki2/jena-fuseki-ui/README.md
@@ -42,3 +42,25 @@
 FUSEKI_PORT=3031 PORT=8081 yarn run test:e2e
 ...
 ```
+
+### Using Vitest UI
+
+[Vitest UI](https://vitest.dev/guide/ui.html) is a user interface
+provided by Vitest that can be used to visualize tests and coverage.
+
+It is similar to the Maven Surefire Plug-in, but in a more interactive
+web page, where you can visualize the test code, its coverage, and the
+code related to that test in a visual graph.
+
+```bash
+$ # To run Vitest UI
+$ npx vitest --ui
+$ # If you want to look at the coverage
+$ npx vitest --ui --coverage.enabled=true
+```
+
+> [!NOTE]
+> This command is only available for the unit tests. For e2e tests
+> you must still use `yarn run coverage:e2e`, as it uses Cypress
+> with Istanbul to measure the coverage, instead of vitest only.
+
diff --git a/jena-fuseki2/jena-fuseki-ui/package.json b/jena-fuseki2/jena-fuseki-ui/package.json
index f9463ac..f2415f9 100644
--- a/jena-fuseki2/jena-fuseki-ui/package.json
+++ b/jena-fuseki2/jena-fuseki-ui/package.json
@@ -61,7 +61,7 @@
     "sinon": "^17.0.0",
     "vite": "^5.0.12",
     "vite-plugin-istanbul": "^6.0.0",
-    "vitest": "^0.34.6",
+    "vitest": "^1.3.1",
     "wait-on": "^7.0.1"
   },
   "overrides": {
diff --git a/jena-fuseki2/jena-fuseki-ui/pom.xml b/jena-fuseki2/jena-fuseki-ui/pom.xml
index 789e6fb..d5595fd 100644
--- a/jena-fuseki2/jena-fuseki-ui/pom.xml
+++ b/jena-fuseki2/jena-fuseki-ui/pom.xml
@@ -25,7 +25,7 @@
     <parent>
         <groupId>org.apache.jena</groupId>
         <artifactId>jena-fuseki</artifactId>
-        <version>5.0.0-SNAPSHOT</version>
+        <version>5.1.0-SNAPSHOT</version>
         <relativePath>..</relativePath>
     </parent>
 
diff --git a/jena-fuseki2/jena-fuseki-ui/src/components/dataset/Pagination.vue b/jena-fuseki2/jena-fuseki-ui/src/components/dataset/Pagination.vue
index 2c460a3..0375b78 100644
--- a/jena-fuseki2/jena-fuseki-ui/src/components/dataset/Pagination.vue
+++ b/jena-fuseki2/jena-fuseki-ui/src/components/dataset/Pagination.vue
@@ -16,110 +16,124 @@
 -->
 
 <template>
-  <div class="row g-0">
-    <div class="col-12">
-      <ul
-        role="menubar"
-        aria-disabled="false"
-        aria-label="Pagination"
-        class="pagination mb-2 mx-0 justify-content-center"
+  <ul
+    role="menubar"
+    aria-disabled="false"
+    aria-label="Pagination"
+    class="pagination flex-wrap mb-2 mx-0 p-0 justify-content-center"
+  >
+    <!-- pages backward controls -->
+    <li
+      :aria-hidden="isBackLinkAriaDisabled"
+      :class="getBackLinkClass('page-item')"
+      role="presentation"
+    >
+      <button
+        :aria-disabled="isBackLinkAriaDisabled"
+        :class="getBackLinkClass('page-link')"
+        @click="goToPage(1)"
+        type="button"
+        role="menuitem"
+        tabindex="-1"
+        aria-label="Go to first page"
       >
-        <!-- pages backward controls -->
-        <li
-          :aria-hidden="getBackLinkAriaDisabled()"
-          :class="getBackLinkClass('page-item')"
-          role="presentation"
-        >
-          <button
-            :aria-disabled="getBackLinkAriaDisabled()"
-            :class="getBackLinkClass('page-link')"
-            @click="goToPage(1)"
-            type="button"
-            role="menuitem"
-            tabindex="-1"
-            aria-label="Go to first page"
-          >
-            «
-          </button>
-        </li>
-        <li
-          :aria-hidden="getBackLinkAriaDisabled()"
-          :class="getBackLinkClass('page-item')"
-          role="presentation"
-        >
-          <button
-            :aria-disabled="getBackLinkAriaDisabled()"
-            :class="getBackLinkClass('page-link')"
-            @click="goToPage(currentPage - 1)"
-            type="button"
-            aria-label="Go to previous page"
-            role="menuitem"
-          >
-            ‹
-          </button>
-        </li>
-        <!-- pages -->
-        <li
-          v-for="page in numberOfPages"
-          :key="page"
-          role="presentation"
-          class="page-item"
-        >
-          <span
-            :aria-label="`Go to page ${ page }`"
-            :class="getPageLinkClass(page)"
-            :aria-checked="page === currentPage"
-            @click="goToPage(page)"
-            role="menuitemradio"
-            type="button"
-            aria-posinset="1"
-            aria-setsize="2"
-            tabindex="0"
-          >{{ page }}</span>
-        </li>
-        <!-- pages forward controls -->
-        <li
-          :aria-hidden="getNextLinkAriaDisabled()"
-          :class="getNextLinkClass('page-item')"
-          role="presentation"
-        >
-          <button
-            :aria-disabled="getNextLinkAriaDisabled()"
-            :class="getNextLinkClass('page-link')"
-            @click="goToPage(currentPage + 1)"
-            type="button"
-            role="menuitem"
-            aria-label="Go to last page"
-          >
-            ›
-          </button>
-        </li>
-        <li
-          :aria-hidden="getNextLinkAriaDisabled()"
-          :class="getNextLinkClass('page-item')"
-          role="presentation"
-        >
-          <button
-            :aria-disabled="getNextLinkAriaDisabled()"
-            :class="getNextLinkClass('page-link')"
-            @click="goToPage(numberOfPages)"
-            type="button"
-            role="menuitem"
-            aria-label="Go to next page"
-          >
-            »
-          </button>
-        </li>
-      </ul>
-    </div>
-  </div>
+        «
+      </button>
+    </li>
+    <li
+      :aria-hidden="isBackLinkAriaDisabled"
+      :class="getBackLinkClass('page-item')"
+      role="presentation"
+    >
+      <button
+        :aria-disabled="isBackLinkAriaDisabled"
+        :class="getBackLinkClass('page-link')"
+        @click="goToPage(currentPage - 1)"
+        type="button"
+        aria-label="Go to previous page"
+        role="menuitem"
+      >
+        ‹
+      </button>
+    </li>
+    <li
+      v-if="isBackSummaryEnabled"
+      role="presentation"
+      class="page-link page-summary-item"
+    >
+      <span>…</span>
+    </li>
+    <!-- pages -->
+    <li
+      v-for="page in pages"
+      :key="page"
+      role="presentation"
+      class="page-item"
+    >
+      <span
+        :aria-label="`Go to page ${ page }`"
+        :class="getPageLinkClass(page)"
+        :aria-checked="page === currentPage"
+        @click="goToPage(page)"
+        role="menuitemradio"
+        type="button"
+        aria-posinset="1"
+        aria-setsize="2"
+        tabindex="0"
+      >{{ page }}</span>
+    </li>
+    <!-- pages forward controls -->
+    <li
+      v-if="isAfterSummaryEnabled"
+      role="presentation"
+      class="page-link page-summary-item"
+    >
+      <span>…</span>
+    </li>
+    <li
+      :aria-hidden="isNextLinkAriaDisabled"
+      :class="getNextLinkClass('page-item')"
+      role="presentation"
+    >
+      <button
+        :aria-disabled="isNextLinkAriaDisabled"
+        :class="getNextLinkClass('page-link')"
+        @click="goToPage(currentPage + 1)"
+        type="button"
+        role="menuitem"
+        aria-label="Go to last page"
+      >
+        ›
+      </button>
+    </li>
+    <li
+      :aria-hidden="isNextLinkAriaDisabled"
+      :class="getNextLinkClass('page-item')"
+      role="presentation"
+    >
+      <button
+        :aria-disabled="isNextLinkAriaDisabled"
+        :class="getNextLinkClass('page-link')"
+        @click="goToPage(numberOfPages)"
+        type="button"
+        role="menuitem"
+        aria-label="Go to next page"
+      >
+        »
+      </button>
+    </li>
+  </ul>
 </template>
 
 <script>
+function range (size, startAt) {
+  return [...Array(size).keys()].map(i => i + startAt)
+}
+
 export default {
   name: 'Pagination',
 
-  prop: {
+  props: {
     totalRows: {
       type: Number,
       required: true
@@ -132,15 +146,48 @@
     perPage: {
       type: Number,
       default: 5
+    },
+    /* Maximum pages displayed. */
+    maxDisplayed: {
+      type: Number,
+      default: 5
     }
   },
 
   computed: {
     currentPage () {
-      return this.$attrs.value
+      return this.value
     },
     numberOfPages () {
-      return Math.ceil(this.$attrs['total-rows'] / this.$attrs['per-page']) || 0
+      return Math.ceil(this.totalRows / this.perPage) || 0
+    },
+    isSummaryEnabled () {
+      return this.numberOfPages > this.maxDisplayed
+    },
+    pages () {
+      if (this.totalRows === 0) {
+        return []
+      }
+      const toBeDisplayed = Math.min(this.maxDisplayed, this.numberOfPages)
+      if (!this.isBackSummaryEnabled) {
+        return range(toBeDisplayed, 1)
+      }
+      if (!this.isAfterSummaryEnabled) {
+        return range(toBeDisplayed, this.numberOfPages - (this.maxDisplayed - 1))
+      }
+      return range(toBeDisplayed, this.currentPage - Math.floor(this.maxDisplayed / 2))
+    },
+    isBackLinkAriaDisabled () {
+      return this.currentPage === 1 || this.numberOfPages === 0
+    },
+    isNextLinkAriaDisabled () {
+      return this.currentPage === this.numberOfPages || this.numberOfPages === 0
+    },
+    isBackSummaryEnabled () {
+      return this.isSummaryEnabled && this.currentPage - Math.ceil(this.maxDisplayed / 2) > 0
+    },
+    isAfterSummaryEnabled () {
+      return this.isSummaryEnabled && this.currentPage + Math.floor(this.maxDisplayed / 2) < this.numberOfPages
     }
   },
 
@@ -165,17 +212,11 @@
         disabled: this.currentPage === 1 || this.numberOfPages === 0
       }
     },
-    getBackLinkAriaDisabled () {
-      return this.currentPage === 1 || this.numberOfPages === 0
-    },
     getNextLinkClass (mainClass) {
       return {
         [mainClass]: true,
         disabled: this.currentPage === this.numberOfPages || this.numberOfPages === 0
       }
-    },
-    getNextLinkAriaDisabled () {
-      return this.currentPage === this.numberOfPages || this.numberOfPages === 0
     }
   }
 }
diff --git a/jena-fuseki2/jena-fuseki-ui/src/components/dataset/TableListing.vue b/jena-fuseki2/jena-fuseki-ui/src/components/dataset/TableListing.vue
index cb566ff..a0f1885 100644
--- a/jena-fuseki2/jena-fuseki-ui/src/components/dataset/TableListing.vue
+++ b/jena-fuseki2/jena-fuseki-ui/src/components/dataset/TableListing.vue
@@ -70,8 +70,8 @@
         </jena-table>
       </div>
     </div>
-    <div class="row g-0">
-      <div class="col-12">
+    <div class="row">
+      <div class="col-12 p-0">
         <pagination
           :value="currentPage"
           :per-page="perPage"
diff --git a/jena-fuseki2/jena-fuseki-ui/src/views/dataset/Info.vue b/jena-fuseki2/jena-fuseki-ui/src/views/dataset/Info.vue
index 286edc0..4e43adb 100644
--- a/jena-fuseki2/jena-fuseki-ui/src/views/dataset/Info.vue
+++ b/jena-fuseki2/jena-fuseki-ui/src/views/dataset/Info.vue
@@ -97,10 +97,11 @@
                           count triples in all graphs
                         </button>
                       </div>
-                      <jena-table
+                      <table-listing
                         :fields="countGraphFields"
                         :items="countGraphItems"
                         :busy="isDatasetSizeLoading"
+                        :filterable="false"
                         id="dataset-size-table"
                         class="mt-3"
                         bordered
@@ -118,7 +119,7 @@
                         <template #empty>
                           <span>No data</span>
                         </template>
-                      </jena-table>
+                      </table-listing>
                     </div>
                   </div>
                 </div>
@@ -168,11 +169,13 @@
 import currentDatasetMixinNavigationGuards from '@/mixins/current-dataset-navigation-guards'
 import { Popover } from 'bootstrap'
 import JenaTable from '@/components/dataset/JenaTable.vue'
+import TableListing from "@/components/dataset/TableListing.vue";
 
 export default {
   name: 'DatasetInfo',
 
   components: {
+    TableListing,
     JenaTable,
     Menu
   },
diff --git a/jena-fuseki2/jena-fuseki-ui/tests/e2e/specs/datasets.cy.js b/jena-fuseki2/jena-fuseki-ui/tests/e2e/specs/datasets.cy.js
index 6009103..e5be01a 100644
--- a/jena-fuseki2/jena-fuseki-ui/tests/e2e/specs/datasets.cy.js
+++ b/jena-fuseki2/jena-fuseki-ui/tests/e2e/specs/datasets.cy.js
@@ -300,7 +300,7 @@
         .should('be.visible')
       // Dataset Size displays no data by default.
       cy
-        .get('table#dataset-size-table > tbody > tr > td')
+        .get('#dataset-size-table * table > tbody > tr > td')
         .should('contain', 'No data')
       // Count the triples.
       cy
@@ -314,19 +314,19 @@
         .should('not.exist')
       // Now the table must have the new column header and body.
       cy
-        .get('table#dataset-size-table > thead > tr > th')
+        .get('#dataset-size-table * table > thead > tr > th')
         .eq(0)
         .should('contain', 'graph name')
       cy
-        .get('table#dataset-size-table > thead > tr > th')
+        .get('#dataset-size-table * table > thead > tr > th')
         .eq(1)
         .should('contain', 'triples')
       cy
-        .get('table#dataset-size-table > tbody > tr > td')
+        .get('#dataset-size-table * table > tbody > tr > td')
         .eq(0)
         .should('contain', 'default graph')
       cy
-        .get('table#dataset-size-table > tbody > tr > td')
+        .get('#dataset-size-table * table > tbody > tr > td')
         .eq(1)
         .should('contain', '42')
     })
diff --git a/jena-fuseki2/jena-fuseki-ui/tests/unit/components/dataset/pagination.vue.spec.js b/jena-fuseki2/jena-fuseki-ui/tests/unit/components/dataset/pagination.vue.spec.js
new file mode 100644
index 0000000..f71fd6b
--- /dev/null
+++ b/jena-fuseki2/jena-fuseki-ui/tests/unit/components/dataset/pagination.vue.spec.js
@@ -0,0 +1,125 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import {describe, expect, it} from 'vitest'
+import {mount} from '@vue/test-utils'
+import Pagination from '@/components/dataset/Pagination.vue'
+
+
+describe('Pagination', () => {
+  // Disabled first, disabled back, disabled next, disabled last.
+  const MINIMUM_PAGE_ITEMS = 4
+  /**
+   * @param options
+   * @returns {VueWrapper<Pagination>}
+   */
+  const mountFunction = options => {
+    return mount(Pagination, {
+      ...options,
+      global: {
+        mocks: {
+          $fusekiService: {}
+        }
+      }
+    })
+  }
+  it('works when there are no rows, no pages', () => {
+    const component = mountFunction({
+      propsData: {
+        totalRows: 0,
+        value: 0
+      }
+    })
+    expect(component.find('.pagination')).to.exist
+    expect(component.findAll('.page-item')).toHaveLength(MINIMUM_PAGE_ITEMS)
+    expect(component.findAll('.page-summary-item')).toHaveLength(0)
+  })
+  it('works when there is a single page', () => {
+    // Given we have a maximum of seven items, we test that it works
+    // as expected for 1 row, 2 rows, 3 rows, ..., 7 rows. For all
+    // these cases we must have the same number of pages in this
+    // Pagination component: just one.
+    const maxDisplayed = 7
+    for (let totalRows = 1; totalRows <= maxDisplayed; ++totalRows) {
+      const component = mountFunction({
+        propsData: {
+          totalRows: totalRows,
+          perPage: totalRows,
+          maxDisplayed: maxDisplayed,
+          value: 1
+        }
+      })
+      expect(component.find('.pagination')).to.exist
+      expect(component.findAll('.page-item')).toHaveLength(1 + MINIMUM_PAGE_ITEMS)
+      expect(component.findAll('.page-summary-item')).toHaveLength(0)
+    }
+  })
+  it('works when there is more than 1 page', () => {
+    // We display one item per page.
+    const perPage = 1
+    // We display a maximum of 1 page.
+    const maxDisplayed = 1
+    // We have 3 items (rows).
+    const totalRows = 3
+
+    // This covers all cases, with no back summary (...), with back and next summary, and with the next summary only.
+    for (let currentPage = 1; currentPage <= totalRows; ++currentPage) {
+      const component = mountFunction({
+        propsData: {
+          totalRows: totalRows,
+          perPage: perPage,
+          value: currentPage,
+          maxDisplayed: maxDisplayed
+        }
+      })
+      expect(component.find('.pagination')).to.exist
+      // We will display the maxDisplayed (2) plus the minimum page items.
+      expect(component.findAll('.page-item')).toHaveLength(maxDisplayed + MINIMUM_PAGE_ITEMS)
+      // For the first page we will display the back summary.
+      if (currentPage === 1) {
+        expect(component.findAll('.page-summary-item')).toHaveLength(1)
+      }
+      // The second page will show the summary for back and next.
+      if (currentPage === 2) {
+        expect(component.findAll('.page-summary-item')).toHaveLength(2)
+      }
+      // Lastly, the third page shows only the back summary.
+      if (currentPage === 3) {
+        expect(component.findAll('.page-summary-item')).toHaveLength(1)
+      }
+    }
+  })
+  it('fires an event when you go to another page', async () => {
+    const component = mountFunction({
+      propsData: {
+        totalRows: 1
+      }
+    })
+
+    const theAnswer = 42
+
+    component.vm.goToPage(theAnswer)
+
+    // Wait until $emits have been handled
+    await component.vm.$nextTick()
+
+    const inputEventsEmitted = component.emitted().input[0]
+    const singleEventEmitted = inputEventsEmitted[0]
+
+    expect(singleEventEmitted).toBe(theAnswer)
+  })
+})
diff --git a/jena-fuseki2/jena-fuseki-ui/vite.config.js b/jena-fuseki2/jena-fuseki-ui/vite.config.js
index b6c00e4..4c8bee2 100644
--- a/jena-fuseki2/jena-fuseki-ui/vite.config.js
+++ b/jena-fuseki2/jena-fuseki-ui/vite.config.js
@@ -16,6 +16,7 @@
  */
 
 import { defineConfig } from 'vite'
+import { configDefaults } from 'vitest/config'
 import vue from '@vitejs/plugin-vue'
 import istanbul from "vite-plugin-istanbul";
 const path = require("path")
@@ -27,7 +28,7 @@
     istanbul({
       include: "src/*",
       exclude: [
-        "node_modules",
+        "**/node_modules/**",
         "tests",
         "coverage",
         "src/services/mock/*"
@@ -53,6 +54,32 @@
     assetsDir: 'static',
     sourcemap: 'inline'
   },
+  test: {
+    globals: true,
+    environment: 'jsdom',
+    css: true,
+    mockReset: true,
+    restoreMocks: true,
+    clearMocks: true,
+    include: [
+      ...configDefaults.include,
+      './tests/unit/**/*.{test,spec}.{.js,ts,jsx,cjs}',
+    ],
+    exclude: [
+      ...configDefaults.exclude,
+      '**/node_modules/**',
+      '**/dist/**',
+      '**/cypress/**',
+      '**/.{idea,git,cache,output,temp}/**',
+    ],
+    coverage: {
+      all: false,
+      exclude: [
+        ...configDefaults.coverage.exclude,
+        '**/node_modules/**',
+      ]
+    }
+  },
   server: {
     // Default, can be overridden by `--port 1234` in package.json
     port: process.env.PORT || 8080,
diff --git a/jena-fuseki2/jena-fuseki-ui/yarn.lock b/jena-fuseki2/jena-fuseki-ui/yarn.lock
index d24e648..9159d79 100644
--- a/jena-fuseki2/jena-fuseki-ui/yarn.lock
+++ b/jena-fuseki2/jena-fuseki-ui/yarn.lock
@@ -858,19 +858,7 @@
   resolved "https://registry.yarnpkg.com/@streamparser/json/-/json-0.0.19.tgz#d9c264b54e366186ea4459bbb16c10238dc9e2a4"
   integrity sha512-VTxtZGME6ZSWNCSjZ0Zd2LNNodx62XvmARb/liHIwGlInuuvoDzioLuRP8ajV8iLBknsTrsqpRDGlvzKSzpNEw==
 
-"@types/chai-subset@^1.3.3":
-  version "1.3.5"
-  resolved "https://registry.yarnpkg.com/@types/chai-subset/-/chai-subset-1.3.5.tgz#3fc044451f26985f45625230a7f22284808b0a9a"
-  integrity sha512-c2mPnw+xHtXDoHmdtcCXGwyLMiauiAyxWMzhGpqHC4nqI/Y5G2XhTampslK2rb59kpcuHon03UH8W6iYUzw88A==
-  dependencies:
-    "@types/chai" "*"
-
-"@types/chai@*", "@types/chai@^4.3.5":
-  version "4.3.10"
-  resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.3.10.tgz#2ad2959d1767edee5b0e4efb1a0cd2b500747317"
-  integrity sha512-of+ICnbqjmFCiixUnqRulbylyXQrPqIGf/B3Jax1wIF3DvSheysQxAWvqHhZiW3IQrycvokcLcFQlveGp+vyNg==
-
-"@types/estree@1.0.5":
+"@types/estree@1.0.5", "@types/estree@^1.0.0":
   version "1.0.5"
   resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4"
   integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==
@@ -949,48 +937,49 @@
     picocolors "^1.0.0"
     std-env "^3.3.3"
 
-"@vitest/expect@0.34.6":
-  version "0.34.6"
-  resolved "https://registry.yarnpkg.com/@vitest/expect/-/expect-0.34.6.tgz#608a7b7a9aa3de0919db99b4cc087340a03ea77e"
-  integrity sha512-QUzKpUQRc1qC7qdGo7rMK3AkETI7w18gTCUrsNnyjjJKYiuUB9+TQK3QnR1unhCnWRC0AbKv2omLGQDF/mIjOw==
+"@vitest/expect@1.4.0":
+  version "1.4.0"
+  resolved "https://registry.yarnpkg.com/@vitest/expect/-/expect-1.4.0.tgz#d64e17838a20007fecd252397f9b96a1ca81bfb0"
+  integrity sha512-Jths0sWCJZ8BxjKe+p+eKsoqev1/T8lYcrjavEaz8auEJ4jAVY0GwW3JKmdVU4mmNPLPHixh4GNXP7GFtAiDHA==
   dependencies:
-    "@vitest/spy" "0.34.6"
-    "@vitest/utils" "0.34.6"
+    "@vitest/spy" "1.4.0"
+    "@vitest/utils" "1.4.0"
     chai "^4.3.10"
 
-"@vitest/runner@0.34.6":
-  version "0.34.6"
-  resolved "https://registry.yarnpkg.com/@vitest/runner/-/runner-0.34.6.tgz#6f43ca241fc96b2edf230db58bcde5b974b8dcaf"
-  integrity sha512-1CUQgtJSLF47NnhN+F9X2ycxUP0kLHQ/JWvNHbeBfwW8CzEGgeskzNnHDyv1ieKTltuR6sdIHV+nmR6kPxQqzQ==
+"@vitest/runner@1.4.0":
+  version "1.4.0"
+  resolved "https://registry.yarnpkg.com/@vitest/runner/-/runner-1.4.0.tgz#907c2d17ad5975b70882c25ab7a13b73e5a28da9"
+  integrity sha512-EDYVSmesqlQ4RD2VvWo3hQgTJ7ZrFQ2VSJdfiJiArkCerDAGeyF1i6dHkmySqk573jLp6d/cfqCN+7wUB5tLgg==
   dependencies:
-    "@vitest/utils" "0.34.6"
-    p-limit "^4.0.0"
+    "@vitest/utils" "1.4.0"
+    p-limit "^5.0.0"
     pathe "^1.1.1"
 
-"@vitest/snapshot@0.34.6":
-  version "0.34.6"
-  resolved "https://registry.yarnpkg.com/@vitest/snapshot/-/snapshot-0.34.6.tgz#b4528cf683b60a3e8071cacbcb97d18b9d5e1d8b"
-  integrity sha512-B3OZqYn6k4VaN011D+ve+AA4whM4QkcwcrwaKwAbyyvS/NB1hCWjFIBQxAQQSQir9/RtyAAGuq+4RJmbn2dH4w==
+"@vitest/snapshot@1.4.0":
+  version "1.4.0"
+  resolved "https://registry.yarnpkg.com/@vitest/snapshot/-/snapshot-1.4.0.tgz#2945b3fb53767a3f4f421919e93edfef2935b8bd"
+  integrity sha512-saAFnt5pPIA5qDGxOHxJ/XxhMFKkUSBJmVt5VgDsAqPTX6JP326r5C/c9UuCMPoXNzuudTPsYDZCoJ5ilpqG2A==
   dependencies:
-    magic-string "^0.30.1"
+    magic-string "^0.30.5"
     pathe "^1.1.1"
-    pretty-format "^29.5.0"
+    pretty-format "^29.7.0"
 
-"@vitest/spy@0.34.6":
-  version "0.34.6"
-  resolved "https://registry.yarnpkg.com/@vitest/spy/-/spy-0.34.6.tgz#b5e8642a84aad12896c915bce9b3cc8cdaf821df"
-  integrity sha512-xaCvneSaeBw/cz8ySmF7ZwGvL0lBjfvqc1LpQ/vcdHEvpLn3Ff1vAvjw+CoGn0802l++5L/pxb7whwcWAw+DUQ==
+"@vitest/spy@1.4.0":
+  version "1.4.0"
+  resolved "https://registry.yarnpkg.com/@vitest/spy/-/spy-1.4.0.tgz#cf953c93ae54885e801cbe6b408a547ae613f26c"
+  integrity sha512-Ywau/Qs1DzM/8Uc+yA77CwSegizMlcgTJuYGAi0jujOteJOUf1ujunHThYo243KG9nAyWT3L9ifPYZ5+As/+6Q==
   dependencies:
-    tinyspy "^2.1.1"
+    tinyspy "^2.2.0"
 
-"@vitest/utils@0.34.6":
-  version "0.34.6"
-  resolved "https://registry.yarnpkg.com/@vitest/utils/-/utils-0.34.6.tgz#38a0a7eedddb8e7291af09a2409cb8a189516968"
-  integrity sha512-IG5aDD8S6zlvloDsnzHw0Ut5xczlF+kv2BOTo+iXfPr54Yhi5qbVOgGB1hZaVq4iJ4C/MZ2J0y15IlsV/ZcI0A==
+"@vitest/utils@1.4.0":
+  version "1.4.0"
+  resolved "https://registry.yarnpkg.com/@vitest/utils/-/utils-1.4.0.tgz#ea6297e0d329f9ff0a106f4e1f6daf3ff6aad3f0"
+  integrity sha512-mx3Yd1/6e2Vt/PUC98DcqTirtfxUyAZ32uK82r8rZzbtBeBo+nqgnjx/LvqQdWsrvNtm14VmurNgcf4nqY5gJg==
   dependencies:
-    diff-sequences "^29.4.3"
-    loupe "^2.3.6"
-    pretty-format "^29.5.0"
+    diff-sequences "^29.6.3"
+    estree-walker "^3.0.3"
+    loupe "^2.3.7"
+    pretty-format "^29.7.0"
 
 "@vue/compat@^3.3.6":
   version "3.4.21"
@@ -1098,12 +1087,12 @@
   integrity sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==
 
 "@vue/test-utils@^2.4.1":
-  version "2.4.4"
-  resolved "https://registry.yarnpkg.com/@vue/test-utils/-/test-utils-2.4.4.tgz#36ba31f90332fb25a5ab2e553652c21d33057094"
-  integrity sha512-8jkRxz8pNhClAf4Co4ZrpAoFISdvT3nuSkUlY6Ys6rmTpw3DMWG/X3mw3gQ7QJzgCZO9f+zuE2kW57fi09MW7Q==
+  version "2.4.5"
+  resolved "https://registry.yarnpkg.com/@vue/test-utils/-/test-utils-2.4.5.tgz#010aa4debe6602d83dc75f233b397092742105a2"
+  integrity sha512-oo2u7vktOyKUked36R93NB7mg2B+N7Plr8lxp2JBGwr18ch6EggFjixSCdIVVLkT6Qr0z359Xvnafc9dcKyDUg==
   dependencies:
     js-beautify "^1.14.9"
-    vue-component-type-helpers "^1.8.21"
+    vue-component-type-helpers "^2.0.0"
 
 "@zazuko/yasgui-utils@^4.2.34":
   version "4.2.34"
@@ -1177,10 +1166,10 @@
   resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
   integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
 
-acorn-walk@^8.2.0:
-  version "8.3.0"
-  resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.0.tgz#2097665af50fd0cf7a2dfccd2b9368964e66540f"
-  integrity sha512-FS7hV565M5l1R08MXqo8odwMTB02C2UqzB17RVgu9EyuYFBqJZ3/ZY97sQD5FewVu1UyDFc1yztUDrAwT0EypA==
+acorn-walk@^8.3.2:
+  version "8.3.2"
+  resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.2.tgz#7703af9415f1b6db9315d6895503862e231d34aa"
+  integrity sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==
 
 acorn@^8.10.0, acorn@^8.9.0:
   version "8.11.2"
@@ -1431,11 +1420,11 @@
   integrity sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==
 
 axios@^1.6.1:
-  version "1.6.7"
-  resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.7.tgz#7b48c2e27c96f9c68a2f8f31e2ab19f59b06b0a7"
-  integrity sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==
+  version "1.6.8"
+  resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.8.tgz#66d294951f5d988a00e87a0ffb955316a619ea66"
+  integrity sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==
   dependencies:
-    follow-redirects "^1.15.4"
+    follow-redirects "^1.15.6"
     form-data "^4.0.0"
     proxy-from-env "^1.1.0"
 
@@ -2014,9 +2003,9 @@
     debug "^4.3.4"
 
 cypress@^13.3.2:
-  version "13.6.6"
-  resolved "https://registry.yarnpkg.com/cypress/-/cypress-13.6.6.tgz#5133f231ed1c6e57dc8dcbf60aade220bcd6884b"
-  integrity sha512-S+2S9S94611hXimH9a3EAYt81QM913ZVA03pUmGDfLTFa5gyp85NJ8dJGSlEAEmyRsYkioS1TtnWtbv/Fzt11A==
+  version "13.7.0"
+  resolved "https://registry.yarnpkg.com/cypress/-/cypress-13.7.0.tgz#19e53c0bd6eca5e3bde0d6ac9e98fbf1782e3a9e"
+  integrity sha512-UimjRSJJYdTlvkChcdcfywKJ6tUYuwYuk/n1uMMglrvi+ZthNhoRYcxnWgTqUtkl17fXrPAsD5XT2rcQYN1xKA==
   dependencies:
     "@cypress/request" "^3.0.0"
     "@cypress/xvfb" "^1.2.4"
@@ -2223,7 +2212,7 @@
     asap "^2.0.0"
     wrappy "1"
 
-diff-sequences@^29.4.3:
+diff-sequences@^29.6.3:
   version "29.6.3"
   resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.6.3.tgz#4deaf894d11407c51efc8418012f9e70b84ea921"
   integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==
@@ -2293,9 +2282,9 @@
   integrity sha512-6uhqWBIapTJUxgPTCHH9sqdbxIMPt7oXl0VcAL1kOtlU6aECdcMncCrX5Z7sHQ/invtrC9jUQUef7+HhO8vVFw==
 
 electron-to-chromium@^1.4.668:
-  version "1.4.699"
-  resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.699.tgz#dd53c939e13da64e94b341e563f0a3011b4ef0e9"
-  integrity sha512-I7q3BbQi6e4tJJN5CRcyvxhK0iJb34TV8eJQcgh+fR2fQ8miMgZcEInckCo1U9exDHbfz7DLDnFn8oqH/VcRKw==
+  version "1.4.702"
+  resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.702.tgz#a05803c5a1a54f5eb727ce6a922a5923ef436261"
+  integrity sha512-LYLXyEUsZ3nNSwiOWjI88N1PJUAMU2QphQSgGLVkFnb3FxZxNui2Vzi2PaKPgPWbsWbZstZnh6BMf/VQJamjiQ==
 
 emoji-regex@^8.0.0:
   version "8.0.0"
@@ -2581,9 +2570,9 @@
   integrity sha512-eSIXPc9wBM4BrniMzJRBm2uoVuXz2EPa+NXPk2+itrVt+r5SbKFERx/IgrK/HmfjddyKVz2f+j+7gBRvu19xLg==
 
 eslint-plugin-vue@^9.17.0:
-  version "9.22.0"
-  resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-9.22.0.tgz#e8a625adb0b6ce3b65635dd74fec8345146f8e26"
-  integrity sha512-7wCXv5zuVnBtZE/74z4yZ0CM8AjH6bk4MQGm7hZjUC2DBppKU5ioeOk5LGSg/s9a1ZJnIsdPLJpXnu1Rc+cVHg==
+  version "9.23.0"
+  resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-9.23.0.tgz#1354a33b0cd21e0cb373557ff73c5d7a6698fbcd"
+  integrity sha512-Bqd/b7hGYGrlV+wP/g77tjyFmp81lh5TMw0be9093X02SyelxRRfCI6/IsGq/J7Um0YwB9s0Ry0wlFyjPdmtUw==
   dependencies:
     "@eslint-community/eslint-utils" "^4.4.0"
     natural-compare "^1.4.0"
@@ -2726,6 +2715,13 @@
   resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac"
   integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==
 
+estree-walker@^3.0.3:
+  version "3.0.3"
+  resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-3.0.3.tgz#67c3e549ec402a487b4fc193d1953a524752340d"
+  integrity sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==
+  dependencies:
+    "@types/estree" "^1.0.0"
+
 esutils@^2.0.2:
   version "2.0.3"
   resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
@@ -2766,6 +2762,21 @@
     signal-exit "^3.0.2"
     strip-final-newline "^2.0.0"
 
+execa@^8.0.1:
+  version "8.0.1"
+  resolved "https://registry.yarnpkg.com/execa/-/execa-8.0.1.tgz#51f6a5943b580f963c3ca9c6321796db8cc39b8c"
+  integrity sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==
+  dependencies:
+    cross-spawn "^7.0.3"
+    get-stream "^8.0.1"
+    human-signals "^5.0.0"
+    is-stream "^3.0.0"
+    merge-stream "^2.0.0"
+    npm-run-path "^5.1.0"
+    onetime "^6.0.0"
+    signal-exit "^4.1.0"
+    strip-final-newline "^3.0.0"
+
 executable@^4.1.1:
   version "4.1.1"
   resolved "https://registry.yarnpkg.com/executable/-/executable-4.1.1.tgz#41532bff361d3e57af4d763b70582db18f5d133c"
@@ -2967,10 +2978,10 @@
   resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.9.tgz#7eb4c67ca1ba34232ca9d2d93e9886e611ad7daf"
   integrity sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==
 
-follow-redirects@^1.15.4:
-  version "1.15.5"
-  resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.5.tgz#54d4d6d062c0fa7d9d17feb008461550e3ba8020"
-  integrity sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==
+follow-redirects@^1.15.4, follow-redirects@^1.15.6:
+  version "1.15.6"
+  resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.6.tgz#7f815c0cda4249c74ff09e95ef97c23b5fd0399b"
+  integrity sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==
 
 for-each@^0.3.3:
   version "0.3.3"
@@ -3131,6 +3142,11 @@
   dependencies:
     pump "^3.0.0"
 
+get-stream@^8.0.1:
+  version "8.0.1"
+  resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-8.0.1.tgz#def9dfd71742cd7754a7761ed43749a27d02eca2"
+  integrity sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==
+
 get-symbol-description@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6"
@@ -3357,6 +3373,11 @@
   resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3"
   integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==
 
+human-signals@^5.0.0:
+  version "5.0.0"
+  resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-5.0.0.tgz#42665a284f9ae0dade3ba41ebc37eb4b852f3a28"
+  integrity sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==
+
 iconv-lite@0.4.24:
   version "0.4.24"
   resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
@@ -3580,6 +3601,11 @@
   resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077"
   integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==
 
+is-stream@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac"
+  integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==
+
 is-string@^1.0.5, is-string@^1.0.7:
   version "1.0.7"
   resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd"
@@ -3759,6 +3785,11 @@
   resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
   integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
 
+js-tokens@^8.0.2:
+  version "8.0.3"
+  resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-8.0.3.tgz#1c407ec905643603b38b6be6977300406ec48775"
+  integrity sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==
+
 js-yaml@4.1.0, js-yaml@^4.1.0:
   version "4.1.0"
   resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602"
@@ -3943,10 +3974,13 @@
     through "^2.3.8"
     wrap-ansi "^7.0.0"
 
-local-pkg@^0.4.3:
-  version "0.4.3"
-  resolved "https://registry.yarnpkg.com/local-pkg/-/local-pkg-0.4.3.tgz#0ff361ab3ae7f1c19113d9bb97b98b905dbc4963"
-  integrity sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==
+local-pkg@^0.5.0:
+  version "0.5.0"
+  resolved "https://registry.yarnpkg.com/local-pkg/-/local-pkg-0.5.0.tgz#093d25a346bae59a99f80e75f6e9d36d7e8c925c"
+  integrity sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==
+  dependencies:
+    mlly "^1.4.2"
+    pkg-types "^1.0.3"
 
 locate-path@^5.0.0:
   version "5.0.0"
@@ -4015,7 +4049,7 @@
     slice-ansi "^4.0.0"
     wrap-ansi "^6.2.0"
 
-loupe@^2.3.6:
+loupe@^2.3.6, loupe@^2.3.7:
   version "2.3.7"
   resolved "https://registry.yarnpkg.com/loupe/-/loupe-2.3.7.tgz#6e69b7d4db7d3ab436328013d37d1c8c3540c697"
   integrity sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==
@@ -4052,14 +4086,7 @@
   resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.1.0.tgz#2098d41c2dc56500e6c88584aa656c84de7d0484"
   integrity sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==
 
-magic-string@^0.30.1:
-  version "0.30.5"
-  resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.5.tgz#1994d980bd1c8835dc6e78db7cbd4ae4f24746f9"
-  integrity sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==
-  dependencies:
-    "@jridgewell/sourcemap-codec" "^1.4.15"
-
-magic-string@^0.30.7:
+magic-string@^0.30.1, magic-string@^0.30.5, magic-string@^0.30.7:
   version "0.30.8"
   resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.8.tgz#14e8624246d2bedba70d5462aa99ac9681844613"
   integrity sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==
@@ -4150,6 +4177,11 @@
   resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
   integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
 
+mimic-fn@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc"
+  integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==
+
 minimatch@9.0.1:
   version "9.0.1"
   resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.1.tgz#8a555f541cf976c622daf078bb28f29fb927c253"
@@ -4186,7 +4218,7 @@
   resolved "https://registry.yarnpkg.com/mitt/-/mitt-3.0.1.tgz#ea36cf0cc30403601ae074c8f77b7092cdab36d1"
   integrity sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==
 
-mlly@^1.2.0, mlly@^1.4.0:
+mlly@^1.2.0:
   version "1.4.2"
   resolved "https://registry.yarnpkg.com/mlly/-/mlly-1.4.2.tgz#7cf406aa319ff6563d25da6b36610a93f2a8007e"
   integrity sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==
@@ -4196,6 +4228,16 @@
     pkg-types "^1.0.3"
     ufo "^1.3.0"
 
+mlly@^1.4.2:
+  version "1.6.1"
+  resolved "https://registry.yarnpkg.com/mlly/-/mlly-1.6.1.tgz#0983067dc3366d6314fc5e12712884e6978d028f"
+  integrity sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==
+  dependencies:
+    acorn "^8.11.3"
+    pathe "^1.1.2"
+    pkg-types "^1.0.3"
+    ufo "^1.3.2"
+
 morgan@^1.10.0:
   version "1.10.0"
   resolved "https://registry.yarnpkg.com/morgan/-/morgan-1.10.0.tgz#091778abc1fc47cd3509824653dae1faab6b17d7"
@@ -4320,6 +4362,13 @@
   dependencies:
     path-key "^3.0.0"
 
+npm-run-path@^5.1.0:
+  version "5.3.0"
+  resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-5.3.0.tgz#e23353d0ebb9317f174e93417e4a4d82d0249e9f"
+  integrity sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==
+  dependencies:
+    path-key "^4.0.0"
+
 nth-check@^2.1.1:
   version "2.1.1"
   resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d"
@@ -4451,6 +4500,13 @@
   dependencies:
     mimic-fn "^2.1.0"
 
+onetime@^6.0.0:
+  version "6.0.0"
+  resolved "https://registry.yarnpkg.com/onetime/-/onetime-6.0.0.tgz#7c24c18ed1fd2e9bca4bd26806a33613c77d34b4"
+  integrity sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==
+  dependencies:
+    mimic-fn "^4.0.0"
+
 optionator@^0.9.3:
   version "0.9.3"
   resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64"
@@ -4482,10 +4538,10 @@
   dependencies:
     yocto-queue "^0.1.0"
 
-p-limit@^4.0.0:
-  version "4.0.0"
-  resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-4.0.0.tgz#914af6544ed32bfa54670b061cafcbd04984b644"
-  integrity sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==
+p-limit@^5.0.0:
+  version "5.0.0"
+  resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-5.0.0.tgz#6946d5b7140b649b7a33a027d89b4c625b3a5985"
+  integrity sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==
   dependencies:
     yocto-queue "^1.0.0"
 
@@ -4571,6 +4627,11 @@
   resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
   integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
 
+path-key@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/path-key/-/path-key-4.0.0.tgz#295588dc3aee64154f877adb9d780b81c554bf18"
+  integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==
+
 path-parse@^1.0.7:
   version "1.0.7"
   resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
@@ -4601,10 +4662,10 @@
   resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
   integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
 
-pathe@^1.1.0, pathe@^1.1.1:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/pathe/-/pathe-1.1.1.tgz#1dd31d382b974ba69809adc9a7a347e65d84829a"
-  integrity sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==
+pathe@^1.1.0, pathe@^1.1.1, pathe@^1.1.2:
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/pathe/-/pathe-1.1.2.tgz#6c4cb47a945692e48a1ddd6e4094d170516437ec"
+  integrity sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==
 
 pathval@^1.1.1:
   version "1.1.1"
@@ -4696,7 +4757,7 @@
   resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb"
   integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==
 
-pretty-format@^29.5.0:
+pretty-format@^29.7.0:
   version "29.7.0"
   resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.7.0.tgz#ca42c758310f365bfa71a0bda0a807160b776812"
   integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==
@@ -5010,9 +5071,9 @@
   integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
 
 sass@^1.69.4:
-  version "1.71.1"
-  resolved "https://registry.yarnpkg.com/sass/-/sass-1.71.1.tgz#dfb09c63ce63f89353777bbd4a88c0a38386ee54"
-  integrity sha512-wovtnV2PxzteLlfNzbgm1tFXPLoZILYAMJtvoXXkD7/+1uP41eKkIt1ypWq5/q2uT94qHjXehEYfmjKOvjL9sg==
+  version "1.72.0"
+  resolved "https://registry.yarnpkg.com/sass/-/sass-1.72.0.tgz#5b9978943fcfb32b25a6a5acb102fc9dabbbf41c"
+  integrity sha512-Gpczt3WA56Ly0Mn8Sl21Vj94s1axi9hDIzDFn9Ph9x3C3p4nNyvsqJoQyVXKou6cBlfFWEgRW4rT8Tb4i3XnVA==
   dependencies:
     chokidar ">=3.0.0 <4.0.0"
     immutable "^4.0.0"
@@ -5144,7 +5205,7 @@
   resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9"
   integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==
 
-signal-exit@^4.0.1:
+signal-exit@^4.0.1, signal-exit@^4.1.0:
   version "4.1.0"
   resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04"
   integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==
@@ -5258,10 +5319,10 @@
   resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63"
   integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==
 
-std-env@^3.3.3:
-  version "3.4.3"
-  resolved "https://registry.yarnpkg.com/std-env/-/std-env-3.4.3.tgz#326f11db518db751c83fd58574f449b7c3060910"
-  integrity sha512-f9aPhy8fYBuMN+sNfakZV18U39PbalgjXG3lLB9WkaYTxijru61wb57V9wxxNthXM5Sd88ETBWi29qLAsHO52Q==
+std-env@^3.3.3, std-env@^3.5.0:
+  version "3.7.0"
+  resolved "https://registry.yarnpkg.com/std-env/-/std-env-3.7.0.tgz#c9f7386ced6ecf13360b6c6c55b8aaa4ef7481d2"
+  integrity sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==
 
 steno@^0.4.1:
   version "0.4.4"
@@ -5366,17 +5427,22 @@
   resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad"
   integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==
 
+strip-final-newline@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd"
+  integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==
+
 strip-json-comments@^3.1.1:
   version "3.1.1"
   resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
   integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
 
-strip-literal@^1.0.1:
-  version "1.3.0"
-  resolved "https://registry.yarnpkg.com/strip-literal/-/strip-literal-1.3.0.tgz#db3942c2ec1699e6836ad230090b84bb458e3a07"
-  integrity sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==
+strip-literal@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/strip-literal/-/strip-literal-2.0.0.tgz#5d063580933e4e03ebb669b12db64d2200687527"
+  integrity sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==
   dependencies:
-    acorn "^8.10.0"
+    js-tokens "^8.0.2"
 
 superagent@^8.1.2:
   version "8.1.2"
@@ -5449,20 +5515,20 @@
   resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
   integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==
 
-tinybench@^2.5.0:
-  version "2.5.1"
-  resolved "https://registry.yarnpkg.com/tinybench/-/tinybench-2.5.1.tgz#3408f6552125e53a5a48adee31261686fd71587e"
-  integrity sha512-65NKvSuAVDP/n4CqH+a9w2kTlLReS9vhsAP06MWx+/89nMinJyB2icyl58RIcqCmIggpojIGeuJGhjU1aGMBSg==
+tinybench@^2.5.1:
+  version "2.6.0"
+  resolved "https://registry.yarnpkg.com/tinybench/-/tinybench-2.6.0.tgz#1423284ee22de07c91b3752c048d2764714b341b"
+  integrity sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==
 
-tinypool@^0.7.0:
-  version "0.7.0"
-  resolved "https://registry.yarnpkg.com/tinypool/-/tinypool-0.7.0.tgz#88053cc99b4a594382af23190c609d93fddf8021"
-  integrity sha512-zSYNUlYSMhJ6Zdou4cJwo/p7w5nmAH17GRfU/ui3ctvjXFErXXkruT4MWW6poDeXgCaIBlGLrfU6TbTXxyGMww==
+tinypool@^0.8.2:
+  version "0.8.2"
+  resolved "https://registry.yarnpkg.com/tinypool/-/tinypool-0.8.2.tgz#84013b03dc69dacb322563a475d4c0a9be00f82a"
+  integrity sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==
 
-tinyspy@^2.1.1:
-  version "2.2.0"
-  resolved "https://registry.yarnpkg.com/tinyspy/-/tinyspy-2.2.0.tgz#9dc04b072746520b432f77ea2c2d17933de5d6ce"
-  integrity sha512-d2eda04AN/cPOR89F7Xv5bK/jrQEhmcLFe6HFldoeO9AJtps+fqEnh486vnT/8y4bw38pSyxDcTCAq+Ks2aJTg==
+tinyspy@^2.2.0:
+  version "2.2.1"
+  resolved "https://registry.yarnpkg.com/tinyspy/-/tinyspy-2.2.1.tgz#117b2342f1f38a0dbdcc73a50a454883adf861d1"
+  integrity sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==
 
 tmp@~0.2.1:
   version "0.2.1"
@@ -5630,6 +5696,11 @@
   resolved "https://registry.yarnpkg.com/ufo/-/ufo-1.3.1.tgz#e085842f4627c41d4c1b60ebea1f75cdab4ce86b"
   integrity sha512-uY/99gMLIOlJPwATcMVYfqDSxUR9//AUcgZMzwfSTJPDKzA1S8mX4VLqa+fiAtveraQUBCz4FFcwVZBGbwBXIw==
 
+ufo@^1.3.2:
+  version "1.4.0"
+  resolved "https://registry.yarnpkg.com/ufo/-/ufo-1.4.0.tgz#39845b31be81b4f319ab1d99fd20c56cac528d32"
+  integrity sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==
+
 unbox-primitive@^1.0.2:
   version "1.0.2"
   resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e"
@@ -5731,17 +5802,16 @@
     core-util-is "1.0.2"
     extsprintf "^1.2.0"
 
-vite-node@0.34.6:
-  version "0.34.6"
-  resolved "https://registry.yarnpkg.com/vite-node/-/vite-node-0.34.6.tgz#34d19795de1498562bf21541a58edcd106328a17"
-  integrity sha512-nlBMJ9x6n7/Amaz6F3zJ97EBwR2FkzhBRxF5e+jE6LA3yi6Wtc2lyTij1OnDMIr34v5g/tVQtsVAzhT0jc5ygA==
+vite-node@1.4.0:
+  version "1.4.0"
+  resolved "https://registry.yarnpkg.com/vite-node/-/vite-node-1.4.0.tgz#265529d60570ca695ceb69391f87f92847934ad8"
+  integrity sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==
   dependencies:
     cac "^6.7.14"
     debug "^4.3.4"
-    mlly "^1.4.0"
     pathe "^1.1.1"
     picocolors "^1.0.0"
-    vite "^3.0.0 || ^4.0.0 || ^5.0.0-0"
+    vite "^5.0.0"
 
 vite-plugin-istanbul@^6.0.0:
   version "6.0.0"
@@ -5755,10 +5825,10 @@
     source-map "^0.7.4"
     test-exclude "^6.0.0"
 
-"vite@^3.0.0 || ^4.0.0 || ^5.0.0-0", "vite@^3.1.0 || ^4.0.0 || ^5.0.0-0", vite@^5.0.12:
-  version "5.1.5"
-  resolved "https://registry.yarnpkg.com/vite/-/vite-5.1.5.tgz#bdbc2b15e8000d9cc5172f059201178f9c9de5fb"
-  integrity sha512-BdN1xh0Of/oQafhU+FvopafUp6WaYenLU/NFoL5WyJL++GxkNfieKzBhM24H3HVsPQrlAqB7iJYTHabzaRed5Q==
+vite@^5.0.0, vite@^5.0.12:
+  version "5.1.6"
+  resolved "https://registry.yarnpkg.com/vite/-/vite-5.1.6.tgz#706dae5fab9e97f57578469eef1405fc483943e4"
+  integrity sha512-yYIAZs9nVfRJ/AiOLCA91zzhjsHUgMjB+EigzFb6W2XTLO8JixBCKCjvhKZaye+NKYHCrkv3Oh50dH9EdLU2RA==
   dependencies:
     esbuild "^0.19.3"
     postcss "^8.4.35"
@@ -5766,40 +5836,36 @@
   optionalDependencies:
     fsevents "~2.3.3"
 
-vitest@^0.34.6:
-  version "0.34.6"
-  resolved "https://registry.yarnpkg.com/vitest/-/vitest-0.34.6.tgz#44880feeeef493c04b7f795ed268f24a543250d7"
-  integrity sha512-+5CALsOvbNKnS+ZHMXtuUC7nL8/7F1F2DnHGjSsszX8zCjWSSviphCb/NuS9Nzf4Q03KyyDRBAXhF/8lffME4Q==
+vitest@^1.3.1:
+  version "1.4.0"
+  resolved "https://registry.yarnpkg.com/vitest/-/vitest-1.4.0.tgz#f5c812aaf5023818b89b7fc667fa45327396fece"
+  integrity sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==
   dependencies:
-    "@types/chai" "^4.3.5"
-    "@types/chai-subset" "^1.3.3"
-    "@types/node" "*"
-    "@vitest/expect" "0.34.6"
-    "@vitest/runner" "0.34.6"
-    "@vitest/snapshot" "0.34.6"
-    "@vitest/spy" "0.34.6"
-    "@vitest/utils" "0.34.6"
-    acorn "^8.9.0"
-    acorn-walk "^8.2.0"
-    cac "^6.7.14"
+    "@vitest/expect" "1.4.0"
+    "@vitest/runner" "1.4.0"
+    "@vitest/snapshot" "1.4.0"
+    "@vitest/spy" "1.4.0"
+    "@vitest/utils" "1.4.0"
+    acorn-walk "^8.3.2"
     chai "^4.3.10"
     debug "^4.3.4"
-    local-pkg "^0.4.3"
-    magic-string "^0.30.1"
+    execa "^8.0.1"
+    local-pkg "^0.5.0"
+    magic-string "^0.30.5"
     pathe "^1.1.1"
     picocolors "^1.0.0"
-    std-env "^3.3.3"
-    strip-literal "^1.0.1"
-    tinybench "^2.5.0"
-    tinypool "^0.7.0"
-    vite "^3.1.0 || ^4.0.0 || ^5.0.0-0"
-    vite-node "0.34.6"
+    std-env "^3.5.0"
+    strip-literal "^2.0.0"
+    tinybench "^2.5.1"
+    tinypool "^0.8.2"
+    vite "^5.0.0"
+    vite-node "1.4.0"
     why-is-node-running "^2.2.2"
 
-vue-component-type-helpers@^1.8.21:
-  version "1.8.27"
-  resolved "https://registry.yarnpkg.com/vue-component-type-helpers/-/vue-component-type-helpers-1.8.27.tgz#e816c82dcffac8bca58833c120ba395c325dfa68"
-  integrity sha512-0vOfAtI67UjeO1G6UiX5Kd76CqaQ67wrRZiOe7UAb9Jm6GzlUr/fC7CV90XfwapJRjpCMaZFhv1V0ajWRmE9Dg==
+vue-component-type-helpers@^2.0.0:
+  version "2.0.6"
+  resolved "https://registry.yarnpkg.com/vue-component-type-helpers/-/vue-component-type-helpers-2.0.6.tgz#41737970f70841bc1b82391afa364da0f4ee2d76"
+  integrity sha512-qdGXCtoBrwqk1BT6r2+1Wcvl583ZVkuSZ3or7Y1O2w5AvWtlvvxwjGhmz5DdPJS9xqRdDlgTJ/38ehWnEi0tFA==
 
 vue-eslint-parser@^9.4.2:
   version "9.4.2"
@@ -5822,9 +5888,9 @@
     "@vue/devtools-api" "^6.5.1"
 
 vue-upload-component@^3.1.8:
-  version "3.1.8"
-  resolved "https://registry.yarnpkg.com/vue-upload-component/-/vue-upload-component-3.1.8.tgz#6c79aaf3c34c596ec40bbdde0f625d4855fb275a"
-  integrity sha512-8LHCrgmEZPg+1hbkKjQgMce2uasmGLEnIsLE8YG+vNyfNDuaQA71T+5t6kdDSG/szeh+E8mjb26uEd9WkVSFtg==
+  version "3.1.15"
+  resolved "https://registry.yarnpkg.com/vue-upload-component/-/vue-upload-component-3.1.15.tgz#9bc5f2f11846f7f1d2852b3ad861b4e77f01d5ef"
+  integrity sha512-3jHUS2ZqxlV/ez+gxfWJ9CJUPknXErCyJdPlwbiRJPHvpIoj0bo+1SlZ4QJBdt6vHTTUx8He1pUoGw0uxsCvKQ==
 
 vue@^3.3.6:
   version "3.4.21"
diff --git a/jena-fuseki2/jena-fuseki-war/pom.xml b/jena-fuseki2/jena-fuseki-war/pom.xml
index 37a1a5d..cd30b4d 100644
--- a/jena-fuseki2/jena-fuseki-war/pom.xml
+++ b/jena-fuseki2/jena-fuseki-war/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <groupId>org.apache.jena</groupId>
     <artifactId>jena-fuseki</artifactId>
-    <version>5.0.0-SNAPSHOT</version>
+    <version>5.1.0-SNAPSHOT</version>
     <relativePath>..</relativePath>
   </parent> 
 
diff --git a/jena-fuseki2/jena-fuseki-webapp/pom.xml b/jena-fuseki2/jena-fuseki-webapp/pom.xml
index eed0259..30db692 100644
--- a/jena-fuseki2/jena-fuseki-webapp/pom.xml
+++ b/jena-fuseki2/jena-fuseki-webapp/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <groupId>org.apache.jena</groupId>
     <artifactId>jena-fuseki</artifactId>
-    <version>5.0.0-SNAPSHOT</version>
+    <version>5.1.0-SNAPSHOT</version>
     <relativePath>../</relativePath>
   </parent>
 
@@ -38,13 +38,13 @@
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-fuseki-core</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
     </dependency>
 
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-fuseki-core</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
       <classifier>tests</classifier>
       <scope>test</scope>
     </dependency>
@@ -52,13 +52,13 @@
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-cmds</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
     </dependency>
    
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-text</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
     </dependency>
     
     <dependency>
@@ -116,7 +116,7 @@
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-arq</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
       <classifier>tests</classifier>
       <scope>test</scope>
     </dependency>
@@ -124,14 +124,14 @@
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-base</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
       <classifier>tests</classifier>
       <scope>test</scope>
     </dependency>
 
     <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
+      <groupId>org.junit.vintage</groupId>
+      <artifactId>junit-vintage-engine</artifactId>
       <scope>test</scope>
     </dependency>
 
diff --git a/jena-fuseki2/jena-fuseki-webapp/src/main/webapp/log4j2.properties b/jena-fuseki2/jena-fuseki-webapp/src/main/webapp/log4j2.properties
index 14986c3..0524e40 100644
--- a/jena-fuseki2/jena-fuseki-webapp/src/main/webapp/log4j2.properties
+++ b/jena-fuseki2/jena-fuseki-webapp/src/main/webapp/log4j2.properties
@@ -43,12 +43,10 @@
 logger.jetty.name  = org.eclipse.jetty
 logger.jetty.level = WARN
 
-logger.apache-http.name   = org.apache.http
-logger.apache-http.level  = WARN
 logger.shiro.name = org.apache.shiro
 logger.shiro.level = WARN
 
-# Hide bug in Shiro 1.5.0
+# Hide issue with Shiro 1.5.0+, 2.0.0
 logger.shiro-realm.name = org.apache.shiro.realm.text.IniRealm
 logger.shiro-realm.level = ERROR
 
diff --git a/jena-fuseki2/jena-fuseki-webapp/src/test/java/org/apache/jena/fuseki/AbstractTestWebappAuth_JDK.java b/jena-fuseki2/jena-fuseki-webapp/src/test/java/org/apache/jena/fuseki/AbstractTestWebappAuth_JDK.java
index c1b4255..6b4d247 100644
--- a/jena-fuseki2/jena-fuseki-webapp/src/test/java/org/apache/jena/fuseki/AbstractTestWebappAuth_JDK.java
+++ b/jena-fuseki2/jena-fuseki-webapp/src/test/java/org/apache/jena/fuseki/AbstractTestWebappAuth_JDK.java
@@ -34,17 +34,17 @@
 import org.apache.jena.sparql.exec.http.QueryExecutionHTTPBuilder;
 import org.apache.jena.sparql.exec.http.UpdateExecutionHTTP;
 import org.apache.jena.sparql.exec.http.UpdateExecutionHTTPBuilder;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
+import org.junit.After;
+import org.junit.Before;
 
 public class AbstractTestWebappAuth_JDK {
 
-    protected static final int authPort             = WebLib.choosePort();
-    protected static final String authUrlRoot       = "http://localhost:"+authPort+"/";
-    protected static final String authDatasetPath   = "/dataset";
-    protected static final String authServiceUpdate = "http://localhost:"+authPort+authDatasetPath+"/update";
-    protected static final String authServiceQuery  = "http://localhost:"+authPort+authDatasetPath+"/query";
-    protected static final String authServiceREST   = "http://localhost:"+authPort+authDatasetPath+"/data";
+    protected int authPort               = WebLib.choosePort();
+    protected String authUrlRoot()       { return "http://localhost:"+authPort+"/"; }
+    protected String authDatasetPath()   { return "/dataset"; }
+    protected String authServiceUpdate() { return "http://localhost:"+authPort+authDatasetPath()+"/update"; }
+    protected String authServiceQuery()  { return "http://localhost:"+authPort+authDatasetPath()+"/query"; }
+    protected String authServiceREST()   { return "http://localhost:"+authPort+authDatasetPath()+"/data";}
     private static File realmFile;
 
     private static final String FusekiTestHome = "target/FusekiTest";
@@ -53,7 +53,7 @@
     // False when in TS_FusekiWebapp
     public static boolean RunDependently = true;
 
-    @BeforeClass public static void setupFusekiServer() throws IOException {
+    @Before public void setupFusekiServer() throws IOException {
         ensureEnvironment();
 
         realmFile = File.createTempFile("realm", ".properties");
@@ -64,7 +64,7 @@
             writer.write("forbidden: password, other");
         }
 
-        ServerCtl.setupServer(authPort, realmFile.getAbsolutePath(), authDatasetPath, true);
+        ServerCtl.setupServer(authPort, realmFile.getAbsolutePath(), authDatasetPath(), true);
     }
 
     private static void ensureEnvironment() {
@@ -79,7 +79,7 @@
        }
     }
 
-    @AfterClass public static void teardownServer() {
+    @After public void teardownServer() {
         JettyFusekiWebapp.instance.stop();
     }
 
diff --git a/jena-fuseki2/jena-fuseki-webapp/src/test/java/org/apache/jena/fuseki/TestWebappAuthQuery_JDK.java b/jena-fuseki2/jena-fuseki-webapp/src/test/java/org/apache/jena/fuseki/TestWebappAuthQuery_JDK.java
index 287687b..f504e5a 100644
--- a/jena-fuseki2/jena-fuseki-webapp/src/test/java/org/apache/jena/fuseki/TestWebappAuthQuery_JDK.java
+++ b/jena-fuseki2/jena-fuseki-webapp/src/test/java/org/apache/jena/fuseki/TestWebappAuthQuery_JDK.java
@@ -32,7 +32,7 @@
 public class TestWebappAuthQuery_JDK extends AbstractTestWebappAuth_JDK {
     @Test
     public void query_auth_jdk_01_no_auth() {
-        QueryExecutionHTTP qe = QueryExecutionHTTP.create().endpoint(authServiceQuery).query("ASK { }").build();
+        QueryExecutionHTTP qe = QueryExecutionHTTP.create().endpoint(authServiceQuery()).query("ASK { }").build();
         // No auth credentials should result in an error
         HttpTest.expectQuery401(()->qe.execAsk());
     }
@@ -40,7 +40,7 @@
     @Test
     public void query_auth_jdk_02_bad_auth() {
         // Auth - bad password
-        QueryExecutionHTTP qe = withAuthJDK(QueryExecutionHTTP.create().endpoint(authServiceQuery).query("ASK { }"),
+        QueryExecutionHTTP qe = withAuthJDK(QueryExecutionHTTP.create().endpoint(authServiceQuery()).query("ASK { }"),
                                               "allowed", "incorrect");
         HttpTest.expectQuery401(()->qe.execAsk());
     }
@@ -48,7 +48,7 @@
     @Test
     public void query_auth_jdk_03_good_auth() {
         // Auth credentials for valid user with correct password
-        QueryExecutionHTTP qe = withAuthJDK(QueryExecutionHTTP.create().endpoint(authServiceQuery).query("ASK { }"),
+        QueryExecutionHTTP qe = withAuthJDK(QueryExecutionHTTP.create().endpoint(authServiceQuery()).query("ASK { }"),
                                               "allowed", "password");
         Assert.assertTrue(qe.execAsk());
     }
@@ -56,8 +56,8 @@
     @Test
     public void query_authenv_01_good() {
         // Auth credentials for valid user with correct password
-        QueryExecutionHTTP qe = QueryExecutionHTTP.create().endpoint(authServiceQuery).query("ASK { }").build();
-        String dsURL = authServiceQuery;
+        QueryExecutionHTTP qe = QueryExecutionHTTP.create().endpoint(authServiceQuery()).query("ASK { }").build();
+        String dsURL = authServiceQuery();
         URI uri = URI.create(dsURL);
         AuthEnv.get().registerUsernamePassword(uri, "allowed", "password");
         try {
@@ -69,8 +69,8 @@
 
     @Test
     public void query_authenv_02_prefix_good() {
-        QueryExecutionHTTP qe = QueryExecutionHTTP.create().endpoint(authServiceQuery).query("ASK { }").build();
-        String dsURL = "http://localhost:"+authPort+authDatasetPath;
+        QueryExecutionHTTP qe = QueryExecutionHTTP.create().endpoint(authServiceQuery()).query("ASK { }").build();
+        String dsURL = "http://localhost:"+authPort+authDatasetPath();
         URI uri = URI.create(dsURL);
         AuthEnv.get().registerUsernamePassword(uri, "allowed", "password");
         try {
@@ -82,7 +82,7 @@
 
     @Test
     public void query_authenv_03_bad_endpoint() {
-        QueryExecutionHTTP qe = QueryExecutionHTTP.create().endpoint(authServiceQuery).query("ASK { }").build();
+        QueryExecutionHTTP qe = QueryExecutionHTTP.create().endpoint(authServiceQuery()).query("ASK { }").build();
         // Wrong registration
         String dsURL = "http://localhost:"+authPort+"/anotherPlace";
         URI uri = URI.create(dsURL);
diff --git a/jena-fuseki2/jena-fuseki-webapp/src/test/java/org/apache/jena/fuseki/TestWebappAuthUpdate_JDK.java b/jena-fuseki2/jena-fuseki-webapp/src/test/java/org/apache/jena/fuseki/TestWebappAuthUpdate_JDK.java
index cac628c..93f897d 100644
--- a/jena-fuseki2/jena-fuseki-webapp/src/test/java/org/apache/jena/fuseki/TestWebappAuthUpdate_JDK.java
+++ b/jena-fuseki2/jena-fuseki-webapp/src/test/java/org/apache/jena/fuseki/TestWebappAuthUpdate_JDK.java
@@ -36,7 +36,7 @@
     public void update_jdk_auth_01() {
         UpdateRequest updates = UpdateFactory.create("CREATE SILENT GRAPH <http://graph>");
         UpdateProcessor ue = UpdateExecutionHTTP.create()
-                                    .endpoint(authServiceUpdate)
+                                    .endpoint(authServiceUpdate())
                                     .update(updates)
                                     .build();
         // No auth credentials should result in an error
@@ -47,7 +47,7 @@
     public void update_jdk_auth_02() {
         UpdateRequest updates = UpdateFactory.create("CREATE SILENT GRAPH <http://graph>");
         UpdateProcessor ue = withAuthJDK(UpdateExecutionHTTP.create()
-                                               .endpoint(authServiceUpdate)
+                                               .endpoint(authServiceUpdate())
                                                .update(updates),
                                            "allowed", "bad-password");
         HttpTest.expect401(()->ue.execute());
@@ -57,7 +57,7 @@
     public void update_jdk_auth_03() {
         UpdateRequest updates = UpdateFactory.create("CREATE SILENT GRAPH <http://graph>");
         UpdateProcessor ue = withAuthJDK(UpdateExecutionHTTP.create()
-                                               .endpoint(authServiceUpdate)
+                                               .endpoint(authServiceUpdate())
                                                .update(updates),
                                            "allowed", "password");
         ue.execute();
@@ -67,7 +67,7 @@
     public void update_with_auth_04() {
         UpdateRequest updates = UpdateFactory.create("CREATE SILENT GRAPH <http://graph>");
         UpdateProcessor ue = withAuthJDK(UpdateExecutionHTTP.create()
-                                               .endpoint(authServiceUpdate)
+                                               .endpoint(authServiceUpdate())
                                                .update(updates),
                                            "allowed", "password");
         ue.execute();
@@ -77,8 +77,8 @@
     public void update_authenv_01_good() {
         // Auth credentials for valid user with correct password
         UpdateRequest updates = UpdateFactory.create("CREATE SILENT GRAPH <http://graph>");
-        UpdateProcessor ue = UpdateExecutionHTTP.create().endpoint(authServiceUpdate).update(updates).build();
-        String dsURL = authServiceUpdate;
+        UpdateProcessor ue = UpdateExecutionHTTP.create().endpoint(authServiceUpdate()).update(updates).build();
+        String dsURL = authServiceUpdate();
         URI uri = URI.create(dsURL);
         AuthEnv.get().registerUsernamePassword(uri, "allowed", "password");
         try {
diff --git a/jena-fuseki2/jena-fuseki-webapp/src/test/resources/log4j2.properties b/jena-fuseki2/jena-fuseki-webapp/src/test/resources/log4j2.properties
index 7538a8c..9b915f0 100644
--- a/jena-fuseki2/jena-fuseki-webapp/src/test/resources/log4j2.properties
+++ b/jena-fuseki2/jena-fuseki-webapp/src/test/resources/log4j2.properties
@@ -47,16 +47,13 @@
 logger.jetty.name  = org.eclipse.jetty
 logger.jetty.level = WARN
 
-# Hide bug in Shiro 1.5.0
 logger.shiro.name = org.apache.shiro
 logger.shiro.level = WARN
+
+# Hide issue with Shiro 1.5.0+, 2.0.0
 logger.shiro-realm.name = org.apache.shiro.realm.text.IniRealm
 logger.shiro-realm.level = ERROR
 
-# May be useful to turn up to DEBUG if debugging HTTP communication issues
-logger.apache-http.name   = org.apache.http
-logger.apache-http.level  = WARN
-
 # This goes out in NCSA format
 appender.plain.type = Console
 appender.plain.name = PLAIN
diff --git a/jena-fuseki2/pom.xml b/jena-fuseki2/pom.xml
index 803faac..279fb65 100644
--- a/jena-fuseki2/pom.xml
+++ b/jena-fuseki2/pom.xml
@@ -21,13 +21,13 @@
   <parent>
     <groupId>org.apache.jena</groupId>
     <artifactId>jena</artifactId>
-    <version>5.0.0-SNAPSHOT</version>
+    <version>5.1.0-SNAPSHOT</version>
     <relativePath>..</relativePath>
   </parent> 
 
   <name>Apache Jena - Fuseki - A SPARQL 1.1 Server</name>
   <artifactId>jena-fuseki</artifactId>
-  <version>5.0.0-SNAPSHOT</version>
+  <version>5.1.0-SNAPSHOT</version>
 
   <description>Fuseki is a SPARQL 1.1 Server which provides the SPARQL query, 
   SPARQL update and SPARQL graph store protocols.
diff --git a/jena-geosparql/pom.xml b/jena-geosparql/pom.xml
index e7cecf1..0390cd2 100644
--- a/jena-geosparql/pom.xml
+++ b/jena-geosparql/pom.xml
@@ -23,7 +23,7 @@
   <parent>
     <groupId>org.apache.jena</groupId>
     <artifactId>jena</artifactId>
-    <version>5.0.0-SNAPSHOT</version>
+    <version>5.1.0-SNAPSHOT</version>
     <relativePath>..</relativePath>
   </parent>
 
@@ -38,7 +38,7 @@
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-arq</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
     </dependency>
 
     <dependency>
@@ -92,8 +92,8 @@
     </dependency>
 
     <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
+      <groupId>org.junit.vintage</groupId>
+      <artifactId>junit-vintage-engine</artifactId>
       <scope>test</scope>
     </dependency>
 
diff --git a/jena-geosparql/src/main/java/org/apache/jena/ext/io/github/galbiston/expiring_map/ExpiringMap.java b/jena-geosparql/src/main/java/org/apache/jena/ext/io/github/galbiston/expiring_map/ExpiringMap.java
deleted file mode 100644
index a64196c..0000000
--- a/jena-geosparql/src/main/java/org/apache/jena/ext/io/github/galbiston/expiring_map/ExpiringMap.java
+++ /dev/null
@@ -1,350 +0,0 @@
-/*
- * Copyright 2018 the original author or authors.
- * See the notice.md file distributed with this work for additional
- * information regarding copyright ownership.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.jena.ext.io.github.galbiston.expiring_map;
-
-import static org.apache.jena.ext.io.github.galbiston.expiring_map.MapDefaultValues.*;
-
-import java.lang.invoke.MethodHandles;
-import java.util.Timer;
-import java.util.concurrent.ConcurrentHashMap;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Expiring Map for storage of entries which expire if unused for a period of
- * time.
- * <br>Size of map, duration until expiry and frequency of cleaning can all be
- * controlled.
- *
- * @param <K> Key entry object.
- * @param <V> Value entry object.
- */
-public class ExpiringMap<K, V> extends ConcurrentHashMap<K, V> {
-
-    private static final Logger LOGGER = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
-    private String label;
-    private boolean running;
-    private boolean expiring;
-    private long maxSize;
-    private long expiryInterval;
-    private long cleanerInterval;
-    private long fullMapWarningInterval;
-    private long fullMapWarning;
-    private ExpiringMapCleaner mapCleaner;
-    private Timer cleanerTimer;
-
-    /**
-     * Instance of Expiring Map that will not remove items and has no limit on
-     * size.
-     *
-     * @param label Name of the map.
-     */
-    public ExpiringMap(String label) {
-        this(label, UNLIMITED_MAP, UNLIMITED_EXPIRY, MAP_CLEANER_INTERVAL, FULL_MAP_WARNING_INTERVAL);
-    }
-
-    /**
-     * Instance of Expiring Map that will not remove items.
-     *
-     * @param label Name of the map.
-     * @param maxSize Maximum size of the map when items will no longer be added
-     * or unlimited size (-1).
-     */
-    public ExpiringMap(String label, int maxSize) {
-        this(label, maxSize, UNLIMITED_EXPIRY, MAP_CLEANER_INTERVAL, FULL_MAP_WARNING_INTERVAL);
-    }
-
-    /**
-     * Instance of Expiring Map that will remove items after a period of time
-     * which have not been accessed.
-     *
-     * @param label Name of the map.
-     * @param maxSize Maximum size of the map when items will no longer be
-     * added. Unlimited size (-1) will still remove expired items.
-     * @param expiryInterval Duration that items remain in map.
-     */
-    public ExpiringMap(String label, int maxSize, long expiryInterval) {
-        this(label, maxSize, expiryInterval, MAP_CLEANER_INTERVAL, FULL_MAP_WARNING_INTERVAL);
-    }
-
-    /**
-     * Instance of Expiring Map that will remove items after a period of time
-     * which have not been accessed.
-     *
-     * @param label Name of the map.
-     * @param maxSize Maximum size of the map when items will no longer be
-     * added. Unlimited size (-1) will still remove expired items.
-     * @param expiryInterval Duration that items remain in map.
-     * @param cleanerInterval Frequency that items are checked for removal from
-     * map.
-     */
-    public ExpiringMap(String label, int maxSize, long expiryInterval, long cleanerInterval) {
-        this(label, maxSize, expiryInterval, cleanerInterval, FULL_MAP_WARNING_INTERVAL);
-    }
-
-    /**
-     * Instance of Expiring Map that will remove items after a period of time
-     * which have not been accessed.
-     *
-     * @param label Name of the map.
-     * @param maxSize Maximum size of the map when items will no longer be
-     * added. Unlimited size (-1) will still remove expired items.
-     * @param expiryInterval Duration that items remain in map.
-     * @param cleanerInterval Frequency that items are checked for removal from
-     * map.
-     * @param fullMapWarningInterval Full map warning frequency.
-     */
-    public ExpiringMap(String label, int maxSize, long expiryInterval, long cleanerInterval, long fullMapWarningInterval) {
-        super(maxSize > UNLIMITED_MAP ? maxSize : UNLIMITED_INITIAL_CAPACITY);
-        this.label = label;
-        setMaxSize(maxSize);
-        this.running = false;
-        this.expiring = false;
-        this.cleanerTimer = null;
-        this.mapCleaner = null;
-        setCleanerInterval(cleanerInterval);
-        setExpiryInterval(expiryInterval); //Can set expiryInterval, mapCleaner and expiring.
-        this.fullMapWarningInterval = fullMapWarningInterval;
-        this.fullMapWarning = System.currentTimeMillis();
-
-    }
-
-    @Override
-    public V put(K key, V value) {
-        if (super.mappingCount() < maxSize) {
-            mapCleaner.put(key);
-            return super.put(key, value);
-        } else {
-            long currentSystemTime = System.currentTimeMillis();
-            long difference = currentSystemTime - fullMapWarning;
-            if (difference > fullMapWarningInterval) {
-                fullMapWarning = currentSystemTime;
-                LOGGER.warn("{} Map Full: {} - Warning suppressed for {}ms", label, maxSize, fullMapWarningInterval);
-            }
-        }
-
-        return null;
-    }
-
-    @Override
-    public boolean containsKey(Object key) {
-        boolean isContained = super.containsKey(key);
-        if (isContained) {
-            mapCleaner.refresh(key);
-        }
-        return isContained;
-    }
-
-    @Override
-    public V get(Object key) {
-        V value = super.get(key);
-        if (value != null) {
-            mapCleaner.refresh(key);
-        }
-        return value;
-    }
-
-    /**
-     * Clear the map.
-     */
-    @Override
-    public void clear() {
-        super.clear();
-        mapCleaner.clear();
-    }
-
-    /**
-     *
-     * @return Maximum number of items in the map.
-     */
-    public long getMaxSize() {
-        return maxSize;
-    }
-
-    /**
-     * Maximum number of items in the map.<br>
-     * Capacity will not be reduced.
-     *
-     * @param maxSize
-     */
-    public final void setMaxSize(long maxSize) {
-        this.maxSize = maxSize > UNLIMITED_MAP ? maxSize : Long.MAX_VALUE;
-    }
-
-    /**
-     *
-     * @return Frequency that items are checked for removal from map.
-     */
-    public long getCleanerInterval() {
-        return cleanerInterval;
-    }
-
-    /**
-     * Frequency that items are checked for removal from map.
-     *
-     * @param cleanerInterval Milliseconds
-     */
-    public final void setCleanerInterval(long cleanerInterval) {
-
-        boolean isChanged = applyCleanerInterval(cleanerInterval);
-
-        //Reset the expiry if running and changed.
-        if (running && isChanged) {
-            startExpiry();
-        }
-    }
-
-    private boolean applyCleanerInterval(long cleanerInterval) {
-        long originalCleanerInterval = this.cleanerInterval;
-        if (MINIMUM_MAP_CLEANER_INTERVAL < cleanerInterval) {
-            this.cleanerInterval = cleanerInterval;
-        } else {
-            LOGGER.warn("Cleaner Interval: {} less than minimum: {}. Setting to minimum.", cleanerInterval, MINIMUM_MAP_CLEANER_INTERVAL);
-            this.cleanerInterval = MINIMUM_MAP_CLEANER_INTERVAL;
-        }
-        return originalCleanerInterval != this.cleanerInterval;
-    }
-
-    /**
-     *
-     * @return Duration that items remain in map.
-     */
-    public long getExpiryInterval() {
-        return expiryInterval;
-    }
-
-    /**
-     * Duration that items remain in map.<br>
-     * Items will not be removed until next cleaner interval.
-     *
-     * @param expiryInterval Milliseconds
-     */
-    public final void setExpiryInterval(long expiryInterval) {
-
-        this.expiring = expiryInterval > UNLIMITED_EXPIRY;
-
-        long minimum_interval = cleanerInterval + 1;
-        if (expiryInterval < minimum_interval) {
-            if (this.expiring) {
-                //Ensure that the expiry interval is greater than the cleaner interval and warn that value has been changed.
-                LOGGER.warn("Expiry Interval: {} cannot be less than Cleaner Interval: {}. Setting to Minimum Interval: {}", expiryInterval, cleanerInterval, minimum_interval);
-            }
-            this.expiryInterval = minimum_interval;
-        } else {
-            this.expiryInterval = expiryInterval;
-        }
-
-        if (this.mapCleaner == null) {
-            this.mapCleaner = new ExpiringMapCleaner(this, expiryInterval);
-        } else {
-            this.mapCleaner.setExpiryInterval(this.expiryInterval);
-        }
-    }
-
-    /**
-     *
-     * @return Delay between warnings the map is full.
-     */
-    public long getFullMapWarningInterval() {
-        return fullMapWarningInterval;
-    }
-
-    /**
-     * Delay between warnings the map is full.
-     *
-     * @param fullMapWarningInterval Milliseconds
-     */
-    public void setFullMapWarningInterval(long fullMapWarningInterval) {
-        this.fullMapWarningInterval = fullMapWarningInterval;
-    }
-
-    /**
-     *
-     * @return Label of the Expiring Map.
-     */
-    public String getLabel() {
-        return label;
-    }
-
-    /**
-     * Set the label of the Expiring Map.
-     *
-     * @param label
-     */
-    public void setLabel(String label) {
-        this.label = label;
-    }
-
-    /**
-     * Start expiring items from the map.
-     */
-    public void startExpiry() {
-        startExpiry(cleanerInterval);
-    }
-
-    /**
-     * Start expiring items from the map with adjusted cleaner interval.
-     *
-     * @param cleanerInterval Milliseconds between checks for expiry.
-     */
-    public void startExpiry(long cleanerInterval) {
-        stopExpiry();
-        if (expiring) {
-            applyCleanerInterval(cleanerInterval);
-            cleanerTimer = new Timer(label, true);
-            mapCleaner = new ExpiringMapCleaner(mapCleaner);
-            cleanerTimer.scheduleAtFixedRate(mapCleaner, this.cleanerInterval, this.cleanerInterval);
-        }
-
-        running = true;
-    }
-
-    /**
-     * Stop expiring items from the map.
-     */
-    public void stopExpiry() {
-        if (cleanerTimer != null) {
-            cleanerTimer.cancel();
-            cleanerTimer = null;
-        }
-
-        running = false;
-    }
-
-    /**
-     *
-     * @return True if the Expiring Map is running.
-     */
-    public boolean isRunning() {
-        return running;
-    }
-
-    /**
-     *
-     * @return True if the Expiring Map will remove items.
-     */
-    public boolean isExpiring() {
-        return expiring;
-    }
-
-    @Override
-    public String toString() {
-        return "ExpiringMap{" + "label=" + label + ", running=" + running + ", expiring=" + expiring + ", maxSize=" + maxSize + ", expiryInterval=" + expiryInterval + ", cleanerInterval=" + cleanerInterval + ", fullMapWarningInterval=" + fullMapWarningInterval + ", fullMapWarning=" + fullMapWarning + ", mapCleaner=" + mapCleaner + ", cleanerTimer=" + cleanerTimer + '}';
-    }
-
-}
diff --git a/jena-geosparql/src/main/java/org/apache/jena/ext/io/github/galbiston/expiring_map/ExpiringMap2.java b/jena-geosparql/src/main/java/org/apache/jena/ext/io/github/galbiston/expiring_map/ExpiringMap2.java
deleted file mode 100644
index b119f5f..0000000
--- a/jena-geosparql/src/main/java/org/apache/jena/ext/io/github/galbiston/expiring_map/ExpiringMap2.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.jena.ext.io.github.galbiston.expiring_map;
-
-import java.util.AbstractMap;
-import java.util.Set;
-import java.util.concurrent.TimeUnit;
-
-import com.github.benmanes.caffeine.cache.Cache;
-import com.github.benmanes.caffeine.cache.Caffeine;
-
-public class ExpiringMap2<K,V> extends AbstractMap<K,V> {
-
-    private Cache<K,V> cache;
-
-    ExpiringMap2(int size) {
-        @SuppressWarnings("unchecked")
-        Caffeine<K,V> builder = (Caffeine<K,V>)Caffeine.newBuilder()
-                .maximumSize(size)
-                .executor(c->c.run())
-                .expireAfterAccess(5000, TimeUnit.MILLISECONDS)
-                ;
-        Cache<K,V> cache = builder.build();
-    }
-
-    @Override
-    public Set<Entry<K, V>> entrySet() {
-        return null;
-    }
-}
diff --git a/jena-geosparql/src/main/java/org/apache/jena/ext/io/github/galbiston/expiring_map/ExpiringMapCleaner.java b/jena-geosparql/src/main/java/org/apache/jena/ext/io/github/galbiston/expiring_map/ExpiringMapCleaner.java
deleted file mode 100644
index 7b1c5e9..0000000
--- a/jena-geosparql/src/main/java/org/apache/jena/ext/io/github/galbiston/expiring_map/ExpiringMapCleaner.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * Copyright 2018 the original author or authors.
- * See the notice.md file distributed with this work for additional
- * information regarding copyright ownership.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.jena.ext.io.github.galbiston.expiring_map;
-
-import java.util.Collections;
-import java.util.SortedSet;
-import java.util.TimerTask;
-import java.util.TreeSet;
-import java.util.concurrent.ConcurrentHashMap;
-
-/**
- *
- *
- */
-public class ExpiringMapCleaner extends TimerTask {
-
-    //private static final Logger LOGGER = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
-    private final SortedSet<KeyTimestampPair> tracking = Collections.synchronizedSortedSet(new TreeSet<>());
-    private final ConcurrentHashMap<Object, Long> refresh = new ConcurrentHashMap<>();
-    private final ExpiringMap<? , ? > map;
-    private long expiryInterval;
-
-    public ExpiringMapCleaner(ExpiringMap<?,?> map, long expiryInterval) {
-        this.map = map;
-        this.expiryInterval = expiryInterval;
-    }
-
-    public ExpiringMapCleaner(ExpiringMapCleaner mapCleaner) {
-        this.map = mapCleaner.map;
-        this.expiryInterval = mapCleaner.expiryInterval;
-        tracking.addAll(mapCleaner.tracking);
-        refresh.putAll(mapCleaner.refresh);
-    }
-
-    @Override
-    public void run() {
-
-        //LOGGER.info("Run Start - Tracker: {}, Refresh: {}, Map: {}", tracking.size(), refresh.size(), map.size());
-        long thresholdTimestamp = System.currentTimeMillis() - expiryInterval;
-        boolean isEarlier = true;
-        while (isEarlier) {
-            if (tracking.isEmpty()) {
-                return;
-            }
-
-            KeyTimestampPair current = tracking.first();
-            isEarlier = current.isEarlier(thresholdTimestamp);
-            if (isEarlier) {
-                Object key = current.getKey();
-                tracking.remove(current);
-                if (refresh.containsKey(key)) {
-                    //Check whether the refresh is still valid.
-                    Long timestamp = refresh.get(key);
-                    if (thresholdTimestamp < timestamp) {
-                        tracking.add(new KeyTimestampPair(key, timestamp));
-                    }
-                    refresh.remove(key);
-                } else {
-                    map.remove(key);
-                }
-
-            }
-        }
-        //LOGGER.info("Run End - Tracker: {}, Refresh: {}, Map: {}", tracking.size(), refresh.size(), map.size());
-    }
-
-    public synchronized void refresh(Object key) {
-        refresh.put(key, System.currentTimeMillis());
-    }
-
-    public synchronized void put(Object key) {
-        tracking.add(new KeyTimestampPair(key, System.currentTimeMillis()));
-    }
-
-    public synchronized void setExpiryInterval(long expiryInterval) {
-        this.expiryInterval = expiryInterval;
-    }
-
-    public synchronized void clear() {
-        tracking.clear();
-    }
-
-}
diff --git a/jena-geosparql/src/main/java/org/apache/jena/ext/io/github/galbiston/expiring_map/ExpiringMaps.java b/jena-geosparql/src/main/java/org/apache/jena/ext/io/github/galbiston/expiring_map/ExpiringMaps.java
deleted file mode 100644
index 69a0766..0000000
--- a/jena-geosparql/src/main/java/org/apache/jena/ext/io/github/galbiston/expiring_map/ExpiringMaps.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.jena.ext.io.github.galbiston.expiring_map;
-
-public class ExpiringMaps {
-
-    public static <K,V> ExpiringMap<K,V> newExpiringMap(String label, int maxSize, long expiryInterval) {
-        return new ExpiringMap<>(label, maxSize, expiryInterval);
-    }
-
-
-}
diff --git a/jena-geosparql/src/main/java/org/apache/jena/ext/io/github/galbiston/expiring_map/KeyTimestampPair.java b/jena-geosparql/src/main/java/org/apache/jena/ext/io/github/galbiston/expiring_map/KeyTimestampPair.java
deleted file mode 100644
index 13e8ae3..0000000
--- a/jena-geosparql/src/main/java/org/apache/jena/ext/io/github/galbiston/expiring_map/KeyTimestampPair.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * Copyright 2018 the original author or authors.
- * See the notice.md file distributed with this work for additional
- * information regarding copyright ownership.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.jena.ext.io.github.galbiston.expiring_map;
-
-import java.util.Objects;
-
-/**
- *
- *
- */
-public class KeyTimestampPair implements Comparable<KeyTimestampPair> {
-
-    private final Object key;
-    private long timestamp;
-
-    public KeyTimestampPair(Object key, long timestamp) {
-        this.key = key;
-        this.timestamp = timestamp;
-    }
-
-    public boolean hasKey(Object key) {
-        return this.key.equals(key);
-    }
-
-    public Object getKey() {
-        return key;
-    }
-
-    public long getTimestamp() {
-        return timestamp;
-    }
-
-    public boolean isEarlier(long timestamp) {
-        return this.timestamp < timestamp;
-    }
-
-    public void setTimestamp(long timestamp) {
-        this.timestamp = timestamp;
-    }
-
-    @Override
-    public int compareTo(KeyTimestampPair o) {
-
-        if (o == null) {
-            throw new NullPointerException();
-        }
-
-        if (timestamp < o.timestamp) {
-            return -1;
-        } else if (timestamp > o.timestamp) {
-            return 1;
-        } else {
-            if (key.equals(o.key)) {
-                return 0;
-            } else {
-                return -1;
-            }
-        }
-    }
-
-    @Override
-    public int hashCode() {
-        int hash = 7;
-        hash = 67 * hash + Objects.hashCode(this.key);
-        hash = 67 * hash + (int) (this.timestamp ^ (this.timestamp >>> 32));
-        return hash;
-    }
-
-    @Override
-    public boolean equals(Object obj) {
-        if (this == obj) {
-            return true;
-        }
-        if (obj == null) {
-            return false;
-        }
-        if (getClass() != obj.getClass()) {
-            return false;
-        }
-        final KeyTimestampPair other = (KeyTimestampPair) obj;
-        if (this.timestamp != other.timestamp) {
-            return false;
-        }
-        return Objects.equals(this.key, other.key);
-    }
-
-    @Override
-    public String toString() {
-        return "KeyTimestampPair{" + "key=" + key + ", timestamp=" + timestamp + '}';
-    }
-}
diff --git a/jena-geosparql/src/main/java/org/apache/jena/ext/io/github/galbiston/expiring_map/MapDefaultValues.java b/jena-geosparql/src/main/java/org/apache/jena/ext/io/github/galbiston/expiring_map/MapDefaultValues.java
deleted file mode 100644
index a91695d..0000000
--- a/jena-geosparql/src/main/java/org/apache/jena/ext/io/github/galbiston/expiring_map/MapDefaultValues.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright 2018 the original author or authors.
- * See the notice.md file distributed with this work for additional
- * information regarding copyright ownership.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.jena.ext.io.github.galbiston.expiring_map;
-
-/**
- *
- *
- */
-public interface MapDefaultValues {
-
-    public static final int UNLIMITED_MAP = -1;
-    public static final long UNLIMITED_EXPIRY = 0;
-
-    public static final int NO_MAP = 0;
-    public static final long MAP_EXPIRY_INTERVAL = 5000l;
-    public static final long MAP_CLEANER_INTERVAL = 1000l;
-    public static final long FULL_MAP_WARNING_INTERVAL = 30000l;
-    public static final long MINIMUM_MAP_CLEANER_INTERVAL = 100l;
-    public static final int UNLIMITED_INITIAL_CAPACITY = 50000;
-}
diff --git a/jena-geosparql/src/main/java/org/apache/jena/geosparql/configuration/GeoSPARQLConfig.java b/jena-geosparql/src/main/java/org/apache/jena/geosparql/configuration/GeoSPARQLConfig.java
index 5d96605..759e5f1 100644
--- a/jena-geosparql/src/main/java/org/apache/jena/geosparql/configuration/GeoSPARQLConfig.java
+++ b/jena-geosparql/src/main/java/org/apache/jena/geosparql/configuration/GeoSPARQLConfig.java
@@ -22,6 +22,8 @@
 import org.apache.jena.geosparql.geof.topological.RelateFF;
 import org.apache.jena.geosparql.implementation.datatype.GeometryDatatype;
 import org.apache.jena.geosparql.implementation.function_registration.*;
+import org.apache.jena.geosparql.implementation.index.GeometryLiteralIndex;
+import org.apache.jena.geosparql.implementation.index.GeometryTransformIndex;
 import org.apache.jena.geosparql.implementation.index.IndexConfiguration;
 import org.apache.jena.geosparql.implementation.index.IndexConfiguration.IndexOption;
 import org.apache.jena.geosparql.implementation.index.QueryRewriteIndex;
@@ -96,38 +98,6 @@
      * Initialise all GeoSPARQL property and filter functions with memory
      * indexing.
      * <br>Use this for in-memory indexing GeoSPARQL setup and to control the
-     * index sizes. Expiry is defaulted to 5,000 milliseconds.
-     * <br>This does not affect the use of Spatial Indexes for Datasets.
-     *
-     * @param geometryLiteralIndex
-     * @param geometryTransformIndex
-     * @param queryRewriteIndex
-     */
-    public static final void setupMemoryIndexSize(Integer geometryLiteralIndex, Integer geometryTransformIndex, Integer queryRewriteIndex) {
-        setup(IndexOption.MEMORY, true);
-        IndexConfiguration.setIndexMaxSize(geometryLiteralIndex, geometryTransformIndex, queryRewriteIndex);
-    }
-
-    /**
-     * Initialise all GeoSPARQL property and filter functions with memory
-     * indexing.
-     * <br>Use this for in-memory indexing GeoSPARQL setup and to control the
-     * index expiry rate (milliseconds). Size is defaulted to unlimited.
-     * <br>This does not affect the use of Spatial Indexes for Datasets.
-     *
-     * @param geometryLiteralIndex
-     * @param geometryTransformIndex
-     * @param queryRewriteIndex
-     */
-    public static final void setupMemoryIndexExpiry(Long geometryLiteralIndex, Long geometryTransformIndex, Long queryRewriteIndex) {
-        setup(IndexOption.MEMORY, true);
-        IndexConfiguration.setIndexExpiry(geometryLiteralIndex, geometryTransformIndex, queryRewriteIndex);
-    }
-
-    /**
-     * Initialise all GeoSPARQL property and filter functions with memory
-     * indexing.
-     * <br>Use this for in-memory indexing GeoSPARQL setup and to control the
      * index sizes (default: unlimited) and expiry rate (default: 5,000
      * milliseconds).
      * <br>This does not affect the use of Spatial Indexes for Datasets.
@@ -142,8 +112,10 @@
      */
     public static final void setupMemoryIndex(Integer geometryLiteralIndex, Integer geometryTransformIndex, Integer queryRewriteIndex, Long geometryLiteralIndexExpiry, Long geometryTransformIndexExpiry, Long queryRewriteIndexExpiry, Boolean isQueryRewriteEnabled) {
         setup(IndexOption.MEMORY, isQueryRewriteEnabled);
-        IndexConfiguration.setIndexMaxSize(geometryLiteralIndex, geometryTransformIndex, queryRewriteIndex);
-        IndexConfiguration.setIndexExpiry(geometryLiteralIndexExpiry, geometryTransformIndexExpiry, queryRewriteIndexExpiry);
+        GeometryLiteralIndex.reset(geometryLiteralIndex, geometryLiteralIndexExpiry);
+        GeometryTransformIndex.reset(geometryTransformIndex, geometryTransformIndexExpiry);
+        QueryRewriteIndex.setMaxSize(queryRewriteIndex);
+        QueryRewriteIndex.setExpiry(queryRewriteIndexExpiry);
     }
 
     /**
diff --git a/jena-geosparql/src/main/java/org/apache/jena/geosparql/implementation/index/CacheConfiguration.java b/jena-geosparql/src/main/java/org/apache/jena/geosparql/implementation/index/CacheConfiguration.java
new file mode 100644
index 0000000..9ebd644
--- /dev/null
+++ b/jena-geosparql/src/main/java/org/apache/jena/geosparql/implementation/index/CacheConfiguration.java
@@ -0,0 +1,67 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jena.geosparql.implementation.index;
+
+import com.github.benmanes.caffeine.cache.Caffeine;
+import org.apache.jena.atlas.lib.Cache;
+import org.apache.jena.atlas.lib.CacheFactory;
+import org.apache.jena.atlas.lib.cache.CacheCaffeine;
+
+import java.time.Duration;
+
+/**
+ *
+ */
+public class CacheConfiguration {
+
+    public static final int UNLIMITED_MAP = -1;
+    public static final int NO_MAP = 0;
+    public static final long MAP_EXPIRY_INTERVAL = 5000l;
+    public static final int UNLIMITED_INITIAL_CAPACITY = 50000;
+
+    private CacheConfiguration() {
+    }
+
+    /**
+     * Creates a cache
+     *
+     * @param maxSize            Maximum size, use {@value #NO_MAP} to disable caching, or {@value #UNLIMITED_MAP} to
+     *                           have an unlimited cache size
+     * @param expiryMilliseconds Expiry duration in milliseconds, entries which have not been accessed within this
+     *                           interval will be automatically expired from the cache
+     */
+    public static <K, V> Cache<K, V> create(long maxSize, long expiryMilliseconds) {
+        if (maxSize == NO_MAP) {
+            return CacheFactory.createNullCache();
+        }
+
+        long actualMaxSize = maxSize > UNLIMITED_MAP ? maxSize : Long.MAX_VALUE;
+        int actualInitialCapacity =
+                actualMaxSize == Long.MAX_VALUE ? UNLIMITED_INITIAL_CAPACITY : (int) actualMaxSize / 4;
+        return new CacheCaffeine<>(expiryMilliseconds > 0 ? Caffeine.newBuilder()
+                                                                    .maximumSize(actualMaxSize)
+                                                                    .initialCapacity(actualInitialCapacity)
+                                                                    .expireAfterAccess(
+                                                                            Duration.ofMillis(expiryMilliseconds))
+                                                                    .build() :
+                                   Caffeine.newBuilder()
+                                           .maximumSize(actualMaxSize)
+                                           .initialCapacity(actualInitialCapacity)
+                                           .build());
+    }
+}
diff --git a/jena-geosparql/src/main/java/org/apache/jena/geosparql/implementation/index/GeometryLiteralIndex.java b/jena-geosparql/src/main/java/org/apache/jena/geosparql/implementation/index/GeometryLiteralIndex.java
index 05c72cd..3d11f83 100644
--- a/jena-geosparql/src/main/java/org/apache/jena/geosparql/implementation/index/GeometryLiteralIndex.java
+++ b/jena-geosparql/src/main/java/org/apache/jena/geosparql/implementation/index/GeometryLiteralIndex.java
@@ -17,13 +17,10 @@
  */
 package org.apache.jena.geosparql.implementation.index;
 
-import static org.apache.jena.ext.io.github.galbiston.expiring_map.MapDefaultValues.MAP_EXPIRY_INTERVAL;
-import static org.apache.jena.ext.io.github.galbiston.expiring_map.MapDefaultValues.UNLIMITED_MAP;
+import static org.apache.jena.geosparql.implementation.index.CacheConfiguration.MAP_EXPIRY_INTERVAL;
+import static org.apache.jena.geosparql.implementation.index.CacheConfiguration.UNLIMITED_MAP;
 
-import java.util.Map;
-
-import org.apache.jena.ext.io.github.galbiston.expiring_map.ExpiringMap;
-import org.apache.jena.ext.io.github.galbiston.expiring_map.ExpiringMaps;
+import org.apache.jena.atlas.lib.Cache;
 import org.apache.jena.geosparql.implementation.GeometryWrapper;
 import org.apache.jena.geosparql.implementation.datatype.GeometryDatatype;
 
@@ -34,10 +31,9 @@
 public class GeometryLiteralIndex {
 
     private static boolean INDEX_ACTIVE = false;
-    private static final String PRIMARY_INDEX_LABEL = "Primary Geometry Literal Index";
-    private static final String SECONDARY_INDEX_LABEL = "Secondary Geometry Literal Index";
-    private static ExpiringMap<String, GeometryWrapper> PRIMARY_INDEX = ExpiringMaps.newExpiringMap(PRIMARY_INDEX_LABEL, UNLIMITED_MAP, MAP_EXPIRY_INTERVAL);
-    private static ExpiringMap<String, GeometryWrapper> SECONDARY_INDEX = ExpiringMaps.newExpiringMap(SECONDARY_INDEX_LABEL, UNLIMITED_MAP, MAP_EXPIRY_INTERVAL);
+    private static Cache<String, GeometryWrapper>
+            PRIMARY_INDEX = CacheConfiguration.create(UNLIMITED_MAP, MAP_EXPIRY_INTERVAL);
+    private static Cache<String, GeometryWrapper> SECONDARY_INDEX = CacheConfiguration.create(UNLIMITED_MAP, MAP_EXPIRY_INTERVAL);
 
     public enum GeometryIndex {
         PRIMARY, SECONDARY
@@ -57,15 +53,15 @@
         return geometryWrapper;
     }
 
-    private static GeometryWrapper retrieveMemoryIndex(String geometryLiteral, GeometryDatatype geometryDatatype, Map<String, GeometryWrapper> index, Map<String, GeometryWrapper> otherIndex) {
+    private static GeometryWrapper retrieveMemoryIndex(String geometryLiteral, GeometryDatatype geometryDatatype, Cache<String, GeometryWrapper> index, Cache<String, GeometryWrapper> otherIndex) {
 
         GeometryWrapper geometryWrapper;
 
         if (INDEX_ACTIVE) {
 
-            geometryWrapper = index.get(geometryLiteral);
+            geometryWrapper = index.getIfPresent(geometryLiteral);
             if (geometryWrapper == null) {
-                geometryWrapper = otherIndex.get(geometryLiteral);
+                geometryWrapper = otherIndex.getIfPresent(geometryLiteral);
                 if (geometryWrapper == null) {
                     geometryWrapper = geometryDatatype.read(geometryLiteral);
                 }
@@ -88,32 +84,11 @@
     }
 
     /**
-     * Sets the maximum size of Geometry Literal Index.
-     *
-     * @param maxSize : use -1 for unlimited size
-     */
-    public static final void setMaxSize(int maxSize) {
-        PRIMARY_INDEX.setMaxSize(maxSize);
-        SECONDARY_INDEX.setMaxSize(maxSize);
-    }
-
-    /**
-     * Sets the expiry time in milliseconds of the Geometry Literal Indexes, if
-     * active.
-     *
-     * @param expiryInterval : use 0 or negative for unlimited timeout
-     */
-    public static final void setExpiry(long expiryInterval) {
-        PRIMARY_INDEX.setExpiryInterval(expiryInterval);
-        SECONDARY_INDEX.setExpiryInterval(expiryInterval);
-    }
-
-    /**
      *
      * @return Number of items in the primary index.
      */
     public static final long getPrimaryIndexSize() {
-        return PRIMARY_INDEX.mappingCount();
+        return PRIMARY_INDEX.size();
     }
 
     /**
@@ -121,7 +96,7 @@
      * @return Number of items in the secondary index.
      */
     public static final long getSecondaryIndexSize() {
-        return SECONDARY_INDEX.mappingCount();
+        return SECONDARY_INDEX.size();
     }
 
     /**
@@ -139,13 +114,6 @@
      */
     public static void setIndexActive(boolean indexActive) {
         INDEX_ACTIVE = indexActive;
-        if (INDEX_ACTIVE) {
-            PRIMARY_INDEX.startExpiry();
-            SECONDARY_INDEX.startExpiry();
-        } else {
-            PRIMARY_INDEX.stopExpiry();
-            SECONDARY_INDEX.stopExpiry();
-        }
     }
 
     /**
@@ -156,8 +124,8 @@
      * @param expiryInterval
      */
     public static void reset(int maxSize, long expiryInterval) {
-        PRIMARY_INDEX = ExpiringMaps.newExpiringMap(PRIMARY_INDEX_LABEL, maxSize, expiryInterval);
-        SECONDARY_INDEX = ExpiringMaps.newExpiringMap(SECONDARY_INDEX_LABEL, maxSize, expiryInterval);
+        PRIMARY_INDEX = CacheConfiguration.create(maxSize, expiryInterval);
+        SECONDARY_INDEX = CacheConfiguration.create(maxSize, expiryInterval);
     }
 
 }
diff --git a/jena-geosparql/src/main/java/org/apache/jena/geosparql/implementation/index/GeometryTransformIndex.java b/jena-geosparql/src/main/java/org/apache/jena/geosparql/implementation/index/GeometryTransformIndex.java
index 7115e18..fd19d64 100644
--- a/jena-geosparql/src/main/java/org/apache/jena/geosparql/implementation/index/GeometryTransformIndex.java
+++ b/jena-geosparql/src/main/java/org/apache/jena/geosparql/implementation/index/GeometryTransformIndex.java
@@ -17,13 +17,12 @@
  */
 package org.apache.jena.geosparql.implementation.index;
 
-import static org.apache.jena.ext.io.github.galbiston.expiring_map.MapDefaultValues.MAP_EXPIRY_INTERVAL;
-import static org.apache.jena.ext.io.github.galbiston.expiring_map.MapDefaultValues.UNLIMITED_MAP;
+import static org.apache.jena.geosparql.implementation.index.CacheConfiguration.MAP_EXPIRY_INTERVAL;
+import static org.apache.jena.geosparql.implementation.index.CacheConfiguration.UNLIMITED_MAP;
 
 import java.util.Objects;
 
-import org.apache.jena.ext.io.github.galbiston.expiring_map.ExpiringMap;
-import org.apache.jena.ext.io.github.galbiston.expiring_map.ExpiringMaps;
+import org.apache.jena.atlas.lib.Cache;
 import org.apache.jena.geosparql.implementation.DimensionInfo;
 import org.apache.jena.geosparql.implementation.GeometryWrapper;
 import org.apache.jena.geosparql.implementation.jts.GeometryTransformation;
@@ -43,8 +42,8 @@
 public class GeometryTransformIndex {
 
     private static boolean INDEX_ACTIVE = false;
-    private static final String GEOMETRY_TRANSFORM_LABEL = "Geometry Transform";
-    private static ExpiringMap<IndexKey, GeometryWrapper> GEOMETRY_TRANSFORM_INDEX = ExpiringMaps.newExpiringMap(GEOMETRY_TRANSFORM_LABEL, UNLIMITED_MAP, MAP_EXPIRY_INTERVAL);
+    private static Cache<IndexKey, GeometryWrapper>
+            GEOMETRY_TRANSFORM_INDEX = CacheConfiguration.create(UNLIMITED_MAP, MAP_EXPIRY_INTERVAL);
 
     /**
      *
@@ -62,7 +61,7 @@
 
         if (INDEX_ACTIVE && storeSRSTransform) {
 
-            transformedGeometryWrapper = GEOMETRY_TRANSFORM_INDEX.get(key);
+            transformedGeometryWrapper = GEOMETRY_TRANSFORM_INDEX.getIfPresent(key);
             if (transformedGeometryWrapper == null) {
                 transformedGeometryWrapper = transform(sourceGeometryWrapper, srsURI);
                 GEOMETRY_TRANSFORM_INDEX.put(key, transformedGeometryWrapper);
@@ -98,30 +97,11 @@
     }
 
     /**
-     * Sets whether the maximum size of the Geometry Transform Index.
-     *
-     * @param maxSize : use -1 for unlimited size
-     */
-    public static final void setMaxSize(int maxSize) {
-        GEOMETRY_TRANSFORM_INDEX.setMaxSize(maxSize);
-    }
-
-    /**
-     * Sets the expiry time in milliseconds of the Geometry Transform Index, if
-     * active.
-     *
-     * @param expiryInterval : use 0 or negative for unlimited timeout
-     */
-    public static final void setExpiry(long expiryInterval) {
-        GEOMETRY_TRANSFORM_INDEX.setExpiryInterval(expiryInterval);
-    }
-
-    /**
      *
      * @return Number of items in the index.
      */
     public static final long getGeometryTransformIndexSize() {
-        return GEOMETRY_TRANSFORM_INDEX.mappingCount();
+        return GEOMETRY_TRANSFORM_INDEX.size();
     }
 
     /**
@@ -139,11 +119,6 @@
      */
     public static void setIndexActive(boolean indexActive) {
         INDEX_ACTIVE = indexActive;
-        if (INDEX_ACTIVE) {
-            GEOMETRY_TRANSFORM_INDEX.startExpiry();
-        } else {
-            GEOMETRY_TRANSFORM_INDEX.stopExpiry();
-        }
     }
 
     /**
@@ -154,7 +129,7 @@
      * @param expiryInterval
      */
     public static void reset(int maxSize, long expiryInterval) {
-        GEOMETRY_TRANSFORM_INDEX = ExpiringMaps.newExpiringMap(GEOMETRY_TRANSFORM_LABEL, maxSize, expiryInterval);
+        GEOMETRY_TRANSFORM_INDEX = CacheConfiguration.create(maxSize, expiryInterval);
     }
 
     private static class IndexKey {
diff --git a/jena-geosparql/src/main/java/org/apache/jena/geosparql/implementation/index/IndexConfiguration.java b/jena-geosparql/src/main/java/org/apache/jena/geosparql/implementation/index/IndexConfiguration.java
index ce905c6..19617a0 100644
--- a/jena-geosparql/src/main/java/org/apache/jena/geosparql/implementation/index/IndexConfiguration.java
+++ b/jena-geosparql/src/main/java/org/apache/jena/geosparql/implementation/index/IndexConfiguration.java
@@ -17,10 +17,11 @@
  */
 package org.apache.jena.geosparql.implementation.index;
 
-import static org.apache.jena.ext.io.github.galbiston.expiring_map.MapDefaultValues.NO_MAP;
-import static org.apache.jena.ext.io.github.galbiston.expiring_map.MapDefaultValues.UNLIMITED_MAP;
+import static org.apache.jena.geosparql.implementation.index.CacheConfiguration.NO_MAP;
+import static org.apache.jena.geosparql.implementation.index.CacheConfiguration.UNLIMITED_MAP;
 
 import java.util.UUID;
+
 import org.apache.jena.geosparql.implementation.registry.MathTransformRegistry;
 import org.apache.jena.geosparql.implementation.registry.SRSRegistry;
 
@@ -57,8 +58,8 @@
     private static void setupNoIndex() {
         IndexConfiguration.resetIndexes();
         IndexConfiguration.stopIndexes();
-        GeometryLiteralIndex.setMaxSize(NO_MAP);
-        GeometryTransformIndex.setMaxSize(NO_MAP);
+        GeometryLiteralIndex.reset(NO_MAP, 0);
+        GeometryTransformIndex.reset(NO_MAP, 0);
         QueryRewriteIndex.setMaxSize(NO_MAP);
     }
 
@@ -66,8 +67,8 @@
      * Indexes are set to unlimited storage and started.
      */
     private static void setupMemoryIndex() {
-        GeometryLiteralIndex.setMaxSize(UNLIMITED_MAP);
-        GeometryTransformIndex.setMaxSize(UNLIMITED_MAP);
+        GeometryLiteralIndex.reset(UNLIMITED_MAP, 0);
+        GeometryTransformIndex.reset(UNLIMITED_MAP, 0);
         QueryRewriteIndex.setMaxSize(UNLIMITED_MAP);
         IndexConfiguration.startIndexes();
     }
@@ -90,33 +91,6 @@
         //QueryRewriteIndex are on a Dataset basis.
     }
 
-    /**
-     * Set the maximum size of the indexes.<br>
-     * Zero for no index and -1 for unlimited size.
-     *
-     * @param geometryLiteralIndex
-     * @param geometryTransformIndex
-     * @param queryRewriteIndex
-     */
-    public static final void setIndexMaxSize(int geometryLiteralIndex, int geometryTransformIndex, int queryRewriteIndex) {
-        GeometryLiteralIndex.setMaxSize(geometryLiteralIndex);
-        GeometryTransformIndex.setMaxSize(geometryTransformIndex);
-        QueryRewriteIndex.setMaxSize(queryRewriteIndex);
-    }
-
-    /**
-     * Set the index expiry interval in milliseconds.
-     *
-     * @param geometryLiteralIndex
-     * @param geometryTransformIndex
-     * @param queryRewriteIndex
-     */
-    public static final void setIndexExpiry(long geometryLiteralIndex, long geometryTransformIndex, long queryRewriteIndex) {
-        GeometryLiteralIndex.setExpiry(geometryLiteralIndex);
-        GeometryTransformIndex.setExpiry(geometryTransformIndex);
-        QueryRewriteIndex.setExpiry(queryRewriteIndex);
-    }
-
     public static final void resetIndexes() {
         GeometryLiteralIndex.clear();
         GeometryTransformIndex.clear();
diff --git a/jena-geosparql/src/main/java/org/apache/jena/geosparql/implementation/index/QueryRewriteIndex.java b/jena-geosparql/src/main/java/org/apache/jena/geosparql/implementation/index/QueryRewriteIndex.java
index 56c4fac..6045174 100644
--- a/jena-geosparql/src/main/java/org/apache/jena/geosparql/implementation/index/QueryRewriteIndex.java
+++ b/jena-geosparql/src/main/java/org/apache/jena/geosparql/implementation/index/QueryRewriteIndex.java
@@ -17,11 +17,7 @@
  */
 package org.apache.jena.geosparql.implementation.index;
 
-import static org.apache.jena.ext.io.github.galbiston.expiring_map.MapDefaultValues.MAP_EXPIRY_INTERVAL;
-import static org.apache.jena.ext.io.github.galbiston.expiring_map.MapDefaultValues.UNLIMITED_MAP;
-
-import org.apache.jena.ext.io.github.galbiston.expiring_map.ExpiringMap;
-import org.apache.jena.ext.io.github.galbiston.expiring_map.ExpiringMaps;
+import org.apache.jena.atlas.lib.Cache;
 import org.apache.jena.geosparql.configuration.GeoSPARQLConfig;
 import org.apache.jena.geosparql.geo.topological.GenericPropertyFunction;
 import org.apache.jena.graph.Graph;
@@ -36,34 +32,31 @@
 import org.apache.jena.sparql.util.Context;
 import org.apache.jena.sparql.util.Symbol;
 
+import java.util.Iterator;
+
+import static org.apache.jena.geosparql.implementation.index.CacheConfiguration.MAP_EXPIRY_INTERVAL;
+import static org.apache.jena.geosparql.implementation.index.CacheConfiguration.UNLIMITED_MAP;
+
 /**
  *
  */
 public class QueryRewriteIndex {
 
     private boolean indexActive;
-    private final String queryRewriteLabel;
-    private ExpiringMap<Triple, Boolean> index;
-    private static String LABEL_DEFAULT = "Query Rewrite";
+    private Cache<Triple, Boolean> index;
     private static int MAP_SIZE_DEFAULT = UNLIMITED_MAP;
     private static long MAP_EXPIRY_INTERVAL_DEFAULT = MAP_EXPIRY_INTERVAL;
 
     public static final Symbol QUERY_REWRITE_INDEX_SYMBOL = Symbol.create("http://jena.apache.org/spatial#query-index");
 
     public QueryRewriteIndex() {
-        this.queryRewriteLabel = LABEL_DEFAULT;
         this.indexActive = GeoSPARQLConfig.isQueryRewriteEnabled();
-        this.index = ExpiringMaps.newExpiringMap(queryRewriteLabel, MAP_SIZE_DEFAULT, MAP_EXPIRY_INTERVAL_DEFAULT);
-        if (indexActive) {
-            index.startExpiry();
-        }
+        this.index = CacheConfiguration.create(MAP_SIZE_DEFAULT, MAP_EXPIRY_INTERVAL_DEFAULT);
     }
 
     public QueryRewriteIndex(String queryRewriteLabel, int maxSize, long expiryInterval) {
-        this.queryRewriteLabel = queryRewriteLabel;
         this.indexActive = true;
-        this.index = ExpiringMaps.newExpiringMap(queryRewriteLabel, maxSize, expiryInterval);
-        this.index.startExpiry();
+        this.index = CacheConfiguration.create(maxSize, expiryInterval);
     }
 
     /**
@@ -83,7 +76,7 @@
         if (indexActive) {
             Triple key = Triple.create(subjectGeometryLiteral, predicate, objectGeometryLiteral);
             try {
-                return index.computeIfAbsent(key, k -> propertyFunction.testFilterFunction(subjectGeometryLiteral, objectGeometryLiteral));
+                return index.get(key, k -> propertyFunction.testFilterFunction(subjectGeometryLiteral, objectGeometryLiteral));
             } catch (NullPointerException ex) {
                 //Catch NullPointerException and fall through to default action.
             }
@@ -100,26 +93,6 @@
     }
 
     /**
-     * Sets whether the Query Rewrite Index is active.
-     * <br> The index will be empty after this process.
-     *
-     * @param maxSize : use -1 for unlimited size
-     */
-    public final void setMapSize(int maxSize) {
-        index.setMaxSize(maxSize);
-    }
-
-    /**
-     * Sets the expiry time in milliseconds of the Query Rewrite Index, if
-     * active.
-     *
-     * @param expiryInterval : use 0 or negative for unlimited timeout
-     */
-    public final void setMapExpiry(long expiryInterval) {
-        index.setExpiryInterval(expiryInterval);
-    }
-
-    /**
      *
      * @return True if index is active.
      */
@@ -128,17 +101,19 @@
     }
 
     /**
-     * COnverts the index to a model of asserted spatial relation statements.
+     * Converts the index to a model of asserted spatial relation statements.
      *
      * @return Model containing all true assertions.
      */
     public Model toModel() {
         Graph graph = GraphFactory.createDefaultGraph();
-        index.forEach((key, value) -> {
-            if (value) {
+        for (Iterator<Triple> it = index.keys(); it.hasNext(); ) {
+            Triple key = it.next();
+            Boolean value = index.getIfPresent(key);
+            if (value != null && value) {
                 graph.add(key);
             }
-        });
+        }
         return ModelFactory.createModelForGraph(graph);
     }
 
@@ -149,12 +124,6 @@
      */
     public final void setActive(boolean indexActive) {
         this.indexActive = indexActive;
-
-        if (indexActive) {
-            index.startExpiry();
-        } else {
-            index.stopExpiry();
-        }
     }
 
     /**
@@ -162,18 +131,18 @@
      * @return Number of items in the index.
      */
     public final long getIndexSize() {
-        return index.mappingCount();
+        return index.size();
     }
 
     /**
      * Reset the index to the provided max size and expiry interval.<br>
      * All contents will be lost.
      *
-     * @param maxSize
-     * @param expiryInterval
+     * @param maxSize Maximum size
+     * @param expiryInterval Expiry interval
      */
     public void reset(int maxSize, long expiryInterval) {
-        index = ExpiringMaps.newExpiringMap(queryRewriteLabel, maxSize, expiryInterval);
+        index = CacheConfiguration.create(maxSize, expiryInterval);
     }
 
     /**
@@ -262,7 +231,7 @@
      * @return QueryRewriteIndex contained in the Context.
      */
     public static final QueryRewriteIndex retrieve(Context context) {
-        QueryRewriteIndex queryRewriteIndex = (QueryRewriteIndex) context.get(QUERY_REWRITE_INDEX_SYMBOL, null);
+        QueryRewriteIndex queryRewriteIndex = context.get(QUERY_REWRITE_INDEX_SYMBOL, null);
 
         if (queryRewriteIndex == null) {
             queryRewriteIndex = createDefault();
diff --git a/jena-geosparql/src/test/java/org/apache/jena/ext/io/github/galbiston/expiring_map/ExpiringMapTest.java b/jena-geosparql/src/test/java/org/apache/jena/ext/io/github/galbiston/expiring_map/ExpiringMapTest.java
deleted file mode 100644
index b7129a1..0000000
--- a/jena-geosparql/src/test/java/org/apache/jena/ext/io/github/galbiston/expiring_map/ExpiringMapTest.java
+++ /dev/null
@@ -1,475 +0,0 @@
-/*
- * Copyright 2018 the original author or authors.
- * See the notice.md file distributed with this work for additional
- * information regarding copyright ownership.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.jena.ext.io.github.galbiston.expiring_map;
-
-import org.junit.After;
-import org.junit.AfterClass;
-
-import static org.apache.jena.ext.io.github.galbiston.expiring_map.MapDefaultValues.MAP_CLEANER_INTERVAL;
-import static org.apache.jena.ext.io.github.galbiston.expiring_map.MapDefaultValues.MINIMUM_MAP_CLEANER_INTERVAL;
-import static org.apache.jena.ext.io.github.galbiston.expiring_map.MapDefaultValues.UNLIMITED_EXPIRY;
-import static org.junit.Assert.assertEquals;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-/**
- *
- *
- */
-public class ExpiringMapTest {
-
-    public ExpiringMapTest() {
-    }
-
-    @BeforeClass
-    public static void setUpClass() {
-    }
-
-    @AfterClass
-    public static void tearDownClass() {
-    }
-
-    @Before
-    public void setUp() {
-    }
-
-    @After
-    public void tearDown() {
-    }
-
-    /**
-     * Test of put method, of class ExpiringMap.
-     *
-     * @throws java.lang.InterruptedException
-     */
-    @Test
-    public void testExpiry() throws InterruptedException {
-        //System.out.println("expiry");
-
-        long expiryInterval = 2000l;
-        long cleanerInterval = 1000l;
-        long halfExpiryInterval = expiryInterval / 2;
-
-        ExpiringMap<String, String> instance = new ExpiringMap<>("Test", 5, expiryInterval, cleanerInterval);
-
-        instance.put("key1", "value1");
-        instance.put("key2", "value2");
-        instance.put("key3", "value3");
-        instance.put("key4", "value4");
-        instance.startExpiry();
-        Thread.sleep(halfExpiryInterval + 100);
-        instance.put("key5", "value5"); //Should be rejected.
-        instance.put("key6", "value6");
-        ////System.out.println("Size Before: " + instance.size());
-        Thread.sleep(halfExpiryInterval + cleanerInterval);
-        instance.stopExpiry();
-        ////System.out.println("Size After: " + instance.size());
-        int result = instance.size();
-        int expResult = 1;
-
-        ////System.out.println("Exp: " + expResult);
-        ////System.out.println("Res: " + result);
-        assertEquals(expResult, result);
-    }
-
-    /**
-     * Test of put method, of class ExpiringMap.
-     *
-     * @throws java.lang.InterruptedException
-     */
-    @Test
-    public void testExpiry_none() throws InterruptedException {
-        //System.out.println("expiry_none");
-
-        ExpiringMap<String, String> instance = new ExpiringMap<>("Test");
-
-        instance.put("key1", "value1");
-        instance.put("key2", "value2");
-        instance.put("key3", "value3");
-        instance.put("key4", "value4");
-        instance.startExpiry();
-        Thread.sleep(1000);
-        instance.put("key5", "value5");
-        instance.put("key6", "value6");
-
-        ////System.out.println("Size Before: " + instance.size());
-        Thread.sleep(1000);
-        instance.stopExpiry();
-        ////System.out.println("Size After: " + instance.size());
-        int result = instance.size();
-        int expResult = 6;
-
-        ////System.out.println("Exp: " + expResult);
-        ////System.out.println("Res: " + result);
-        assertEquals(expResult, result);
-    }
-
-    /**
-     * Test of put method, of class ExpiringMap.
-     *
-     * @throws java.lang.InterruptedException
-     */
-    @Test
-    public void testRefresh() throws InterruptedException {
-        //System.out.println("refresh");
-
-        long expiryInterval = 2000l;
-        long halfExpiryInterval = expiryInterval / 2;
-        long quarterExpiryInterval = expiryInterval / 3 * 4;
-
-        ExpiringMap<String, String> instance = new ExpiringMap<>("Test", 5, expiryInterval, halfExpiryInterval);
-
-        instance.put("key1", "value1");
-        instance.put("key2", "value2");
-        instance.put("key3", "value3");
-        instance.put("key4", "value4");
-        instance.startExpiry();
-        Thread.sleep(halfExpiryInterval + quarterExpiryInterval);
-        instance.put("key1", "value1");
-        instance.put("key2", "value2");
-        ////System.out.println("Size Before: " + instance.size());
-        Thread.sleep(halfExpiryInterval);
-        instance.stopExpiry();
-        ////System.out.println("Size After: " + instance.size());
-        int result = instance.size();
-        int expResult = 2;
-
-        ////System.out.println("Exp: " + expResult);
-        ////System.out.println("Res: " + result);
-        assertEquals(expResult, result);
-    }
-
-    /**
-     * Test of put method, of class ExpiringMap.
-     *
-     * @throws java.lang.InterruptedException
-     */
-    @Test
-    public void testEmpty() throws InterruptedException {
-        //System.out.println("empty");
-
-        long expiryInterval = 2000l;
-        long cleanerInterval = 1000l;
-        long halfExpiryInterval = expiryInterval / 2;
-
-        ExpiringMap<String, String> instance = new ExpiringMap<>("Test", 5, expiryInterval, cleanerInterval);
-
-        instance.put("key1", "value1");
-        instance.put("key2", "value2");
-        instance.put("key3", "value3");
-        instance.put("key4", "value4");
-        instance.startExpiry();
-        Thread.sleep(halfExpiryInterval);
-        instance.put("key1", "value1");
-        instance.put("key2", "value2");
-        ////System.out.println("Size Before: " + instance.size());
-        Thread.sleep(expiryInterval + cleanerInterval);
-        instance.stopExpiry();
-        ////System.out.println("Size After: " + instance.size());
-        int result = instance.size();
-        int expResult = 0;
-
-        ////System.out.println("Exp: " + expResult);
-        ////System.out.println("Res: " + result);
-        assertEquals(expResult, result);
-    }
-
-    /**
-     * Test of setCleanerInterval method, of class ExpiringMap.
-     */
-    @Test
-    public void testSetCleanerInterval() {
-        //System.out.println("setCleanerInterval");
-        long cleanerInterval = 2000L;
-        ExpiringMap<?,?> instance = new ExpiringMap<>("Test", 5);
-        instance.setCleanerInterval(cleanerInterval);
-        long expResult = cleanerInterval;
-        long result = instance.getCleanerInterval();
-
-        ////System.out.println("Exp: " + expResult);
-        ////System.out.println("Res: " + result);
-        assertEquals(expResult, result);
-    }
-
-    /**
-     * Test of setCleanerInterval method, of class ExpiringMap.
-     */
-    @Test
-    public void testSetCleanerInterval_minimum() {
-        //System.out.println("setCleanerInterval_minimum");
-        long cleanerInterval = 0L;
-        ExpiringMap<?,?> instance = new ExpiringMap<>("Test", 5);
-        instance.setCleanerInterval(cleanerInterval);
-        long expResult = MINIMUM_MAP_CLEANER_INTERVAL;
-        long result = instance.getCleanerInterval();
-
-        ////System.out.println("Exp: " + expResult);
-        ////System.out.println("Res: " + result);
-        assertEquals(expResult, result);
-    }
-
-    /**
-     * Test of setExpiryInterval method, of class ExpiringMap.
-     */
-    @Test
-    public void testSetExpiryInterval() {
-        //System.out.println("setExpiryInterval");
-        long expiryInterval = 2000L;
-        ExpiringMap<?,?> instance = new ExpiringMap<>("Test", 5);
-        instance.setExpiryInterval(expiryInterval);
-        long expResult = expiryInterval;
-        long result = instance.getExpiryInterval();
-
-        ////System.out.println("Exp: " + expResult);
-        ////System.out.println("Res: " + result);
-        assertEquals(expResult, result);
-    }
-
-    /**
-     * Test of setExpiryInterval method, of class ExpiringMap.
-     */
-    @Test
-    public void testSetExpiryInterval_minimum() {
-        //System.out.println("setExpiryInterval_minimum");
-        long expiryInterval = 0L;
-        ExpiringMap<?,?> instance = new ExpiringMap<>("Test", 5);
-        instance.setExpiryInterval(expiryInterval);
-        long expResult = MAP_CLEANER_INTERVAL + 1;
-        long result = instance.getExpiryInterval();
-
-        ////System.out.println("Exp: " + expResult);
-        ////System.out.println("Res: " + result);
-        assertEquals(expResult, result);
-    }
-
-    /**
-     * Test of isExpiring method, of class ExpiringMap.
-     */
-    @Test
-    public void testIsExpiring() {
-        //System.out.println("isExpiring");
-        long expiryInterval = 1000L;
-        ExpiringMap<?,?> instance = new ExpiringMap<>("Test", 5);
-        instance.setExpiryInterval(expiryInterval);
-        boolean expResult = true;
-        boolean result = instance.isExpiring();
-
-        ////System.out.println("Exp: " + expResult);
-        ////System.out.println("Res: " + result);
-        assertEquals(expResult, result);
-    }
-
-    /**
-     * Test of isExpiring method, of class ExpiringMap.
-     */
-    @Test
-    public void testIsExpiring_false() {
-        //System.out.println("isExpiring_false");
-        long expiryInterval = UNLIMITED_EXPIRY;
-        ExpiringMap<?,?> instance = new ExpiringMap<>("Test", 5);
-        instance.setExpiryInterval(expiryInterval);
-        boolean expResult = false;
-        boolean result = instance.isExpiring();
-
-        ////System.out.println("Exp: " + expResult);
-        ////System.out.println("Res: " + result);
-        assertEquals(expResult, result);
-    }
-
-    /**
-     * Test of put method, of class ExpiringMap.
-     *
-     * @throws java.lang.InterruptedException
-     */
-    @Test
-    public void testExpiry_change_max_size() throws InterruptedException {
-        //System.out.println("expiry_change_max_size");
-
-        long expiryInterval = 2000l;
-        long cleanerInterval = 1000l;
-        long halfExpiryInterval = expiryInterval / 2;
-
-        ExpiringMap<String, String> instance = new ExpiringMap<>("Test", 5, expiryInterval, cleanerInterval);
-
-        instance.put("key1", "value1");
-        instance.put("key2", "value2");
-        instance.put("key3", "value3");
-        instance.put("key4", "value4");
-        instance.startExpiry();
-        Thread.sleep(halfExpiryInterval + 100);
-        instance.setMaxSize(10);
-        instance.put("key5", "value5");
-        instance.put("key6", "value6");
-        ////System.out.println("Size Before: " + instance.size());
-        instance.stopExpiry();
-        ////System.out.println("Size After: " + instance.size());
-        int result = instance.size();
-        int expResult = 6;
-
-        ////System.out.println("Exp: " + expResult);
-        ////System.out.println("Res: " + result);
-        assertEquals(expResult, result);
-    }
-
-    /**
-     * Test of put method, of class ExpiringMap.
-     *
-     * @throws java.lang.InterruptedException
-     */
-    @Test
-    public void testExpiry_change_max_size_reduced() throws InterruptedException {
-        //System.out.println("expiry_change_max_size_reduced");
-
-        long expiryInterval = 2000l;
-        long cleanerInterval = 1000l;
-        long halfExpiryInterval = expiryInterval / 2;
-
-        ExpiringMap<String, String> instance = new ExpiringMap<>("Test", 10, expiryInterval, cleanerInterval);
-
-        instance.put("key1", "value1");
-        instance.put("key2", "value2");
-        instance.put("key3", "value3");
-        instance.put("key4", "value4");
-        instance.startExpiry();
-        Thread.sleep(halfExpiryInterval + 100);
-
-        instance.put("key5", "value5");
-        instance.put("key6", "value6");
-        instance.setMaxSize(5);
-        instance.put("key7", "value7"); //Should be rejected.
-        ////System.out.println("Size Before: " + instance.size());
-        instance.stopExpiry();
-        ////System.out.println("Size After: " + instance.size());
-        int result = instance.size();
-        int expResult = 6;  //Over max size but don't remove until expired.
-
-        ////System.out.println("Exp: " + expResult);
-        ////System.out.println("Res: " + result);
-        assertEquals(expResult, result);
-    }
-
-    /**
-     * Test of put method, of class ExpiringMap.
-     *
-     * @throws java.lang.InterruptedException
-     */
-    @Test
-    public void testExpiry_change_expiry_interval() throws InterruptedException {
-        //System.out.println("expiry_change_expiry_interval");
-
-        long expiryInterval = 2000l;
-        long cleanerInterval = 1000l;
-        long halfExpiryInterval = expiryInterval / 2;
-
-        ExpiringMap<String, String> instance = new ExpiringMap<>("Test", 10, expiryInterval, cleanerInterval);
-
-        instance.put("key1", "value1");
-        instance.put("key2", "value2");
-        instance.put("key3", "value3");
-        instance.put("key4", "value4");
-        instance.startExpiry();
-        Thread.sleep(halfExpiryInterval + 100);
-        instance.put("key5", "value5");
-        instance.put("key6", "value6");
-        instance.setExpiryInterval(4000l);
-        ////System.out.println("Size Before: " + instance.size());
-        Thread.sleep(halfExpiryInterval + cleanerInterval); //No cleaning should have taken place.
-        instance.stopExpiry();
-        ////System.out.println("Size After: " + instance.size());
-        int result = instance.size();
-        int expResult = 6;
-
-        ////System.out.println("Exp: " + expResult);
-        ////System.out.println("Res: " + result);
-        assertEquals(expResult, result);
-    }
-
-    /**
-     * Test of put method, of class ExpiringMap.
-     *
-     * @throws java.lang.InterruptedException
-     */
-    @Test
-    public void testExpiry_change_expiry_interval_reduced() throws InterruptedException {
-        //System.out.println("expiry_change_expiry_interval_reduced");
-
-        long expiryInterval = 4000l;
-        long cleanerInterval = 1000l;
-        long halfExpiryInterval = expiryInterval / 2;
-
-        ExpiringMap<String, String> instance = new ExpiringMap<>("Test", 10, expiryInterval, cleanerInterval);
-
-        instance.put("key1", "value1");
-        instance.put("key2", "value2");
-        instance.put("key3", "value3");
-        instance.put("key4", "value4");
-        instance.startExpiry();
-        Thread.sleep(halfExpiryInterval + 100);
-        instance.put("key5", "value5");
-        instance.put("key6", "value6");
-        instance.setExpiryInterval(2000l);
-        ////System.out.println("Size Before: " + instance.size());
-        Thread.sleep(halfExpiryInterval + cleanerInterval); //All should have been removed.
-        instance.stopExpiry();
-        ////System.out.println("Size After: " + instance.size());
-        int result = instance.size();
-        int expResult = 0;
-
-        ////System.out.println("Exp: " + expResult);
-        ////System.out.println("Res: " + result);
-        assertEquals(expResult, result);
-    }
-
-    /**
-     * Test of put method, of class ExpiringMap.
-     *
-     * @throws java.lang.InterruptedException
-     */
-    @Test
-    public void testExpiry_set_cleaner() throws InterruptedException {
-        //System.out.println("expiry_set_cleaner");
-
-        long expiryInterval = 2000l;
-        long cleanerInterval = 1000l;
-        long halfExpiryInterval = expiryInterval / 2;
-
-        ExpiringMap<String, String> instance = new ExpiringMap<>("Test", 5, expiryInterval, cleanerInterval);
-
-        instance.put("key1", "value1");
-        instance.put("key2", "value2");
-        instance.put("key3", "value3");
-        instance.put("key4", "value4");
-        instance.startExpiry();
-        Thread.sleep(halfExpiryInterval + 100);
-        instance.setCleanerInterval(500l); //No obvious effect should occur.
-        instance.put("key5", "value5"); //Should be rejected.
-        instance.put("key6", "value6");
-        ////System.out.println("Size Before: " + instance.size());
-        Thread.sleep(halfExpiryInterval + cleanerInterval);
-        instance.stopExpiry();
-        ////System.out.println("Size After: " + instance.size());
-        int result = instance.size();
-        int expResult = 1;
-
-        ////System.out.println("Exp: " + expResult);
-        ////System.out.println("Res: " + result);
-        assertEquals(expResult, result);
-    }
-
-}
diff --git a/jena-geosparql/src/test/java/org/apache/jena/geosparql/implementation/index/CacheConfigurationTest.java b/jena-geosparql/src/test/java/org/apache/jena/geosparql/implementation/index/CacheConfigurationTest.java
new file mode 100644
index 0000000..97e6de5
--- /dev/null
+++ b/jena-geosparql/src/test/java/org/apache/jena/geosparql/implementation/index/CacheConfigurationTest.java
@@ -0,0 +1,97 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jena.geosparql.implementation.index;
+
+import org.apache.jena.atlas.lib.Cache;
+import org.apache.jena.atlas.lib.cache.CacheCaffeine;
+import org.junit.Assert;
+import org.junit.Test;
+
+public class CacheConfigurationTest {
+
+    @Test
+    public void cache_creation_null() {
+        Cache<String, String> cache = CacheConfiguration.create(CacheConfiguration.NO_MAP, 0L);
+        cache.put("test", "test");
+        Assert.assertFalse(cache.containsKey("test"));
+    }
+
+    @Test
+    public void cache_creation_simple_01() {
+        Cache<Integer, String> cache = CacheConfiguration.create(100, 0L);
+
+        for (int i = 0; i < 1_000; i++) {
+            cache.put(i, Integer.toString(i));
+        }
+
+        // Should be fewer items than we added since we exceeded the max size
+        forceCleanUp(cache);
+        Assert.assertNotEquals(1_000, cache.size());
+    }
+
+    @Test
+    public void cache_creation_simple_02() {
+        Cache<Integer, String> cache = CacheConfiguration.create(100_000, 0L);
+
+        for (int i = 0; i < 1_000; i++) {
+            cache.put(i, Integer.toString(i));
+        }
+
+        // Should be exactly as many items as we added as we aren't remotely near the max size
+        forceCleanUp(cache);
+        Assert.assertEquals(1_000, cache.size());
+    }
+
+    @Test
+    public void cache_creation_unlimited() {
+        Cache<Integer, String> cache = CacheConfiguration.create(CacheConfiguration.UNLIMITED_MAP, 0L);
+
+        for (int i = 0; i < 1_000; i++) {
+            cache.put(i, Integer.toString(i));
+        }
+
+        // Should be exactly as many items as we added as we aren't remotely near the max size
+        forceCleanUp(cache);
+        Assert.assertEquals(1_000, cache.size());
+    }
+
+    @Test
+    public void cache_creation_expiring() throws InterruptedException {
+        Cache<Integer, String> cache = CacheConfiguration.create(100, 100);
+
+        for (int i = 0; i < 1_000; i++) {
+            cache.put(i, Integer.toString(i));
+        }
+
+        // Should be fewer items than we added since we exceeded the max size
+        forceCleanUp(cache);
+        Assert.assertNotEquals(1_000L, cache.size());
+
+        // Wait for everything to expire and check now empty
+        Thread.sleep(250L);
+        forceCleanUp(cache);
+        Assert.assertEquals(0L, cache.size());
+    }
+
+    private static <K, V> void forceCleanUp(Cache<K, V> cache) {
+        if (cache instanceof CacheCaffeine<K, V> caffeine) {
+            caffeine.cleanUp();
+        }
+    }
+}
diff --git a/jena-geosparql/src/test/resources/log4j2.properties b/jena-geosparql/src/test/resources/log4j2.properties
index 5326bdd..4330ba0 100644
--- a/jena-geosparql/src/test/resources/log4j2.properties
+++ b/jena-geosparql/src/test/resources/log4j2.properties
@@ -46,10 +46,6 @@
 logger.jetty.name  = org.eclipse.jetty
 logger.jetty.level = WARN
 
-# May be useful to turn up to DEBUG if debugging HTTP communication issues
-logger.apache-http.name   = org.apache.http
-logger.apache-http.level  = WARN
-
 # This goes out in NCSA format
 appender.plain.type = Console
 appender.plain.name = PLAIN
diff --git a/jena-integration-tests/pom.xml b/jena-integration-tests/pom.xml
index c05b8d7..b10eec7 100644
--- a/jena-integration-tests/pom.xml
+++ b/jena-integration-tests/pom.xml
@@ -29,7 +29,7 @@
   <parent>
     <groupId>org.apache.jena</groupId>
     <artifactId>jena</artifactId>
-    <version>5.0.0-SNAPSHOT</version>
+    <version>5.1.0-SNAPSHOT</version>
     <relativePath>..</relativePath>
   </parent>
 
@@ -42,7 +42,7 @@
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>apache-jena-libs</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
       <type>pom</type>
     </dependency>
 
@@ -50,13 +50,13 @@
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-rdfconnection</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
     </dependency>
 
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-rdfconnection</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
       <classifier>tests</classifier>
       <scope>test</scope>
     </dependency>
@@ -64,14 +64,14 @@
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-cmds</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
 
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-cmds</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
       <classifier>tests</classifier>
       <scope>test</scope>
     </dependency>
@@ -79,19 +79,19 @@
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-geosparql</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
     </dependency>
 
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-fuseki-main</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
     </dependency>
 
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-fuseki-core</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
       <classifier>tests</classifier>
       <scope>test</scope>
     </dependency>
@@ -99,7 +99,7 @@
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-fuseki-main</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
       <classifier>tests</classifier>
       <scope>test</scope>
     </dependency>  
@@ -107,14 +107,14 @@
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-text</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
     </dependency>
 
     <!-- The test artifacts to go with apache-jena-libs -->
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-base</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
       <classifier>tests</classifier>
       <scope>test</scope>
     </dependency>
@@ -122,13 +122,13 @@
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-dboe-index-test</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
     </dependency>
 
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-dboe-trans-data</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
       <classifier>tests</classifier>
       <scope>test</scope>
     </dependency>
@@ -137,21 +137,21 @@
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-core</artifactId>
       <classifier>tests</classifier>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>    
 
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-arq</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
       <classifier>tests</classifier>
       <scope>test</scope>
     </dependency>
 
     <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
+      <groupId>org.junit.vintage</groupId>
+      <artifactId>junit-vintage-engine</artifactId>
       <scope>test</scope>
     </dependency>
 
diff --git a/jena-integration-tests/src/test/java/org/apache/jena/http/TestAuthRemote.java b/jena-integration-tests/src/test/java/org/apache/jena/http/TestAuthRemote.java
index 171e8be..fef420a 100644
--- a/jena-integration-tests/src/test/java/org/apache/jena/http/TestAuthRemote.java
+++ b/jena-integration-tests/src/test/java/org/apache/jena/http/TestAuthRemote.java
@@ -41,9 +41,8 @@
 import org.apache.jena.sparql.graph.GraphFactory;
 import org.apache.jena.sparql.sse.SSE;
 import org.apache.jena.test.conn.EnvTest;
-import org.junit.AfterClass;
+import org.junit.After;
 import org.junit.Before;
-import org.junit.BeforeClass;
 import org.junit.Test;
 
 /**
@@ -53,17 +52,13 @@
     private static String user = "user";
     private static String password = "password";
 
-    private static EnvTest env;
-    @BeforeClass public static void beforeClass() {
+    private EnvTest env;
+    @Before public void beforeClass() {
         //FusekiLogging.setLogging();
         env = EnvTest.createAuth("/ds", DatasetGraphFactory.createTxnMem(), user, password);
     }
 
-    @Before public void before() {
-        env.clear();
-    }
-
-    @AfterClass public static void afterClass() {
+    @After public void after() {
         EnvTest.stop(env);
     }
 
diff --git a/jena-integration-tests/src/test/java/org/apache/jena/test/conn/EnvTest.java b/jena-integration-tests/src/test/java/org/apache/jena/test/conn/EnvTest.java
index 57a3ec7..ee6021f 100644
--- a/jena-integration-tests/src/test/java/org/apache/jena/test/conn/EnvTest.java
+++ b/jena-integration-tests/src/test/java/org/apache/jena/test/conn/EnvTest.java
@@ -55,17 +55,15 @@
 public class EnvTest {
 
 /* Cut&Paste
-    private static EnvTest env;
-    @BeforeClass public static void beforeClass() {
-        //FusekiLogging.setLogging(); -- development only
+  For MS Windows
+
+    private EnvTest env;
+
+    @Before public void before() {
         env = EnvTest.create("/ds");
     }
 
-    @Before public void before() {
-        env.clear();
-    }
-
-    @AfterClass public static void afterClass() {
+    @After public void after() {
         EnvTest.stop(env);
     }
 */
@@ -129,8 +127,7 @@
                    .serverAuthPolicy(Auth.policyAllowSpecific(user));
         }
 
-        FusekiServer server = builder.build();
-        server.start();
+        FusekiServer server = builder.start();
         return server;
     }
 
diff --git a/jena-integration-tests/src/test/resources/log4j2.properties b/jena-integration-tests/src/test/resources/log4j2.properties
index 98766b0..6d30615 100644
--- a/jena-integration-tests/src/test/resources/log4j2.properties
+++ b/jena-integration-tests/src/test/resources/log4j2.properties
@@ -49,10 +49,6 @@
 logger.geosparql-registry.name = org.apache.jena.geosparql.implementation.registry.SRSRegistry
 logger.geosparql-registry.level = ERROR
 
-# May be useful to turn up to DEBUG if debugging HTTP communication issues
-logger.apache-http.name   = org.apache.http
-logger.apache-http.level  = WARN
-
 # This goes out in NCSA format
 appender.plain.type = Console
 appender.plain.name = PLAIN
diff --git a/jena-iri/pom.xml b/jena-iri/pom.xml
index 362a6f5..e978b44 100644
--- a/jena-iri/pom.xml
+++ b/jena-iri/pom.xml
@@ -26,7 +26,7 @@
   <parent>
     <groupId>org.apache.jena</groupId>
     <artifactId>jena</artifactId>
-    <version>5.0.0-SNAPSHOT</version>
+    <version>5.1.0-SNAPSHOT</version>
     <relativePath>..</relativePath>
   </parent> 
   
@@ -41,8 +41,8 @@
   <dependencies>
 
     <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
+      <groupId>org.junit.vintage</groupId>
+      <artifactId>junit-vintage-engine</artifactId>
       <scope>test</scope>
     </dependency>
 
diff --git a/jena-permissions/pom.xml b/jena-permissions/pom.xml
index b0d672a..a45a567 100644
--- a/jena-permissions/pom.xml
+++ b/jena-permissions/pom.xml
@@ -29,7 +29,7 @@
   <parent>
     <groupId>org.apache.jena</groupId>
     <artifactId>jena</artifactId>
-    <version>5.0.0-SNAPSHOT</version>
+    <version>5.1.0-SNAPSHOT</version>
     <relativePath>..</relativePath>
   </parent>
   
@@ -198,8 +198,8 @@
     </dependency>
 
     <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
+      <groupId>org.junit.vintage</groupId>
+      <artifactId>junit-vintage-engine</artifactId>
     </dependency>
 
     <dependency>
diff --git a/jena-rdfconnection/pom.xml b/jena-rdfconnection/pom.xml
index 25d5563..151b82e 100644
--- a/jena-rdfconnection/pom.xml
+++ b/jena-rdfconnection/pom.xml
@@ -29,7 +29,7 @@
   <parent>
     <groupId>org.apache.jena</groupId>
     <artifactId>jena</artifactId>
-    <version>5.0.0-SNAPSHOT</version>
+    <version>5.1.0-SNAPSHOT</version>
     <relativePath>..</relativePath>
   </parent>
 
@@ -48,13 +48,13 @@
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-arq</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
     </dependency>
 
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-base</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
       <classifier>tests</classifier>
       <scope>test</scope>
     </dependency>
@@ -62,7 +62,7 @@
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-arq</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
       <classifier>tests</classifier>
       <scope>test</scope>
     </dependency>
@@ -71,7 +71,7 @@
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-core</artifactId>
       <classifier>tests</classifier>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>    
 
@@ -79,8 +79,8 @@
     <!-- Tests is also done in jena-integration-tests -->
     
     <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
+      <groupId>org.junit.vintage</groupId>
+      <artifactId>junit-vintage-engine</artifactId>
       <scope>test</scope>
     </dependency>
 
diff --git a/jena-rdfpatch/pom.xml b/jena-rdfpatch/pom.xml
index 6addf1b..5bc40fb 100644
--- a/jena-rdfpatch/pom.xml
+++ b/jena-rdfpatch/pom.xml
@@ -26,7 +26,7 @@
   <parent>
     <groupId>org.apache.jena</groupId>
     <artifactId>jena</artifactId>
-    <version>5.0.0-SNAPSHOT</version>
+    <version>5.1.0-SNAPSHOT</version>
     <relativePath>..</relativePath>
   </parent>
 
@@ -38,7 +38,7 @@
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-arq</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
     </dependency>
 
     <dependency>
@@ -48,8 +48,8 @@
     </dependency>
 
     <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
+      <groupId>org.junit.vintage</groupId>
+      <artifactId>junit-vintage-engine</artifactId>
       <scope>test</scope>
     </dependency>
   </dependencies>  
diff --git a/jena-shacl/pom.xml b/jena-shacl/pom.xml
index 6001c5f..cffa888 100644
--- a/jena-shacl/pom.xml
+++ b/jena-shacl/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <groupId>org.apache.jena</groupId>
     <artifactId>jena</artifactId>
-    <version>5.0.0-SNAPSHOT</version>
+    <version>5.1.0-SNAPSHOT</version>
     <relativePath>..</relativePath>
   </parent> 
 
@@ -40,20 +40,20 @@
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-arq</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
     </dependency>
 
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-arq</artifactId>
       <classifier>tests</classifier>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
 
     <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
+      <groupId>org.junit.vintage</groupId>
+      <artifactId>junit-vintage-engine</artifactId>
       <scope>test</scope>
     </dependency>
 
diff --git a/jena-shex/pom.xml b/jena-shex/pom.xml
index e017bc9..1a03bf3 100644
--- a/jena-shex/pom.xml
+++ b/jena-shex/pom.xml
@@ -27,7 +27,7 @@
   <parent>
     <groupId>org.apache.jena</groupId>
     <artifactId>jena</artifactId>
-    <version>5.0.0-SNAPSHOT</version>
+    <version>5.1.0-SNAPSHOT</version>
   </parent>
 
   <description>ShEx</description>
@@ -41,20 +41,20 @@
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-arq</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
     </dependency>
 
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-arq</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
       <classifier>tests</classifier>
       <scope>test</scope>
     </dependency>
 
     <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
+      <groupId>org.junit.vintage</groupId>
+      <artifactId>junit-vintage-engine</artifactId>
       <scope>test</scope>
     </dependency>
 
diff --git a/jena-tdb1/pom.xml b/jena-tdb1/pom.xml
index 48fd728..81e6232 100644
--- a/jena-tdb1/pom.xml
+++ b/jena-tdb1/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <groupId>org.apache.jena</groupId>
     <artifactId>jena</artifactId>
-    <version>5.0.0-SNAPSHOT</version>
+    <version>5.1.0-SNAPSHOT</version>
     <relativePath>..</relativePath>
   </parent> 
 
@@ -41,14 +41,14 @@
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-arq</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
     </dependency>
 
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-arq</artifactId>
       <classifier>tests</classifier>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
 
@@ -56,7 +56,7 @@
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-core</artifactId>
       <classifier>tests</classifier>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
 
@@ -64,13 +64,13 @@
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-base</artifactId>
       <classifier>tests</classifier>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
 
     <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
+      <groupId>org.junit.vintage</groupId>
+      <artifactId>junit-vintage-engine</artifactId>
       <scope>test</scope>
     </dependency>
 
diff --git a/jena-tdb2/pom.xml b/jena-tdb2/pom.xml
index 961c1ef..90722db 100644
--- a/jena-tdb2/pom.xml
+++ b/jena-tdb2/pom.xml
@@ -28,7 +28,7 @@
   <parent>
     <groupId>org.apache.jena</groupId>
     <artifactId>jena</artifactId>
-    <version>5.0.0-SNAPSHOT</version>
+    <version>5.1.0-SNAPSHOT</version>
     <relativePath>..</relativePath>
   </parent> 
 
@@ -42,13 +42,13 @@
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-dboe-storage</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
     </dependency>
 
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-core</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
       <classifier>tests</classifier>
       <scope>test</scope>
     </dependency>
@@ -56,14 +56,14 @@
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-arq</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
       <classifier>tests</classifier>
       <scope>test</scope>
     </dependency>
 
     <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
+      <groupId>org.junit.vintage</groupId>
+      <artifactId>junit-vintage-engine</artifactId>
       <scope>test</scope>
     </dependency>
 
diff --git a/jena-text/pom.xml b/jena-text/pom.xml
index 8ce54eb..162c8bf 100644
--- a/jena-text/pom.xml
+++ b/jena-text/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <groupId>org.apache.jena</groupId>
     <artifactId>jena</artifactId>
-    <version>5.0.0-SNAPSHOT</version>
+    <version>5.1.0-SNAPSHOT</version>
     <relativePath>..</relativePath>
   </parent>
 
@@ -38,32 +38,32 @@
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-arq</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
     </dependency>
 
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-tdb1</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
     </dependency>
 
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-tdb2</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
     </dependency>
 
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-cmds</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
     </dependency>
     
     <!-- Testing support -->
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-base</artifactId>
-      <version>5.0.0-SNAPSHOT</version>
+      <version>5.1.0-SNAPSHOT</version>
       <classifier>tests</classifier>
       <scope>test</scope>
     </dependency>
@@ -95,8 +95,8 @@
     </dependency>
     
     <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
+      <groupId>org.junit.vintage</groupId>
+      <artifactId>junit-vintage-engine</artifactId>
       <scope>test</scope>
     </dependency>
 
diff --git a/pom.xml b/pom.xml
index 87c7786..36d21c7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -24,7 +24,7 @@
   <artifactId>jena</artifactId>
   <packaging>pom</packaging>
   <url>https://jena.apache.org/</url>
-  <version>5.0.0-SNAPSHOT</version>
+  <version>5.1.0-SNAPSHOT</version>
 
   <parent>
     <groupId>org.apache</groupId>
@@ -55,7 +55,7 @@
     <!-- Build -->
     <java.version>17</java.version>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <project.build.outputTimestamp>2024-02-10T18:01:15Z</project.build.outputTimestamp>
+    <project.build.outputTimestamp>2024-03-16T16:17:59Z</project.build.outputTimestamp>
 
     <!-- Logging -->
     <ver.slf4j>2.0.7</ver.slf4j>
@@ -68,12 +68,12 @@
     <ver.jetty>12.0.7</ver.jetty>
     <ver.shiro>2.0.0</ver.shiro>
 
-    <ver.protobuf>3.25.3</ver.protobuf>
+    <ver.protobuf>4.26.0</ver.protobuf>
     <ver.libthrift>0.19.0</ver.libthrift>
 
     <ver.caffeine>3.1.8</ver.caffeine>
     <!-- Most of Jena uses other libraries for equivalent functionality. -->
-    <ver.guava>33.0.0-jre</ver.guava>
+    <ver.guava>33.1.0-jre</ver.guava>
 
     <ver.gson>2.10.1</ver.gson>
     <ver.lucene>9.10.0</ver.lucene>
@@ -89,13 +89,16 @@
     <ver.commons-fileupload>2.0.0-M2</ver.commons-fileupload>
 
     <ver.dexxcollection>0.7</ver.dexxcollection>
-    <ver.micrometer>1.12.3</ver.micrometer>
+    <ver.micrometer>1.12.4</ver.micrometer>
     <ver.roaringbitmap>1.0.5</ver.roaringbitmap>
 
     <!-- Testing -->
-    <ver.junit>4.13.2</ver.junit>  
+    <ver.junit4>4.13.2</ver.junit4>
+    <ver.junit5>5.10.2</ver.junit5>
+    <ver.junit5-platform>1.10.2</ver.junit5-platform>
+ 
     <ver.mockito>5.11.0</ver.mockito>
-    <ver.awaitility>4.2.0</ver.awaitility>
+    <ver.awaitility>4.2.1</ver.awaitility>
     <ver.contract.tests>0.2.0</ver.contract.tests>
 
     <!-- For testing, not shipped -->
@@ -286,10 +289,33 @@
 
   <dependencyManagement>
     <dependencies>
+
+      <dependency>
+        <groupId>org.junit.jupiter</groupId>
+        <artifactId>junit-jupiter</artifactId>
+        <version>${ver.junit5}</version>
+        <scope>test</scope>
+      </dependency>
+      
+      <dependency>
+        <groupId>org.junit.platform</groupId>
+        <artifactId>junit-platform-suite</artifactId>
+        <version>${ver.junit5-platform}</version>
+        <scope>test</scope>
+      </dependency>
+      
+      <!-- Includes JUnit 4 : Needed for older testing code. -->
+      <dependency>
+        <groupId>org.junit.vintage</groupId>
+        <artifactId>junit-vintage-engine</artifactId>
+        <version>${ver.junit5}</version>
+        <scope>test</scope>
+      </dependency>
+
       <dependency>
         <groupId>junit</groupId>
         <artifactId>junit</artifactId>
-        <version>${ver.junit}</version>
+        <version>${ver.junit4}</version>
         <scope>test</scope>
       </dependency>