diff --git a/compliance/repository/src/test/java/org/eclipse/rdf4j/repository/http/HTTPStoreConnectionTest.java b/compliance/repository/src/test/java/org/eclipse/rdf4j/repository/http/HTTPStoreConnectionTest.java
index e7d5f4201c4..9226a0dc3a4 100644
--- a/compliance/repository/src/test/java/org/eclipse/rdf4j/repository/http/HTTPStoreConnectionTest.java
+++ b/compliance/repository/src/test/java/org/eclipse/rdf4j/repository/http/HTTPStoreConnectionTest.java
@@ -13,8 +13,8 @@
import java.io.StringReader;
-import org.eclipse.rdf4j.IsolationLevel;
import org.eclipse.rdf4j.RDF4JException;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.query.QueryLanguage;
import org.eclipse.rdf4j.query.Update;
diff --git a/compliance/repository/src/test/java/org/eclipse/rdf4j/repository/http/RDFSchemaHTTPRepositoryConnectionTest.java b/compliance/repository/src/test/java/org/eclipse/rdf4j/repository/http/RDFSchemaHTTPRepositoryConnectionTest.java
index 864d5766540..a931f764ab0 100644
--- a/compliance/repository/src/test/java/org/eclipse/rdf4j/repository/http/RDFSchemaHTTPRepositoryConnectionTest.java
+++ b/compliance/repository/src/test/java/org/eclipse/rdf4j/repository/http/RDFSchemaHTTPRepositoryConnectionTest.java
@@ -9,8 +9,8 @@
import static org.junit.Assert.fail;
-import org.eclipse.rdf4j.IsolationLevel;
import org.eclipse.rdf4j.RDF4JException;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
import org.eclipse.rdf4j.repository.RDFSchemaRepositoryConnectionTest;
import org.eclipse.rdf4j.repository.Repository;
import org.eclipse.rdf4j.repository.RepositoryConnectionTest;
diff --git a/compliance/repository/src/test/java/org/eclipse/rdf4j/repository/sparql/SPARQLStoreConnectionTest.java b/compliance/repository/src/test/java/org/eclipse/rdf4j/repository/sparql/SPARQLStoreConnectionTest.java
index 4e25a466a66..c1d6b1bbf16 100644
--- a/compliance/repository/src/test/java/org/eclipse/rdf4j/repository/sparql/SPARQLStoreConnectionTest.java
+++ b/compliance/repository/src/test/java/org/eclipse/rdf4j/repository/sparql/SPARQLStoreConnectionTest.java
@@ -15,9 +15,9 @@
import java.lang.reflect.Field;
import java.util.List;
-import org.eclipse.rdf4j.IsolationLevel;
import org.eclipse.rdf4j.RDF4JException;
import org.eclipse.rdf4j.common.iteration.Iterations;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
import org.eclipse.rdf4j.http.protocol.Protocol;
import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.model.Statement;
diff --git a/core/common/annotation/pom.xml b/core/common/annotation/pom.xml
new file mode 100644
index 00000000000..87e8555b3d7
--- /dev/null
+++ b/core/common/annotation/pom.xml
@@ -0,0 +1,23 @@
+
+
+ 4.0.0
+
+ org.eclipse.rdf4j
+ rdf4j-common
+ 4.0.0-SNAPSHOT
+
+ rdf4j-common-annotation
+ RDF4J: common annotation
+ RDF4J common annotation classes
+
+
+
+ maven-assembly-plugin
+
+
+ com.github.siom79.japicmp
+ japicmp-maven-plugin
+
+
+
+
diff --git a/core/model-api/src/main/java/org/eclipse/rdf4j/common/annotation/Experimental.java b/core/common/annotation/src/main/java/org/eclipse/rdf4j/common/annotation/Experimental.java
similarity index 100%
rename from core/model-api/src/main/java/org/eclipse/rdf4j/common/annotation/Experimental.java
rename to core/common/annotation/src/main/java/org/eclipse/rdf4j/common/annotation/Experimental.java
diff --git a/core/model-api/src/main/java/org/eclipse/rdf4j/common/annotation/InternalUseOnly.java b/core/common/annotation/src/main/java/org/eclipse/rdf4j/common/annotation/InternalUseOnly.java
similarity index 100%
rename from core/model-api/src/main/java/org/eclipse/rdf4j/common/annotation/InternalUseOnly.java
rename to core/common/annotation/src/main/java/org/eclipse/rdf4j/common/annotation/InternalUseOnly.java
diff --git a/core/util/src/test/java/org/eclipse/rdf4j/common/io/IOUtilTest.java b/core/common/io/src/test/java/org/eclipse/rdf4j/common/io/IOUtilTest.java
similarity index 100%
rename from core/util/src/test/java/org/eclipse/rdf4j/common/io/IOUtilTest.java
rename to core/common/io/src/test/java/org/eclipse/rdf4j/common/io/IOUtilTest.java
diff --git a/core/common/pom.xml b/core/common/pom.xml
index 11da0933aae..397451cd2a4 100644
--- a/core/common/pom.xml
+++ b/core/common/pom.xml
@@ -11,6 +11,7 @@
RDF4J: common
RDF4J common: shared classes
+ annotation
io
iterator
text
@@ -18,40 +19,4 @@
util
xml
-
diff --git a/core/common/text/pom.xml b/core/common/text/pom.xml
index c0e387b352a..32246c62e39 100644
--- a/core/common/text/pom.xml
+++ b/core/common/text/pom.xml
@@ -1,7 +1,5 @@
-
+
4.0.0
org.eclipse.rdf4j
diff --git a/core/common/transaction/pom.xml b/core/common/transaction/pom.xml
index 182e248a0f6..d8456153252 100644
--- a/core/common/transaction/pom.xml
+++ b/core/common/transaction/pom.xml
@@ -1,7 +1,5 @@
-
+
4.0.0
org.eclipse.rdf4j
@@ -14,7 +12,7 @@
${project.groupId}
- rdf4j-model-api
+ rdf4j-model
${project.version}
diff --git a/core/model/src/main/java/org/eclipse/rdf4j/IsolationLevel.java b/core/common/transaction/src/main/java/org/eclipse/rdf4j/common/transaction/IsolationLevel.java
similarity index 83%
rename from core/model/src/main/java/org/eclipse/rdf4j/IsolationLevel.java
rename to core/common/transaction/src/main/java/org/eclipse/rdf4j/common/transaction/IsolationLevel.java
index f64d01f255e..db6a9f5a9a7 100644
--- a/core/model/src/main/java/org/eclipse/rdf4j/IsolationLevel.java
+++ b/core/common/transaction/src/main/java/org/eclipse/rdf4j/common/transaction/IsolationLevel.java
@@ -5,10 +5,7 @@
* which accompanies this distribution, and is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*******************************************************************************/
-package org.eclipse.rdf4j;
-
-import org.eclipse.rdf4j.common.transaction.TransactionSetting;
-import org.eclipse.rdf4j.model.IRI;
+package org.eclipse.rdf4j.common.transaction;
/**
* A Transaction Isolation Level. Default levels supported by RDF4J are provided by {@link IsolationLevels}, third-party
@@ -34,16 +31,6 @@ public interface IsolationLevel extends TransactionSetting {
*/
boolean isCompatibleWith(IsolationLevel otherLevel);
- /**
- * Get a URI uniquely representing this isolation level.
- *
- * @deprecated use getName() and getValue() instead.
- *
- * @return a URI that uniquely represents this isolation level.
- */
- @Deprecated
- IRI getURI();
-
@Override
default String getName() {
return NAME;
diff --git a/core/model/src/main/java/org/eclipse/rdf4j/IsolationLevels.java b/core/common/transaction/src/main/java/org/eclipse/rdf4j/common/transaction/IsolationLevels.java
similarity index 92%
rename from core/model/src/main/java/org/eclipse/rdf4j/IsolationLevels.java
rename to core/common/transaction/src/main/java/org/eclipse/rdf4j/common/transaction/IsolationLevels.java
index 35a2e67f8c9..d6bccc74345 100644
--- a/core/model/src/main/java/org/eclipse/rdf4j/IsolationLevels.java
+++ b/core/common/transaction/src/main/java/org/eclipse/rdf4j/common/transaction/IsolationLevels.java
@@ -5,16 +5,11 @@
* which accompanies this distribution, and is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*******************************************************************************/
-package org.eclipse.rdf4j;
+package org.eclipse.rdf4j.common.transaction;
import java.util.Arrays;
import java.util.List;
-import org.eclipse.rdf4j.model.IRI;
-import org.eclipse.rdf4j.model.ValueFactory;
-import org.eclipse.rdf4j.model.impl.SimpleValueFactory;
-import org.eclipse.rdf4j.model.vocabulary.SESAME;
-
/**
* Enumeration of Transaction {@link IsolationLevel}s supported by Sesame. Note that Sesame stores are not required to
* support all levels, consult the documentatation for the specific SAIL implementation you are using to find out which
@@ -108,10 +103,4 @@ public static IsolationLevel getCompatibleIsolationLevel(IsolationLevel level,
return level;
}
}
-
- @Override
- public IRI getURI() {
- final ValueFactory f = SimpleValueFactory.getInstance();
- return f.createIRI(SESAME.NAMESPACE, this.name());
- }
}
diff --git a/core/model/src/test/java/org/eclipse/rdf4j/IsolationLevelsTest.java b/core/common/transaction/src/test/java/org/eclipse/rdf4j/common/transaction/IsolationLevelsTest.java
similarity index 89%
rename from core/model/src/test/java/org/eclipse/rdf4j/IsolationLevelsTest.java
rename to core/common/transaction/src/test/java/org/eclipse/rdf4j/common/transaction/IsolationLevelsTest.java
index 5a4a0f88d0b..00257a544bf 100644
--- a/core/model/src/test/java/org/eclipse/rdf4j/IsolationLevelsTest.java
+++ b/core/common/transaction/src/test/java/org/eclipse/rdf4j/common/transaction/IsolationLevelsTest.java
@@ -5,7 +5,7 @@
* which accompanies this distribution, and is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*******************************************************************************/
-package org.eclipse.rdf4j;
+package org.eclipse.rdf4j.common.transaction;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
@@ -25,7 +25,9 @@
public class IsolationLevelsTest {
/**
- * Test method for {@link org.eclipse.rdf4j.IsolationLevels#isCompatibleWith(org.eclipse.rdf4j.IsolationLevel)} .
+ * Test method for
+ * {@link org.eclipse.rdf4j.common.transaction.IsolationLevels#isCompatibleWith(org.eclipse.rdf4j.common.transaction.IsolationLevel)}
+ * .
*/
@Test
public void testIsCompatibleWith() {
@@ -37,7 +39,7 @@ public void testIsCompatibleWith() {
/**
* Test method for
- * {@link org.eclipse.rdf4j.IsolationLevels#getCompatibleIsolationLevel(org.eclipse.rdf4j.IsolationLevel, java.util.List)}
+ * {@link org.eclipse.rdf4j.common.transaction.IsolationLevels#getCompatibleIsolationLevel(org.eclipse.rdf4j.common.transaction.IsolationLevel, java.util.List)}
* .
*/
@Test
diff --git a/core/common/xml/src/main/java/org/eclipse/rdf4j/common/xml/XMLUtil.java b/core/common/xml/src/main/java/org/eclipse/rdf4j/common/xml/XMLUtil.java
index 842629b0d1b..77f6533a353 100644
--- a/core/common/xml/src/main/java/org/eclipse/rdf4j/common/xml/XMLUtil.java
+++ b/core/common/xml/src/main/java/org/eclipse/rdf4j/common/xml/XMLUtil.java
@@ -8,8 +8,6 @@
package org.eclipse.rdf4j.common.xml;
-import org.eclipse.rdf4j.common.text.StringUtil;
-
/**
* Utility methods for handling and processing XML data.
*/
@@ -21,10 +19,10 @@ public class XMLUtil {
* return (\r).
*/
public static String escapeCharacterData(String text) {
- text = StringUtil.gsub("&", "&", text);
- text = StringUtil.gsub("<", "<", text);
- text = StringUtil.gsub(">", ">", text);
- text = StringUtil.gsub("\r", "
", text);
+ text = text.replace("&", "&");
+ text = text.replace("<", "<");
+ text = text.replace(">", ">");
+ text = text.replace("\r", "
");
return text;
}
@@ -35,7 +33,7 @@ public static String escapeCharacterData(String text) {
*/
public static String escapeDoubleQuotedAttValue(String value) {
value = _escapeAttValue(value);
- value = StringUtil.gsub("\"", """, value);
+ value = value.replace("\"", """);
return value;
}
@@ -46,17 +44,17 @@ public static String escapeDoubleQuotedAttValue(String value) {
*/
public static String escapeSingleQuotedAttValue(String value) {
value = _escapeAttValue(value);
- value = StringUtil.gsub("'", "'", value);
+ value = value.replace("'", "'");
return value;
}
private static String _escapeAttValue(String value) {
- value = StringUtil.gsub("&", "&", value);
- value = StringUtil.gsub("<", "<", value);
- value = StringUtil.gsub(">", ">", value);
- value = StringUtil.gsub("\t", " ", value);
- value = StringUtil.gsub("\n", "
", value);
- value = StringUtil.gsub("\r", "
", value);
+ value = value.replace("&", "&");
+ value = value.replace("<", "<");
+ value = value.replace(">", ">");
+ value = value.replace("\t", " ");
+ value = value.replace("\n", "
");
+ value = value.replace("\r", "
");
return value;
}
@@ -217,11 +215,11 @@ public static final boolean isNCNameChar(char c) {
* @see #resolveEntities
*/
public static String escapeAttributeValue(String value) {
- String result = StringUtil.gsub("&", "&", value);
- result = StringUtil.gsub("<", "<", result);
- result = StringUtil.gsub(">", ">", result);
- result = StringUtil.gsub("\"", """, result);
- result = StringUtil.gsub("'", "'", result);
+ String result = value.replace("&", "&");
+ result = result.replace("<", "<");
+ result = result.replace(">", ">");
+ result = result.replace("\"", """);
+ result = result.replace("'", "'");
return result;
}
@@ -232,9 +230,9 @@ public static String escapeAttributeValue(String value) {
* @see #resolveEntities
*/
public static String escapeText(String text) {
- String result = StringUtil.gsub("&", "&", text);
- result = StringUtil.gsub("<", "<", result);
- result = StringUtil.gsub(">", ">", result);
+ String result = text.replace("&", "&");
+ result = result.replace("<", "<");
+ result = result.replace(">", ">");
return result;
}
diff --git a/core/http/client/pom.xml b/core/http/client/pom.xml
index 9f3d662735a..8044e5fa40d 100644
--- a/core/http/client/pom.xml
+++ b/core/http/client/pom.xml
@@ -1,5 +1,7 @@
-
+
4.0.0
org.eclipse.rdf4j
@@ -10,6 +12,11 @@
RDF4J: HTTP client
Client functionality for communicating with an RDF4J server over HTTP.
+
+ ${project.groupId}
+ rdf4j-common-transaction
+ ${project.version}
+
${project.groupId}
rdf4j-http-protocol
diff --git a/core/http/client/src/main/java/org/eclipse/rdf4j/http/client/RDF4JProtocolSession.java b/core/http/client/src/main/java/org/eclipse/rdf4j/http/client/RDF4JProtocolSession.java
index 6424ef86b71..36a3915f1e0 100644
--- a/core/http/client/src/main/java/org/eclipse/rdf4j/http/client/RDF4JProtocolSession.java
+++ b/core/http/client/src/main/java/org/eclipse/rdf4j/http/client/RDF4JProtocolSession.java
@@ -28,9 +28,7 @@
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.ScheduledFuture;
-import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
-import java.util.concurrent.atomic.AtomicLong;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -56,10 +54,10 @@
import org.apache.http.message.BasicHeader;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
-import org.eclipse.rdf4j.IsolationLevel;
import org.eclipse.rdf4j.OpenRDFUtil;
import org.eclipse.rdf4j.RDF4JException;
import org.eclipse.rdf4j.common.io.IOUtil;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
import org.eclipse.rdf4j.common.transaction.TransactionSetting;
import org.eclipse.rdf4j.http.protocol.Protocol;
import org.eclipse.rdf4j.http.protocol.Protocol.Action;
@@ -653,13 +651,6 @@ public synchronized void beginTransaction(TransactionSetting... transactionSetti
if (transactionSetting == null) {
continue;
}
- if (transactionSetting instanceof IsolationLevel) {
- // also send isolation level with dedicated parameter for backward compatibility with older RDF4J
- // Server
- IsolationLevel isolationLevel = (IsolationLevel) transactionSetting;
- params.add(new BasicNameValuePair(Protocol.ISOLATION_LEVEL_PARAM_NAME,
- isolationLevel.getURI().stringValue()));
- }
params.add(
new BasicNameValuePair(
TRANSACTION_SETTINGS_PREFIX + transactionSetting.getName(),
diff --git a/core/http/client/src/test/java/org/eclipse/rdf4j/http/client/RDF4JProtocolSessionTest.java b/core/http/client/src/test/java/org/eclipse/rdf4j/http/client/RDF4JProtocolSessionTest.java
index d8cf57d9db5..21b1b1df4d3 100644
--- a/core/http/client/src/test/java/org/eclipse/rdf4j/http/client/RDF4JProtocolSessionTest.java
+++ b/core/http/client/src/test/java/org/eclipse/rdf4j/http/client/RDF4JProtocolSessionTest.java
@@ -28,7 +28,7 @@
import org.apache.http.Header;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.message.BasicHeader;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.http.protocol.Protocol;
import org.eclipse.rdf4j.query.resultio.TupleQueryResultFormat;
import org.eclipse.rdf4j.repository.config.RepositoryConfig;
diff --git a/core/model-api/pom.xml b/core/model-api/pom.xml
index f80862fb028..847cda32b9a 100644
--- a/core/model-api/pom.xml
+++ b/core/model-api/pom.xml
@@ -1,5 +1,7 @@
-
+
4.0.0
org.eclipse.rdf4j
@@ -9,6 +11,13 @@
rdf4j-model-api
RDF4J: Model API
RDF model interfaces.
+
+
+ ${project.groupId}
+ rdf4j-common-annotation
+ ${project.version}
+
+
diff --git a/core/repository/api/pom.xml b/core/repository/api/pom.xml
index 529d8741bb5..5be5662ad85 100644
--- a/core/repository/api/pom.xml
+++ b/core/repository/api/pom.xml
@@ -27,7 +27,7 @@
${project.groupId}
- rdf4j-util
+ rdf4j-common-transaction
${project.version}
diff --git a/core/repository/api/src/main/java/org/eclipse/rdf4j/repository/RepositoryConnection.java b/core/repository/api/src/main/java/org/eclipse/rdf4j/repository/RepositoryConnection.java
index a36d3f5219a..78f99c15b21 100644
--- a/core/repository/api/src/main/java/org/eclipse/rdf4j/repository/RepositoryConnection.java
+++ b/core/repository/api/src/main/java/org/eclipse/rdf4j/repository/RepositoryConnection.java
@@ -13,8 +13,8 @@
import java.io.Reader;
import java.net.URL;
-import org.eclipse.rdf4j.IsolationLevel;
import org.eclipse.rdf4j.common.iteration.Iteration;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
import org.eclipse.rdf4j.common.transaction.TransactionSetting;
import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.model.Namespace;
diff --git a/core/repository/api/src/main/java/org/eclipse/rdf4j/repository/base/AbstractRepositoryConnection.java b/core/repository/api/src/main/java/org/eclipse/rdf4j/repository/base/AbstractRepositoryConnection.java
index 07414c7719e..df32014d164 100644
--- a/core/repository/api/src/main/java/org/eclipse/rdf4j/repository/base/AbstractRepositoryConnection.java
+++ b/core/repository/api/src/main/java/org/eclipse/rdf4j/repository/base/AbstractRepositoryConnection.java
@@ -14,10 +14,10 @@
import java.net.URL;
import java.util.concurrent.atomic.AtomicBoolean;
-import org.eclipse.rdf4j.IsolationLevel;
import org.eclipse.rdf4j.OpenRDFUtil;
import org.eclipse.rdf4j.common.iteration.Iteration;
import org.eclipse.rdf4j.common.iteration.Iterations;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.model.Resource;
import org.eclipse.rdf4j.model.Statement;
diff --git a/core/repository/api/src/main/java/org/eclipse/rdf4j/repository/base/RepositoryConnectionWrapper.java b/core/repository/api/src/main/java/org/eclipse/rdf4j/repository/base/RepositoryConnectionWrapper.java
index 7dafcf612e4..9adfc7e7053 100644
--- a/core/repository/api/src/main/java/org/eclipse/rdf4j/repository/base/RepositoryConnectionWrapper.java
+++ b/core/repository/api/src/main/java/org/eclipse/rdf4j/repository/base/RepositoryConnectionWrapper.java
@@ -13,8 +13,8 @@
import java.io.Reader;
import java.net.URL;
-import org.eclipse.rdf4j.IsolationLevel;
import org.eclipse.rdf4j.common.iteration.Iteration;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
import org.eclipse.rdf4j.common.transaction.TransactionSetting;
import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.model.Namespace;
diff --git a/core/repository/sail/src/main/java/org/eclipse/rdf4j/repository/sail/SailRepositoryConnection.java b/core/repository/sail/src/main/java/org/eclipse/rdf4j/repository/sail/SailRepositoryConnection.java
index 309d8230d65..6b92f73a1c7 100644
--- a/core/repository/sail/src/main/java/org/eclipse/rdf4j/repository/sail/SailRepositoryConnection.java
+++ b/core/repository/sail/src/main/java/org/eclipse/rdf4j/repository/sail/SailRepositoryConnection.java
@@ -12,9 +12,9 @@
import java.util.Optional;
import org.apache.http.client.HttpClient;
-import org.eclipse.rdf4j.IsolationLevel;
import org.eclipse.rdf4j.OpenRDFUtil;
import org.eclipse.rdf4j.common.iteration.CloseableIteration;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
import org.eclipse.rdf4j.common.transaction.TransactionSetting;
import org.eclipse.rdf4j.http.client.HttpClientDependent;
import org.eclipse.rdf4j.http.client.HttpClientSessionManager;
diff --git a/core/sail/api/pom.xml b/core/sail/api/pom.xml
index 6b67f0dfa7b..bdbc9b1d2d5 100644
--- a/core/sail/api/pom.xml
+++ b/core/sail/api/pom.xml
@@ -27,7 +27,7 @@
${project.groupId}
- rdf4j-util
+ rdf4j-common-transaction
${project.version}
diff --git a/core/sail/api/src/main/java/org/eclipse/rdf4j/sail/Sail.java b/core/sail/api/src/main/java/org/eclipse/rdf4j/sail/Sail.java
index 82cd8028401..8c1fb144463 100644
--- a/core/sail/api/src/main/java/org/eclipse/rdf4j/sail/Sail.java
+++ b/core/sail/api/src/main/java/org/eclipse/rdf4j/sail/Sail.java
@@ -10,7 +10,7 @@
import java.io.File;
import java.util.List;
-import org.eclipse.rdf4j.IsolationLevel;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
import org.eclipse.rdf4j.model.ValueFactory;
/**
diff --git a/core/sail/api/src/main/java/org/eclipse/rdf4j/sail/SailConflictException.java b/core/sail/api/src/main/java/org/eclipse/rdf4j/sail/SailConflictException.java
index fa20b7b35d0..0ff7c76d14a 100644
--- a/core/sail/api/src/main/java/org/eclipse/rdf4j/sail/SailConflictException.java
+++ b/core/sail/api/src/main/java/org/eclipse/rdf4j/sail/SailConflictException.java
@@ -7,7 +7,7 @@
*******************************************************************************/
package org.eclipse.rdf4j.sail;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
/**
* An exception thrown by some methods in Sail to indicate that a requested isolation level could not be fulfilled. Such
diff --git a/core/sail/api/src/main/java/org/eclipse/rdf4j/sail/SailConnection.java b/core/sail/api/src/main/java/org/eclipse/rdf4j/sail/SailConnection.java
index 61433279af8..eadb39acbe5 100644
--- a/core/sail/api/src/main/java/org/eclipse/rdf4j/sail/SailConnection.java
+++ b/core/sail/api/src/main/java/org/eclipse/rdf4j/sail/SailConnection.java
@@ -9,9 +9,9 @@
import java.util.Optional;
-import org.eclipse.rdf4j.IsolationLevel;
import org.eclipse.rdf4j.common.annotation.Experimental;
import org.eclipse.rdf4j.common.iteration.CloseableIteration;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
import org.eclipse.rdf4j.common.transaction.TransactionSetting;
import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.model.Namespace;
diff --git a/core/sail/api/src/main/java/org/eclipse/rdf4j/sail/helpers/AbstractSail.java b/core/sail/api/src/main/java/org/eclipse/rdf4j/sail/helpers/AbstractSail.java
index b459fe89453..6b4bf4d7853 100644
--- a/core/sail/api/src/main/java/org/eclipse/rdf4j/sail/helpers/AbstractSail.java
+++ b/core/sail/api/src/main/java/org/eclipse/rdf4j/sail/helpers/AbstractSail.java
@@ -16,8 +16,8 @@
import java.util.Map;
import java.util.concurrent.locks.ReentrantReadWriteLock;
-import org.eclipse.rdf4j.IsolationLevel;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.sail.Sail;
import org.eclipse.rdf4j.sail.SailConnection;
import org.eclipse.rdf4j.sail.SailException;
diff --git a/core/sail/api/src/main/java/org/eclipse/rdf4j/sail/helpers/AbstractSailConnection.java b/core/sail/api/src/main/java/org/eclipse/rdf4j/sail/helpers/AbstractSailConnection.java
index aedc75363f1..89610ffc163 100644
--- a/core/sail/api/src/main/java/org/eclipse/rdf4j/sail/helpers/AbstractSailConnection.java
+++ b/core/sail/api/src/main/java/org/eclipse/rdf4j/sail/helpers/AbstractSailConnection.java
@@ -18,9 +18,9 @@
import java.util.concurrent.locks.ReentrantLock;
import java.util.concurrent.locks.ReentrantReadWriteLock;
-import org.eclipse.rdf4j.IsolationLevel;
-import org.eclipse.rdf4j.IsolationLevels;
import org.eclipse.rdf4j.common.iteration.CloseableIteration;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.BNode;
import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.model.Namespace;
diff --git a/core/sail/api/src/main/java/org/eclipse/rdf4j/sail/helpers/SailConnectionWrapper.java b/core/sail/api/src/main/java/org/eclipse/rdf4j/sail/helpers/SailConnectionWrapper.java
index d143b8d50e5..eddca8302e7 100644
--- a/core/sail/api/src/main/java/org/eclipse/rdf4j/sail/helpers/SailConnectionWrapper.java
+++ b/core/sail/api/src/main/java/org/eclipse/rdf4j/sail/helpers/SailConnectionWrapper.java
@@ -9,8 +9,8 @@
import java.util.Optional;
-import org.eclipse.rdf4j.IsolationLevel;
import org.eclipse.rdf4j.common.iteration.CloseableIteration;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
import org.eclipse.rdf4j.common.transaction.TransactionSetting;
import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.model.Namespace;
diff --git a/core/sail/api/src/main/java/org/eclipse/rdf4j/sail/helpers/SailWrapper.java b/core/sail/api/src/main/java/org/eclipse/rdf4j/sail/helpers/SailWrapper.java
index 856def73f22..ce6b0ea8f9c 100644
--- a/core/sail/api/src/main/java/org/eclipse/rdf4j/sail/helpers/SailWrapper.java
+++ b/core/sail/api/src/main/java/org/eclipse/rdf4j/sail/helpers/SailWrapper.java
@@ -10,7 +10,7 @@
import java.io.File;
import java.util.List;
-import org.eclipse.rdf4j.IsolationLevel;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
import org.eclipse.rdf4j.model.ValueFactory;
import org.eclipse.rdf4j.query.algebra.evaluation.federation.FederatedServiceResolver;
import org.eclipse.rdf4j.query.algebra.evaluation.federation.FederatedServiceResolverClient;
diff --git a/core/sail/base/src/main/java/org/eclipse/rdf4j/sail/base/Changeset.java b/core/sail/base/src/main/java/org/eclipse/rdf4j/sail/base/Changeset.java
index 9283326c6ed..c9197a5ec45 100644
--- a/core/sail/base/src/main/java/org/eclipse/rdf4j/sail/base/Changeset.java
+++ b/core/sail/base/src/main/java/org/eclipse/rdf4j/sail/base/Changeset.java
@@ -21,7 +21,7 @@
import java.util.stream.Stream;
import java.util.stream.StreamSupport;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.model.Model;
import org.eclipse.rdf4j.model.ModelFactory;
diff --git a/core/sail/base/src/main/java/org/eclipse/rdf4j/sail/base/DelegatingSailSource.java b/core/sail/base/src/main/java/org/eclipse/rdf4j/sail/base/DelegatingSailSource.java
index 80f12382ddf..f8e66b33261 100644
--- a/core/sail/base/src/main/java/org/eclipse/rdf4j/sail/base/DelegatingSailSource.java
+++ b/core/sail/base/src/main/java/org/eclipse/rdf4j/sail/base/DelegatingSailSource.java
@@ -7,7 +7,7 @@
*******************************************************************************/
package org.eclipse.rdf4j.sail.base;
-import org.eclipse.rdf4j.IsolationLevel;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
import org.eclipse.rdf4j.sail.SailException;
/**
diff --git a/core/sail/base/src/main/java/org/eclipse/rdf4j/sail/base/ObservingSailDataset.java b/core/sail/base/src/main/java/org/eclipse/rdf4j/sail/base/ObservingSailDataset.java
index d3b2e70d0d8..8d39705c6a9 100644
--- a/core/sail/base/src/main/java/org/eclipse/rdf4j/sail/base/ObservingSailDataset.java
+++ b/core/sail/base/src/main/java/org/eclipse/rdf4j/sail/base/ObservingSailDataset.java
@@ -7,8 +7,8 @@
*******************************************************************************/
package org.eclipse.rdf4j.sail.base;
-import org.eclipse.rdf4j.IsolationLevels;
import org.eclipse.rdf4j.common.iteration.CloseableIteration;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.model.Resource;
import org.eclipse.rdf4j.model.Statement;
diff --git a/core/sail/base/src/main/java/org/eclipse/rdf4j/sail/base/SailDataset.java b/core/sail/base/src/main/java/org/eclipse/rdf4j/sail/base/SailDataset.java
index 881c97c0791..c0f681ffd3f 100644
--- a/core/sail/base/src/main/java/org/eclipse/rdf4j/sail/base/SailDataset.java
+++ b/core/sail/base/src/main/java/org/eclipse/rdf4j/sail/base/SailDataset.java
@@ -7,8 +7,8 @@
*******************************************************************************/
package org.eclipse.rdf4j.sail.base;
-import org.eclipse.rdf4j.IsolationLevels;
import org.eclipse.rdf4j.common.iteration.CloseableIteration;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.model.Namespace;
import org.eclipse.rdf4j.model.Resource;
diff --git a/core/sail/base/src/main/java/org/eclipse/rdf4j/sail/base/SailSink.java b/core/sail/base/src/main/java/org/eclipse/rdf4j/sail/base/SailSink.java
index e9530438bca..e8a05ddc6ba 100644
--- a/core/sail/base/src/main/java/org/eclipse/rdf4j/sail/base/SailSink.java
+++ b/core/sail/base/src/main/java/org/eclipse/rdf4j/sail/base/SailSink.java
@@ -7,7 +7,7 @@
*******************************************************************************/
package org.eclipse.rdf4j.sail.base;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.model.Resource;
import org.eclipse.rdf4j.model.Statement;
diff --git a/core/sail/base/src/main/java/org/eclipse/rdf4j/sail/base/SailSource.java b/core/sail/base/src/main/java/org/eclipse/rdf4j/sail/base/SailSource.java
index bfa427be16c..8a042c3b9da 100644
--- a/core/sail/base/src/main/java/org/eclipse/rdf4j/sail/base/SailSource.java
+++ b/core/sail/base/src/main/java/org/eclipse/rdf4j/sail/base/SailSource.java
@@ -7,8 +7,8 @@
*******************************************************************************/
package org.eclipse.rdf4j.sail.base;
-import org.eclipse.rdf4j.IsolationLevel;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.sail.SailConflictException;
import org.eclipse.rdf4j.sail.SailException;
diff --git a/core/sail/base/src/main/java/org/eclipse/rdf4j/sail/base/SailSourceBranch.java b/core/sail/base/src/main/java/org/eclipse/rdf4j/sail/base/SailSourceBranch.java
index 3eaf8adcddc..effd833320f 100644
--- a/core/sail/base/src/main/java/org/eclipse/rdf4j/sail/base/SailSourceBranch.java
+++ b/core/sail/base/src/main/java/org/eclipse/rdf4j/sail/base/SailSourceBranch.java
@@ -16,8 +16,8 @@
import java.util.Set;
import java.util.concurrent.locks.ReentrantLock;
-import org.eclipse.rdf4j.IsolationLevel;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.model.Model;
import org.eclipse.rdf4j.model.ModelFactory;
diff --git a/core/sail/base/src/main/java/org/eclipse/rdf4j/sail/base/SailSourceConnection.java b/core/sail/base/src/main/java/org/eclipse/rdf4j/sail/base/SailSourceConnection.java
index 606cdc212b1..8dfeb5cd8e9 100644
--- a/core/sail/base/src/main/java/org/eclipse/rdf4j/sail/base/SailSourceConnection.java
+++ b/core/sail/base/src/main/java/org/eclipse/rdf4j/sail/base/SailSourceConnection.java
@@ -13,9 +13,9 @@
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.stream.Stream;
-import org.eclipse.rdf4j.IsolationLevel;
-import org.eclipse.rdf4j.IsolationLevels;
import org.eclipse.rdf4j.common.iteration.CloseableIteration;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.model.Namespace;
import org.eclipse.rdf4j.model.Resource;
diff --git a/core/sail/base/src/main/java/org/eclipse/rdf4j/sail/base/SnapshotSailStore.java b/core/sail/base/src/main/java/org/eclipse/rdf4j/sail/base/SnapshotSailStore.java
index 21acfaaf1aa..5dd7cc23a26 100644
--- a/core/sail/base/src/main/java/org/eclipse/rdf4j/sail/base/SnapshotSailStore.java
+++ b/core/sail/base/src/main/java/org/eclipse/rdf4j/sail/base/SnapshotSailStore.java
@@ -7,7 +7,7 @@
*******************************************************************************/
package org.eclipse.rdf4j.sail.base;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.ModelFactory;
import org.eclipse.rdf4j.model.ValueFactory;
import org.eclipse.rdf4j.query.algebra.evaluation.impl.EvaluationStatistics;
diff --git a/core/sail/base/src/main/java/org/eclipse/rdf4j/sail/base/UnionSailSource.java b/core/sail/base/src/main/java/org/eclipse/rdf4j/sail/base/UnionSailSource.java
index 192d0be7c61..21f03ef1975 100644
--- a/core/sail/base/src/main/java/org/eclipse/rdf4j/sail/base/UnionSailSource.java
+++ b/core/sail/base/src/main/java/org/eclipse/rdf4j/sail/base/UnionSailSource.java
@@ -7,7 +7,7 @@
*******************************************************************************/
package org.eclipse.rdf4j.sail.base;
-import org.eclipse.rdf4j.IsolationLevel;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
import org.eclipse.rdf4j.sail.SailException;
/**
diff --git a/core/sail/elasticsearch-store/src/test/java/org/eclipse/rdf4j/sail/elasticsearchstore/ElasticsearchStoreIT.java b/core/sail/elasticsearch-store/src/test/java/org/eclipse/rdf4j/sail/elasticsearchstore/ElasticsearchStoreIT.java
index 358c918d4e3..7a8be4fa58b 100644
--- a/core/sail/elasticsearch-store/src/test/java/org/eclipse/rdf4j/sail/elasticsearchstore/ElasticsearchStoreIT.java
+++ b/core/sail/elasticsearch-store/src/test/java/org/eclipse/rdf4j/sail/elasticsearchstore/ElasticsearchStoreIT.java
@@ -20,8 +20,8 @@
import org.apache.commons.lang3.time.StopWatch;
import org.assertj.core.util.Files;
import org.codelibs.elasticsearch.runner.ElasticsearchClusterRunner;
-import org.eclipse.rdf4j.IsolationLevels;
import org.eclipse.rdf4j.common.iteration.Iterations;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.Statement;
import org.eclipse.rdf4j.model.impl.SimpleValueFactory;
import org.eclipse.rdf4j.model.vocabulary.RDF;
diff --git a/core/sail/elasticsearch-store/src/test/java/org/eclipse/rdf4j/sail/elasticsearchstore/ElasticsearchStoreTransactionsIT.java b/core/sail/elasticsearch-store/src/test/java/org/eclipse/rdf4j/sail/elasticsearchstore/ElasticsearchStoreTransactionsIT.java
index 0b2b1eaf978..6cf178c9f12 100644
--- a/core/sail/elasticsearch-store/src/test/java/org/eclipse/rdf4j/sail/elasticsearchstore/ElasticsearchStoreTransactionsIT.java
+++ b/core/sail/elasticsearch-store/src/test/java/org/eclipse/rdf4j/sail/elasticsearchstore/ElasticsearchStoreTransactionsIT.java
@@ -25,8 +25,8 @@
import org.apache.commons.lang3.time.StopWatch;
import org.assertj.core.util.Files;
import org.codelibs.elasticsearch.runner.ElasticsearchClusterRunner;
-import org.eclipse.rdf4j.IsolationLevels;
import org.eclipse.rdf4j.common.iteration.Iterations;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.BNode;
import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.model.Literal;
diff --git a/core/sail/elasticsearch-store/src/test/java/org/eclipse/rdf4j/sail/elasticsearchstore/ElasticsearchStoreWalIT.java b/core/sail/elasticsearch-store/src/test/java/org/eclipse/rdf4j/sail/elasticsearchstore/ElasticsearchStoreWalIT.java
index 73df04cfeba..c0446b66ffc 100644
--- a/core/sail/elasticsearch-store/src/test/java/org/eclipse/rdf4j/sail/elasticsearchstore/ElasticsearchStoreWalIT.java
+++ b/core/sail/elasticsearch-store/src/test/java/org/eclipse/rdf4j/sail/elasticsearchstore/ElasticsearchStoreWalIT.java
@@ -17,7 +17,7 @@
import org.assertj.core.util.Files;
import org.codelibs.elasticsearch.runner.ElasticsearchClusterRunner;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.impl.SimpleValueFactory;
import org.eclipse.rdf4j.model.vocabulary.RDFS;
import org.eclipse.rdf4j.repository.sail.SailRepository;
diff --git a/core/sail/elasticsearch-store/src/test/java/org/eclipse/rdf4j/sail/elasticsearchstore/benchmark/AddBenchmark.java b/core/sail/elasticsearch-store/src/test/java/org/eclipse/rdf4j/sail/elasticsearchstore/benchmark/AddBenchmark.java
index ac2846c7459..ed18d25c320 100644
--- a/core/sail/elasticsearch-store/src/test/java/org/eclipse/rdf4j/sail/elasticsearchstore/benchmark/AddBenchmark.java
+++ b/core/sail/elasticsearch-store/src/test/java/org/eclipse/rdf4j/sail/elasticsearchstore/benchmark/AddBenchmark.java
@@ -15,7 +15,7 @@
import org.assertj.core.util.Files;
import org.codelibs.elasticsearch.runner.ElasticsearchClusterRunner;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.repository.sail.SailRepository;
import org.eclipse.rdf4j.repository.sail.SailRepositoryConnection;
import org.eclipse.rdf4j.rio.RDFFormat;
diff --git a/core/sail/elasticsearch-store/src/test/java/org/eclipse/rdf4j/sail/elasticsearchstore/benchmark/DeleteBenchmark.java b/core/sail/elasticsearch-store/src/test/java/org/eclipse/rdf4j/sail/elasticsearchstore/benchmark/DeleteBenchmark.java
index 3ce58f13872..fc450327147 100644
--- a/core/sail/elasticsearch-store/src/test/java/org/eclipse/rdf4j/sail/elasticsearchstore/benchmark/DeleteBenchmark.java
+++ b/core/sail/elasticsearch-store/src/test/java/org/eclipse/rdf4j/sail/elasticsearchstore/benchmark/DeleteBenchmark.java
@@ -14,7 +14,7 @@
import org.assertj.core.util.Files;
import org.codelibs.elasticsearch.runner.ElasticsearchClusterRunner;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.impl.SimpleValueFactory;
import org.eclipse.rdf4j.model.vocabulary.RDF;
import org.eclipse.rdf4j.model.vocabulary.RDFS;
diff --git a/core/sail/elasticsearch-store/src/test/java/org/eclipse/rdf4j/sail/elasticsearchstore/benchmark/InitBenchmark.java b/core/sail/elasticsearch-store/src/test/java/org/eclipse/rdf4j/sail/elasticsearchstore/benchmark/InitBenchmark.java
index a9fab2dc233..304d2fe752b 100644
--- a/core/sail/elasticsearch-store/src/test/java/org/eclipse/rdf4j/sail/elasticsearchstore/benchmark/InitBenchmark.java
+++ b/core/sail/elasticsearch-store/src/test/java/org/eclipse/rdf4j/sail/elasticsearchstore/benchmark/InitBenchmark.java
@@ -14,7 +14,7 @@
import org.assertj.core.util.Files;
import org.codelibs.elasticsearch.runner.ElasticsearchClusterRunner;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.repository.sail.SailRepository;
import org.eclipse.rdf4j.repository.sail.SailRepositoryConnection;
import org.eclipse.rdf4j.sail.elasticsearchstore.ElasticsearchStore;
diff --git a/core/sail/elasticsearch-store/src/test/java/org/eclipse/rdf4j/sail/elasticsearchstore/benchmark/QueryBenchmark.java b/core/sail/elasticsearch-store/src/test/java/org/eclipse/rdf4j/sail/elasticsearchstore/benchmark/QueryBenchmark.java
index c139b86da7b..4434f7d8b74 100644
--- a/core/sail/elasticsearch-store/src/test/java/org/eclipse/rdf4j/sail/elasticsearchstore/benchmark/QueryBenchmark.java
+++ b/core/sail/elasticsearch-store/src/test/java/org/eclipse/rdf4j/sail/elasticsearchstore/benchmark/QueryBenchmark.java
@@ -18,8 +18,8 @@
import org.apache.commons.io.IOUtils;
import org.assertj.core.util.Files;
import org.codelibs.elasticsearch.runner.ElasticsearchClusterRunner;
-import org.eclipse.rdf4j.IsolationLevels;
import org.eclipse.rdf4j.common.iteration.Iterations;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.Resource;
import org.eclipse.rdf4j.model.Statement;
import org.eclipse.rdf4j.model.vocabulary.RDF;
diff --git a/core/sail/elasticsearch-store/src/test/java/org/eclipse/rdf4j/sail/elasticsearchstore/benchmark/ReadCacheBenchmark.java b/core/sail/elasticsearch-store/src/test/java/org/eclipse/rdf4j/sail/elasticsearchstore/benchmark/ReadCacheBenchmark.java
index 9cb94477190..b71a512f32a 100644
--- a/core/sail/elasticsearch-store/src/test/java/org/eclipse/rdf4j/sail/elasticsearchstore/benchmark/ReadCacheBenchmark.java
+++ b/core/sail/elasticsearch-store/src/test/java/org/eclipse/rdf4j/sail/elasticsearchstore/benchmark/ReadCacheBenchmark.java
@@ -18,8 +18,8 @@
import org.apache.commons.io.IOUtils;
import org.assertj.core.util.Files;
import org.codelibs.elasticsearch.runner.ElasticsearchClusterRunner;
-import org.eclipse.rdf4j.IsolationLevels;
import org.eclipse.rdf4j.common.iteration.Iterations;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.Literal;
import org.eclipse.rdf4j.model.impl.SimpleValueFactory;
import org.eclipse.rdf4j.model.vocabulary.RDFS;
diff --git a/core/sail/elasticsearch-store/src/test/java/org/eclipse/rdf4j/sail/elasticsearchstore/benchmark/TransactionBenchmark.java b/core/sail/elasticsearch-store/src/test/java/org/eclipse/rdf4j/sail/elasticsearchstore/benchmark/TransactionBenchmark.java
index ab026fc1a95..34545081340 100644
--- a/core/sail/elasticsearch-store/src/test/java/org/eclipse/rdf4j/sail/elasticsearchstore/benchmark/TransactionBenchmark.java
+++ b/core/sail/elasticsearch-store/src/test/java/org/eclipse/rdf4j/sail/elasticsearchstore/benchmark/TransactionBenchmark.java
@@ -16,7 +16,7 @@
import org.assertj.core.util.Files;
import org.codelibs.elasticsearch.runner.ElasticsearchClusterRunner;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.Statement;
import org.eclipse.rdf4j.model.impl.SimpleValueFactory;
import org.eclipse.rdf4j.model.vocabulary.RDFS;
diff --git a/core/sail/elasticsearch-store/src/test/java/org/eclipse/rdf4j/sail/elasticsearchstore/benchmark/TransactionParallelBenchmark.java b/core/sail/elasticsearch-store/src/test/java/org/eclipse/rdf4j/sail/elasticsearchstore/benchmark/TransactionParallelBenchmark.java
index ef642dbd50e..a641374a889 100644
--- a/core/sail/elasticsearch-store/src/test/java/org/eclipse/rdf4j/sail/elasticsearchstore/benchmark/TransactionParallelBenchmark.java
+++ b/core/sail/elasticsearch-store/src/test/java/org/eclipse/rdf4j/sail/elasticsearchstore/benchmark/TransactionParallelBenchmark.java
@@ -17,7 +17,7 @@
import org.assertj.core.util.Files;
import org.codelibs.elasticsearch.runner.ElasticsearchClusterRunner;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.impl.SimpleValueFactory;
import org.eclipse.rdf4j.model.vocabulary.RDF;
import org.eclipse.rdf4j.model.vocabulary.RDFS;
diff --git a/core/sail/elasticsearch-store/src/test/java/org/eclipse/rdf4j/sail/elasticsearchstore/compliance/ElasticsearchStoreConnectionIT.java b/core/sail/elasticsearch-store/src/test/java/org/eclipse/rdf4j/sail/elasticsearchstore/compliance/ElasticsearchStoreConnectionIT.java
index 09429c38799..5f6edea090a 100644
--- a/core/sail/elasticsearch-store/src/test/java/org/eclipse/rdf4j/sail/elasticsearchstore/compliance/ElasticsearchStoreConnectionIT.java
+++ b/core/sail/elasticsearch-store/src/test/java/org/eclipse/rdf4j/sail/elasticsearchstore/compliance/ElasticsearchStoreConnectionIT.java
@@ -12,8 +12,8 @@
import org.assertj.core.util.Files;
import org.codelibs.elasticsearch.runner.ElasticsearchClusterRunner;
-import org.eclipse.rdf4j.IsolationLevel;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.repository.Repository;
import org.eclipse.rdf4j.repository.RepositoryConnectionTest;
import org.eclipse.rdf4j.repository.sail.SailRepository;
diff --git a/core/sail/extensible-store/src/main/java/org/eclipse/rdf4j/sail/extensiblestore/ExtensibleSailSource.java b/core/sail/extensible-store/src/main/java/org/eclipse/rdf4j/sail/extensiblestore/ExtensibleSailSource.java
index 0ea2565be0a..daf30c76bbd 100644
--- a/core/sail/extensible-store/src/main/java/org/eclipse/rdf4j/sail/extensiblestore/ExtensibleSailSource.java
+++ b/core/sail/extensible-store/src/main/java/org/eclipse/rdf4j/sail/extensiblestore/ExtensibleSailSource.java
@@ -10,10 +10,10 @@
import java.util.HashSet;
import java.util.Set;
-import org.eclipse.rdf4j.IsolationLevel;
import org.eclipse.rdf4j.common.annotation.Experimental;
import org.eclipse.rdf4j.common.iteration.CloseableIteration;
import org.eclipse.rdf4j.common.iteration.CloseableIteratorIteration;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.model.Namespace;
import org.eclipse.rdf4j.model.Resource;
diff --git a/core/sail/extensible-store/src/main/java/org/eclipse/rdf4j/sail/extensiblestore/ExtensibleStore.java b/core/sail/extensible-store/src/main/java/org/eclipse/rdf4j/sail/extensiblestore/ExtensibleStore.java
index 59ad5ec687d..302789a98ad 100644
--- a/core/sail/extensible-store/src/main/java/org/eclipse/rdf4j/sail/extensiblestore/ExtensibleStore.java
+++ b/core/sail/extensible-store/src/main/java/org/eclipse/rdf4j/sail/extensiblestore/ExtensibleStore.java
@@ -11,9 +11,9 @@
import java.util.List;
import java.util.Objects;
-import org.eclipse.rdf4j.IsolationLevel;
-import org.eclipse.rdf4j.IsolationLevels;
import org.eclipse.rdf4j.common.annotation.Experimental;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.ValueFactory;
import org.eclipse.rdf4j.model.impl.SimpleValueFactory;
import org.eclipse.rdf4j.query.algebra.evaluation.EvaluationStrategyFactory;
diff --git a/core/sail/extensible-store/src/main/java/org/eclipse/rdf4j/sail/extensiblestore/evaluationstatistics/ExtensibleDirectEvaluationStatistics.java b/core/sail/extensible-store/src/main/java/org/eclipse/rdf4j/sail/extensiblestore/evaluationstatistics/ExtensibleDirectEvaluationStatistics.java
index b40e4c92142..fa7460fb1f7 100644
--- a/core/sail/extensible-store/src/main/java/org/eclipse/rdf4j/sail/extensiblestore/evaluationstatistics/ExtensibleDirectEvaluationStatistics.java
+++ b/core/sail/extensible-store/src/main/java/org/eclipse/rdf4j/sail/extensiblestore/evaluationstatistics/ExtensibleDirectEvaluationStatistics.java
@@ -9,9 +9,9 @@
import java.util.stream.Stream;
-import org.eclipse.rdf4j.IsolationLevels;
import org.eclipse.rdf4j.common.annotation.Experimental;
import org.eclipse.rdf4j.common.iteration.Iterations;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.model.Resource;
import org.eclipse.rdf4j.model.Statement;
diff --git a/core/sail/extensible-store/src/test/java/org/eclipse/rdf4j/sail/extensiblestore/compliance/ExtensibleStoreConnectionTest.java b/core/sail/extensible-store/src/test/java/org/eclipse/rdf4j/sail/extensiblestore/compliance/ExtensibleStoreConnectionTest.java
index e026b4ea106..e85c754dbca 100644
--- a/core/sail/extensible-store/src/test/java/org/eclipse/rdf4j/sail/extensiblestore/compliance/ExtensibleStoreConnectionTest.java
+++ b/core/sail/extensible-store/src/test/java/org/eclipse/rdf4j/sail/extensiblestore/compliance/ExtensibleStoreConnectionTest.java
@@ -7,8 +7,8 @@
*******************************************************************************/
package org.eclipse.rdf4j.sail.extensiblestore.compliance;
-import org.eclipse.rdf4j.IsolationLevel;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.repository.Repository;
import org.eclipse.rdf4j.repository.RepositoryConnectionTest;
import org.eclipse.rdf4j.repository.sail.SailRepository;
diff --git a/core/sail/federation/src/main/java/org/eclipse/rdf4j/sail/federation/AbstractFederationConnection.java b/core/sail/federation/src/main/java/org/eclipse/rdf4j/sail/federation/AbstractFederationConnection.java
index 983392e6545..825b33e1453 100644
--- a/core/sail/federation/src/main/java/org/eclipse/rdf4j/sail/federation/AbstractFederationConnection.java
+++ b/core/sail/federation/src/main/java/org/eclipse/rdf4j/sail/federation/AbstractFederationConnection.java
@@ -16,13 +16,13 @@
import java.util.Set;
import org.apache.http.client.HttpClient;
-import org.eclipse.rdf4j.IsolationLevel;
-import org.eclipse.rdf4j.IsolationLevels;
import org.eclipse.rdf4j.common.iteration.CloseableIteration;
import org.eclipse.rdf4j.common.iteration.CloseableIteratorIteration;
import org.eclipse.rdf4j.common.iteration.DistinctIteration;
import org.eclipse.rdf4j.common.iteration.ExceptionConvertingIteration;
import org.eclipse.rdf4j.common.iteration.UnionIteration;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.http.client.HttpClientDependent;
import org.eclipse.rdf4j.http.client.HttpClientSessionManager;
import org.eclipse.rdf4j.http.client.SessionManagerDependent;
diff --git a/core/sail/federation/src/main/java/org/eclipse/rdf4j/sail/federation/Federation.java b/core/sail/federation/src/main/java/org/eclipse/rdf4j/sail/federation/Federation.java
index 10097af73d5..803d27a007d 100644
--- a/core/sail/federation/src/main/java/org/eclipse/rdf4j/sail/federation/Federation.java
+++ b/core/sail/federation/src/main/java/org/eclipse/rdf4j/sail/federation/Federation.java
@@ -21,9 +21,9 @@
import java.util.concurrent.TimeUnit;
import org.apache.http.client.HttpClient;
-import org.eclipse.rdf4j.IsolationLevel;
-import org.eclipse.rdf4j.IsolationLevels;
import org.eclipse.rdf4j.RDF4JException;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.http.client.HttpClientDependent;
import org.eclipse.rdf4j.http.client.HttpClientSessionManager;
import org.eclipse.rdf4j.http.client.SessionManagerDependent;
diff --git a/core/sail/federation/src/test/java/org/eclipse/rdf4j/sail/federation/FederationConnectionTest.java b/core/sail/federation/src/test/java/org/eclipse/rdf4j/sail/federation/FederationConnectionTest.java
index 4688cbde3d7..7e85b693416 100644
--- a/core/sail/federation/src/test/java/org/eclipse/rdf4j/sail/federation/FederationConnectionTest.java
+++ b/core/sail/federation/src/test/java/org/eclipse/rdf4j/sail/federation/FederationConnectionTest.java
@@ -9,8 +9,8 @@
import java.io.IOException;
-import org.eclipse.rdf4j.IsolationLevel;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.repository.Repository;
import org.eclipse.rdf4j.repository.RepositoryConnectionTest;
import org.eclipse.rdf4j.repository.sail.SailRepository;
diff --git a/core/sail/inferencer/src/main/java/org/eclipse/rdf4j/sail/inferencer/fc/AbstractForwardChainingInferencer.java b/core/sail/inferencer/src/main/java/org/eclipse/rdf4j/sail/inferencer/fc/AbstractForwardChainingInferencer.java
index 463e92271a7..2163505ec6d 100644
--- a/core/sail/inferencer/src/main/java/org/eclipse/rdf4j/sail/inferencer/fc/AbstractForwardChainingInferencer.java
+++ b/core/sail/inferencer/src/main/java/org/eclipse/rdf4j/sail/inferencer/fc/AbstractForwardChainingInferencer.java
@@ -10,8 +10,8 @@
import java.util.ArrayList;
import java.util.List;
-import org.eclipse.rdf4j.IsolationLevel;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.sail.NotifyingSail;
import org.eclipse.rdf4j.sail.helpers.NotifyingSailWrapper;
diff --git a/core/sail/inferencer/src/main/java/org/eclipse/rdf4j/sail/inferencer/fc/AbstractForwardChainingInferencerConnection.java b/core/sail/inferencer/src/main/java/org/eclipse/rdf4j/sail/inferencer/fc/AbstractForwardChainingInferencerConnection.java
index 9ccd7c13748..763a00283ce 100644
--- a/core/sail/inferencer/src/main/java/org/eclipse/rdf4j/sail/inferencer/fc/AbstractForwardChainingInferencerConnection.java
+++ b/core/sail/inferencer/src/main/java/org/eclipse/rdf4j/sail/inferencer/fc/AbstractForwardChainingInferencerConnection.java
@@ -7,8 +7,8 @@
*******************************************************************************/
package org.eclipse.rdf4j.sail.inferencer.fc;
-import org.eclipse.rdf4j.IsolationLevel;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.Model;
import org.eclipse.rdf4j.model.Statement;
import org.eclipse.rdf4j.sail.Sail;
diff --git a/core/sail/inferencer/src/main/java/org/eclipse/rdf4j/sail/inferencer/fc/SchemaCachingRDFSInferencer.java b/core/sail/inferencer/src/main/java/org/eclipse/rdf4j/sail/inferencer/fc/SchemaCachingRDFSInferencer.java
index bf3239d2317..4ad7c6ea21f 100644
--- a/core/sail/inferencer/src/main/java/org/eclipse/rdf4j/sail/inferencer/fc/SchemaCachingRDFSInferencer.java
+++ b/core/sail/inferencer/src/main/java/org/eclipse/rdf4j/sail/inferencer/fc/SchemaCachingRDFSInferencer.java
@@ -20,8 +20,8 @@
import java.util.stream.Collectors;
import java.util.stream.Stream;
-import org.eclipse.rdf4j.IsolationLevel;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.model.Resource;
import org.eclipse.rdf4j.model.Statement;
diff --git a/core/sail/inferencer/src/main/java/org/eclipse/rdf4j/sail/inferencer/fc/SchemaCachingRDFSInferencerConnection.java b/core/sail/inferencer/src/main/java/org/eclipse/rdf4j/sail/inferencer/fc/SchemaCachingRDFSInferencerConnection.java
index 4692be1ffb5..190324039ff 100644
--- a/core/sail/inferencer/src/main/java/org/eclipse/rdf4j/sail/inferencer/fc/SchemaCachingRDFSInferencerConnection.java
+++ b/core/sail/inferencer/src/main/java/org/eclipse/rdf4j/sail/inferencer/fc/SchemaCachingRDFSInferencerConnection.java
@@ -11,9 +11,9 @@
import java.util.Arrays;
import java.util.List;
-import org.eclipse.rdf4j.IsolationLevel;
-import org.eclipse.rdf4j.IsolationLevels;
import org.eclipse.rdf4j.common.iteration.CloseableIteration;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.model.Resource;
import org.eclipse.rdf4j.model.Statement;
diff --git a/core/sail/inferencer/src/test/java/org/eclipse/rdf4j/sail/inferencer/fc/CustomGraphQueryInferencerRepositoryConnectionTest.java b/core/sail/inferencer/src/test/java/org/eclipse/rdf4j/sail/inferencer/fc/CustomGraphQueryInferencerRepositoryConnectionTest.java
index 2ce3fab497f..2f0c0f90336 100644
--- a/core/sail/inferencer/src/test/java/org/eclipse/rdf4j/sail/inferencer/fc/CustomGraphQueryInferencerRepositoryConnectionTest.java
+++ b/core/sail/inferencer/src/test/java/org/eclipse/rdf4j/sail/inferencer/fc/CustomGraphQueryInferencerRepositoryConnectionTest.java
@@ -9,8 +9,8 @@
import java.io.IOException;
-import org.eclipse.rdf4j.IsolationLevel;
import org.eclipse.rdf4j.common.io.ResourceUtil;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
import org.eclipse.rdf4j.query.MalformedQueryException;
import org.eclipse.rdf4j.query.QueryLanguage;
import org.eclipse.rdf4j.query.UnsupportedQueryLanguageException;
diff --git a/core/sail/inferencer/src/test/java/org/eclipse/rdf4j/sail/inferencer/fc/RDFSchemaMemoryRepositoryConnectionTest.java b/core/sail/inferencer/src/test/java/org/eclipse/rdf4j/sail/inferencer/fc/RDFSchemaMemoryRepositoryConnectionTest.java
index 522c062dab1..33d3f35579a 100644
--- a/core/sail/inferencer/src/test/java/org/eclipse/rdf4j/sail/inferencer/fc/RDFSchemaMemoryRepositoryConnectionTest.java
+++ b/core/sail/inferencer/src/test/java/org/eclipse/rdf4j/sail/inferencer/fc/RDFSchemaMemoryRepositoryConnectionTest.java
@@ -7,7 +7,7 @@
*******************************************************************************/
package org.eclipse.rdf4j.sail.inferencer.fc;
-import org.eclipse.rdf4j.IsolationLevel;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
import org.eclipse.rdf4j.repository.RDFSchemaRepositoryConnectionTest;
import org.eclipse.rdf4j.repository.Repository;
import org.eclipse.rdf4j.repository.sail.SailRepository;
diff --git a/core/sail/inferencer/src/test/java/org/eclipse/rdf4j/sail/inferencer/fc/RDFSchemaNativeRepositoryConnectionTest.java b/core/sail/inferencer/src/test/java/org/eclipse/rdf4j/sail/inferencer/fc/RDFSchemaNativeRepositoryConnectionTest.java
index 60f5fa6ac38..899e35c6841 100644
--- a/core/sail/inferencer/src/test/java/org/eclipse/rdf4j/sail/inferencer/fc/RDFSchemaNativeRepositoryConnectionTest.java
+++ b/core/sail/inferencer/src/test/java/org/eclipse/rdf4j/sail/inferencer/fc/RDFSchemaNativeRepositoryConnectionTest.java
@@ -9,7 +9,7 @@
import java.io.IOException;
-import org.eclipse.rdf4j.IsolationLevel;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
import org.eclipse.rdf4j.repository.RDFSchemaRepositoryConnectionTest;
import org.eclipse.rdf4j.repository.Repository;
import org.eclipse.rdf4j.repository.sail.SailRepository;
diff --git a/core/sail/inferencer/src/test/java/org/eclipse/rdf4j/sail/inferencer/fc/SchemaCachingRDFSInferencerIsolationLevelTest.java b/core/sail/inferencer/src/test/java/org/eclipse/rdf4j/sail/inferencer/fc/SchemaCachingRDFSInferencerIsolationLevelTest.java
index 5993066f775..48d491516d7 100644
--- a/core/sail/inferencer/src/test/java/org/eclipse/rdf4j/sail/inferencer/fc/SchemaCachingRDFSInferencerIsolationLevelTest.java
+++ b/core/sail/inferencer/src/test/java/org/eclipse/rdf4j/sail/inferencer/fc/SchemaCachingRDFSInferencerIsolationLevelTest.java
@@ -7,7 +7,7 @@
*******************************************************************************/
package org.eclipse.rdf4j.sail.inferencer.fc;
-import org.eclipse.rdf4j.IsolationLevel;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
import org.eclipse.rdf4j.sail.Sail;
import org.eclipse.rdf4j.sail.SailException;
import org.eclipse.rdf4j.sail.SailIsolationLevelTest;
diff --git a/core/sail/inferencer/src/test/java/org/eclipse/rdf4j/sail/inferencer/fc/SchemaCachingRDFSInferencerNativeRepositoryConnectionTest.java b/core/sail/inferencer/src/test/java/org/eclipse/rdf4j/sail/inferencer/fc/SchemaCachingRDFSInferencerNativeRepositoryConnectionTest.java
index e36cbc5d80a..b8ef6d78421 100644
--- a/core/sail/inferencer/src/test/java/org/eclipse/rdf4j/sail/inferencer/fc/SchemaCachingRDFSInferencerNativeRepositoryConnectionTest.java
+++ b/core/sail/inferencer/src/test/java/org/eclipse/rdf4j/sail/inferencer/fc/SchemaCachingRDFSInferencerNativeRepositoryConnectionTest.java
@@ -12,7 +12,7 @@
import java.io.IOException;
import java.util.stream.Stream;
-import org.eclipse.rdf4j.IsolationLevel;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.model.Statement;
import org.eclipse.rdf4j.model.vocabulary.RDF;
diff --git a/core/sail/inferencer/src/test/java/org/eclipse/rdf4j/sail/inferencer/fc/SchemaCachingRDFSInferencerRDFSchemaMemoryRepositoryConnectionTest.java b/core/sail/inferencer/src/test/java/org/eclipse/rdf4j/sail/inferencer/fc/SchemaCachingRDFSInferencerRDFSchemaMemoryRepositoryConnectionTest.java
index f6f0482ec9a..3c98b0e6df3 100644
--- a/core/sail/inferencer/src/test/java/org/eclipse/rdf4j/sail/inferencer/fc/SchemaCachingRDFSInferencerRDFSchemaMemoryRepositoryConnectionTest.java
+++ b/core/sail/inferencer/src/test/java/org/eclipse/rdf4j/sail/inferencer/fc/SchemaCachingRDFSInferencerRDFSchemaMemoryRepositoryConnectionTest.java
@@ -13,7 +13,7 @@
import java.util.stream.Stream;
-import org.eclipse.rdf4j.IsolationLevel;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.model.Statement;
import org.eclipse.rdf4j.model.vocabulary.RDF;
diff --git a/core/sail/memory/src/main/java/org/eclipse/rdf4j/sail/memory/MemorySailStore.java b/core/sail/memory/src/main/java/org/eclipse/rdf4j/sail/memory/MemorySailStore.java
index 8927267760c..6130f1ec325 100644
--- a/core/sail/memory/src/main/java/org/eclipse/rdf4j/sail/memory/MemorySailStore.java
+++ b/core/sail/memory/src/main/java/org/eclipse/rdf4j/sail/memory/MemorySailStore.java
@@ -13,8 +13,6 @@
import java.util.Set;
import java.util.concurrent.locks.ReentrantLock;
-import org.eclipse.rdf4j.IsolationLevel;
-import org.eclipse.rdf4j.IsolationLevels;
import org.eclipse.rdf4j.common.concurrent.locks.Lock;
import org.eclipse.rdf4j.common.concurrent.locks.LockingIteration;
import org.eclipse.rdf4j.common.concurrent.locks.ReadPrefReadWriteLockManager;
@@ -22,6 +20,8 @@
import org.eclipse.rdf4j.common.iteration.CloseableIteration;
import org.eclipse.rdf4j.common.iteration.CloseableIteratorIteration;
import org.eclipse.rdf4j.common.iteration.EmptyIteration;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.model.Namespace;
import org.eclipse.rdf4j.model.Resource;
diff --git a/core/sail/memory/src/main/java/org/eclipse/rdf4j/sail/memory/MemoryStore.java b/core/sail/memory/src/main/java/org/eclipse/rdf4j/sail/memory/MemoryStore.java
index 2ecbfee569e..f8af78d3afb 100644
--- a/core/sail/memory/src/main/java/org/eclipse/rdf4j/sail/memory/MemoryStore.java
+++ b/core/sail/memory/src/main/java/org/eclipse/rdf4j/sail/memory/MemoryStore.java
@@ -12,8 +12,8 @@
import java.util.Timer;
import java.util.TimerTask;
-import org.eclipse.rdf4j.IsolationLevels;
import org.eclipse.rdf4j.common.concurrent.locks.Lock;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.ValueFactory;
import org.eclipse.rdf4j.query.algebra.evaluation.EvaluationStrategy;
import org.eclipse.rdf4j.query.algebra.evaluation.EvaluationStrategyFactory;
diff --git a/core/sail/memory/src/test/java/org/eclipse/rdf4j/sail/memory/MemTripleSourceTest.java b/core/sail/memory/src/test/java/org/eclipse/rdf4j/sail/memory/MemTripleSourceTest.java
index ebbf57a8a9f..f11ff4c417f 100644
--- a/core/sail/memory/src/test/java/org/eclipse/rdf4j/sail/memory/MemTripleSourceTest.java
+++ b/core/sail/memory/src/test/java/org/eclipse/rdf4j/sail/memory/MemTripleSourceTest.java
@@ -13,10 +13,10 @@
import java.io.InputStream;
import java.util.List;
-import org.eclipse.rdf4j.IsolationLevel;
import org.eclipse.rdf4j.common.iteration.CloseableIteration;
import org.eclipse.rdf4j.common.iteration.ExceptionConvertingIteration;
import org.eclipse.rdf4j.common.iteration.Iterations;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.model.Resource;
import org.eclipse.rdf4j.model.Statement;
diff --git a/core/sail/memory/src/test/java/org/eclipse/rdf4j/sail/memory/MemoryStoreConnectionTest.java b/core/sail/memory/src/test/java/org/eclipse/rdf4j/sail/memory/MemoryStoreConnectionTest.java
index f5be1562546..125621ef8d6 100644
--- a/core/sail/memory/src/test/java/org/eclipse/rdf4j/sail/memory/MemoryStoreConnectionTest.java
+++ b/core/sail/memory/src/test/java/org/eclipse/rdf4j/sail/memory/MemoryStoreConnectionTest.java
@@ -7,7 +7,7 @@
*******************************************************************************/
package org.eclipse.rdf4j.sail.memory;
-import org.eclipse.rdf4j.IsolationLevel;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
import org.eclipse.rdf4j.repository.Repository;
import org.eclipse.rdf4j.repository.RepositoryConnectionTest;
import org.eclipse.rdf4j.repository.sail.SailRepository;
diff --git a/core/sail/memory/src/test/java/org/eclipse/rdf4j/sail/memory/QueryPlanRetrievalTest.java b/core/sail/memory/src/test/java/org/eclipse/rdf4j/sail/memory/QueryPlanRetrievalTest.java
index 05c58960814..c8bfac4af19 100644
--- a/core/sail/memory/src/test/java/org/eclipse/rdf4j/sail/memory/QueryPlanRetrievalTest.java
+++ b/core/sail/memory/src/test/java/org/eclipse/rdf4j/sail/memory/QueryPlanRetrievalTest.java
@@ -16,7 +16,7 @@
import java.nio.charset.StandardCharsets;
import org.apache.commons.io.IOUtils;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.ValueFactory;
import org.eclipse.rdf4j.model.impl.SimpleValueFactory;
import org.eclipse.rdf4j.model.vocabulary.FOAF;
diff --git a/core/sail/memory/src/test/java/org/eclipse/rdf4j/sail/memory/benchmark/MemoryBenchmark.java b/core/sail/memory/src/test/java/org/eclipse/rdf4j/sail/memory/benchmark/MemoryBenchmark.java
index df5bf294005..045f47a9dab 100644
--- a/core/sail/memory/src/test/java/org/eclipse/rdf4j/sail/memory/benchmark/MemoryBenchmark.java
+++ b/core/sail/memory/src/test/java/org/eclipse/rdf4j/sail/memory/benchmark/MemoryBenchmark.java
@@ -6,8 +6,8 @@
import java.util.concurrent.TimeUnit;
import java.util.stream.Stream;
-import org.eclipse.rdf4j.IsolationLevels;
import org.eclipse.rdf4j.common.iteration.CloseableIteration;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.model.Statement;
import org.eclipse.rdf4j.model.ValueFactory;
diff --git a/core/sail/memory/src/test/java/org/eclipse/rdf4j/sail/memory/benchmark/QueryBenchmark.java b/core/sail/memory/src/test/java/org/eclipse/rdf4j/sail/memory/benchmark/QueryBenchmark.java
index c285ffefa14..a2d1489c41b 100644
--- a/core/sail/memory/src/test/java/org/eclipse/rdf4j/sail/memory/benchmark/QueryBenchmark.java
+++ b/core/sail/memory/src/test/java/org/eclipse/rdf4j/sail/memory/benchmark/QueryBenchmark.java
@@ -19,8 +19,8 @@
import java.util.stream.Stream;
import org.apache.commons.io.IOUtils;
-import org.eclipse.rdf4j.IsolationLevels;
import org.eclipse.rdf4j.common.iteration.Iterations;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.Resource;
import org.eclipse.rdf4j.model.Statement;
import org.eclipse.rdf4j.model.Value;
diff --git a/core/sail/memory/src/test/java/org/eclipse/rdf4j/sail/memory/benchmark/SortBenchmark.java b/core/sail/memory/src/test/java/org/eclipse/rdf4j/sail/memory/benchmark/SortBenchmark.java
index 5054c2ed30a..d01cc7b85f4 100644
--- a/core/sail/memory/src/test/java/org/eclipse/rdf4j/sail/memory/benchmark/SortBenchmark.java
+++ b/core/sail/memory/src/test/java/org/eclipse/rdf4j/sail/memory/benchmark/SortBenchmark.java
@@ -19,8 +19,8 @@
import java.util.stream.Stream;
import org.apache.commons.io.IOUtils;
-import org.eclipse.rdf4j.IsolationLevels;
import org.eclipse.rdf4j.common.iteration.Iterations;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.Resource;
import org.eclipse.rdf4j.model.Statement;
import org.eclipse.rdf4j.model.Value;
diff --git a/core/sail/memory/src/test/java/org/eclipse/rdf4j/sail/memory/benchmark/SparqlOverheadBenchmark.java b/core/sail/memory/src/test/java/org/eclipse/rdf4j/sail/memory/benchmark/SparqlOverheadBenchmark.java
index ae66eb4a89c..ce08359900c 100644
--- a/core/sail/memory/src/test/java/org/eclipse/rdf4j/sail/memory/benchmark/SparqlOverheadBenchmark.java
+++ b/core/sail/memory/src/test/java/org/eclipse/rdf4j/sail/memory/benchmark/SparqlOverheadBenchmark.java
@@ -17,7 +17,7 @@
import java.util.stream.Stream;
import org.apache.commons.io.IOUtils;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.Statement;
import org.eclipse.rdf4j.model.Value;
import org.eclipse.rdf4j.model.vocabulary.RDF;
diff --git a/core/sail/nativerdf/src/main/java/org/eclipse/rdf4j/sail/nativerdf/NativeSailStore.java b/core/sail/nativerdf/src/main/java/org/eclipse/rdf4j/sail/nativerdf/NativeSailStore.java
index a3ef01ba35a..1a87197cdc4 100644
--- a/core/sail/nativerdf/src/main/java/org/eclipse/rdf4j/sail/nativerdf/NativeSailStore.java
+++ b/core/sail/nativerdf/src/main/java/org/eclipse/rdf4j/sail/nativerdf/NativeSailStore.java
@@ -18,7 +18,6 @@
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.locks.ReentrantLock;
-import org.eclipse.rdf4j.IsolationLevel;
import org.eclipse.rdf4j.OpenRDFUtil;
import org.eclipse.rdf4j.common.iteration.CloseableIteration;
import org.eclipse.rdf4j.common.iteration.CloseableIteratorIteration;
@@ -26,6 +25,7 @@
import org.eclipse.rdf4j.common.iteration.EmptyIteration;
import org.eclipse.rdf4j.common.iteration.FilterIteration;
import org.eclipse.rdf4j.common.iteration.UnionIteration;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.model.Namespace;
import org.eclipse.rdf4j.model.Resource;
diff --git a/core/sail/nativerdf/src/main/java/org/eclipse/rdf4j/sail/nativerdf/NativeStore.java b/core/sail/nativerdf/src/main/java/org/eclipse/rdf4j/sail/nativerdf/NativeStore.java
index 97b90b4ac55..ae1c97a4415 100644
--- a/core/sail/nativerdf/src/main/java/org/eclipse/rdf4j/sail/nativerdf/NativeStore.java
+++ b/core/sail/nativerdf/src/main/java/org/eclipse/rdf4j/sail/nativerdf/NativeStore.java
@@ -15,11 +15,11 @@
import java.util.concurrent.locks.ReentrantLock;
import org.apache.commons.io.FileUtils;
-import org.eclipse.rdf4j.IsolationLevel;
-import org.eclipse.rdf4j.IsolationLevels;
import org.eclipse.rdf4j.common.concurrent.locks.Lock;
import org.eclipse.rdf4j.common.concurrent.locks.LockManager;
import org.eclipse.rdf4j.common.io.MavenUtil;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.ValueFactory;
import org.eclipse.rdf4j.query.algebra.evaluation.EvaluationStrategy;
import org.eclipse.rdf4j.query.algebra.evaluation.EvaluationStrategyFactory;
diff --git a/core/sail/nativerdf/src/main/java/org/eclipse/rdf4j/sail/nativerdf/NativeStoreConnection.java b/core/sail/nativerdf/src/main/java/org/eclipse/rdf4j/sail/nativerdf/NativeStoreConnection.java
index 0cf4eb4bc2c..3f36b6a1730 100644
--- a/core/sail/nativerdf/src/main/java/org/eclipse/rdf4j/sail/nativerdf/NativeStoreConnection.java
+++ b/core/sail/nativerdf/src/main/java/org/eclipse/rdf4j/sail/nativerdf/NativeStoreConnection.java
@@ -9,8 +9,8 @@
import java.io.IOException;
-import org.eclipse.rdf4j.IsolationLevels;
import org.eclipse.rdf4j.common.concurrent.locks.Lock;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.model.Resource;
import org.eclipse.rdf4j.model.Value;
diff --git a/core/sail/nativerdf/src/main/java/org/eclipse/rdf4j/sail/nativerdf/SailSourceModel.java b/core/sail/nativerdf/src/main/java/org/eclipse/rdf4j/sail/nativerdf/SailSourceModel.java
index 05a6121ae0e..71589afad07 100644
--- a/core/sail/nativerdf/src/main/java/org/eclipse/rdf4j/sail/nativerdf/SailSourceModel.java
+++ b/core/sail/nativerdf/src/main/java/org/eclipse/rdf4j/sail/nativerdf/SailSourceModel.java
@@ -14,8 +14,8 @@
import java.util.Optional;
import java.util.Set;
-import org.eclipse.rdf4j.IsolationLevels;
import org.eclipse.rdf4j.common.iteration.CloseableIteration;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.model.Model;
import org.eclipse.rdf4j.model.Namespace;
diff --git a/core/sail/nativerdf/src/test/java/org/eclipse/rdf4j/sail/nativerdf/LimitedSizeNativeStoreConnectionTest.java b/core/sail/nativerdf/src/test/java/org/eclipse/rdf4j/sail/nativerdf/LimitedSizeNativeStoreConnectionTest.java
index 56127fae8ca..9b7136b7f07 100644
--- a/core/sail/nativerdf/src/test/java/org/eclipse/rdf4j/sail/nativerdf/LimitedSizeNativeStoreConnectionTest.java
+++ b/core/sail/nativerdf/src/test/java/org/eclipse/rdf4j/sail/nativerdf/LimitedSizeNativeStoreConnectionTest.java
@@ -14,8 +14,8 @@
import java.io.IOException;
-import org.eclipse.rdf4j.IsolationLevel;
import org.eclipse.rdf4j.common.iteration.Iterations;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.model.ValueFactory;
import org.eclipse.rdf4j.query.QueryEvaluationException;
diff --git a/core/sail/nativerdf/src/test/java/org/eclipse/rdf4j/sail/nativerdf/LongMultithreadedTransactions.java b/core/sail/nativerdf/src/test/java/org/eclipse/rdf4j/sail/nativerdf/LongMultithreadedTransactions.java
index 2840f2c0804..227670a826c 100644
--- a/core/sail/nativerdf/src/test/java/org/eclipse/rdf4j/sail/nativerdf/LongMultithreadedTransactions.java
+++ b/core/sail/nativerdf/src/test/java/org/eclipse/rdf4j/sail/nativerdf/LongMultithreadedTransactions.java
@@ -3,7 +3,7 @@
import java.util.Random;
import java.util.stream.IntStream;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.model.ValueFactory;
import org.eclipse.rdf4j.model.impl.SimpleValueFactory;
diff --git a/core/sail/nativerdf/src/test/java/org/eclipse/rdf4j/sail/nativerdf/NativeStoreConnectionTest.java b/core/sail/nativerdf/src/test/java/org/eclipse/rdf4j/sail/nativerdf/NativeStoreConnectionTest.java
index 7c2814b69c6..6c5a4e4e7ca 100644
--- a/core/sail/nativerdf/src/test/java/org/eclipse/rdf4j/sail/nativerdf/NativeStoreConnectionTest.java
+++ b/core/sail/nativerdf/src/test/java/org/eclipse/rdf4j/sail/nativerdf/NativeStoreConnectionTest.java
@@ -11,8 +11,8 @@
import java.io.IOException;
-import org.eclipse.rdf4j.IsolationLevel;
import org.eclipse.rdf4j.common.iteration.Iterations;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.model.ValueFactory;
import org.eclipse.rdf4j.repository.Repository;
diff --git a/core/sail/nativerdf/src/test/java/org/eclipse/rdf4j/sail/nativerdf/TestNativeStoreMemoryOverflow.java b/core/sail/nativerdf/src/test/java/org/eclipse/rdf4j/sail/nativerdf/TestNativeStoreMemoryOverflow.java
index b960f02dce8..d795269a5bd 100644
--- a/core/sail/nativerdf/src/test/java/org/eclipse/rdf4j/sail/nativerdf/TestNativeStoreMemoryOverflow.java
+++ b/core/sail/nativerdf/src/test/java/org/eclipse/rdf4j/sail/nativerdf/TestNativeStoreMemoryOverflow.java
@@ -11,10 +11,10 @@
import java.io.IOException;
-import org.eclipse.rdf4j.IsolationLevel;
-import org.eclipse.rdf4j.IsolationLevels;
import org.eclipse.rdf4j.common.iteration.Iteration;
import org.eclipse.rdf4j.common.iteration.Iterations;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.Statement;
import org.eclipse.rdf4j.model.URI;
import org.eclipse.rdf4j.model.ValueFactory;
diff --git a/core/sail/nativerdf/src/test/java/org/eclipse/rdf4j/sail/nativerdf/benchmark/OverflowBenchmarkReal.java b/core/sail/nativerdf/src/test/java/org/eclipse/rdf4j/sail/nativerdf/benchmark/OverflowBenchmarkReal.java
index fb722450ef6..470c2f9da58 100644
--- a/core/sail/nativerdf/src/test/java/org/eclipse/rdf4j/sail/nativerdf/benchmark/OverflowBenchmarkReal.java
+++ b/core/sail/nativerdf/src/test/java/org/eclipse/rdf4j/sail/nativerdf/benchmark/OverflowBenchmarkReal.java
@@ -14,7 +14,7 @@
import org.apache.commons.io.FileUtils;
import org.assertj.core.util.Files;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.repository.sail.SailRepository;
import org.eclipse.rdf4j.repository.sail.SailRepositoryConnection;
import org.eclipse.rdf4j.sail.nativerdf.NativeStore;
diff --git a/core/sail/nativerdf/src/test/java/org/eclipse/rdf4j/sail/nativerdf/benchmark/OverflowBenchmarkSynthetic.java b/core/sail/nativerdf/src/test/java/org/eclipse/rdf4j/sail/nativerdf/benchmark/OverflowBenchmarkSynthetic.java
index e46f4846428..f4e18cdc5da 100644
--- a/core/sail/nativerdf/src/test/java/org/eclipse/rdf4j/sail/nativerdf/benchmark/OverflowBenchmarkSynthetic.java
+++ b/core/sail/nativerdf/src/test/java/org/eclipse/rdf4j/sail/nativerdf/benchmark/OverflowBenchmarkSynthetic.java
@@ -17,7 +17,7 @@
import org.apache.commons.io.FileUtils;
import org.assertj.core.util.Files;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.ValueFactory;
import org.eclipse.rdf4j.model.vocabulary.FOAF;
import org.eclipse.rdf4j.model.vocabulary.RDFS;
diff --git a/core/sail/nativerdf/src/test/java/org/eclipse/rdf4j/sail/nativerdf/benchmark/QueryBenchmark.java b/core/sail/nativerdf/src/test/java/org/eclipse/rdf4j/sail/nativerdf/benchmark/QueryBenchmark.java
index 3ab55a81a29..d9a4cb86621 100644
--- a/core/sail/nativerdf/src/test/java/org/eclipse/rdf4j/sail/nativerdf/benchmark/QueryBenchmark.java
+++ b/core/sail/nativerdf/src/test/java/org/eclipse/rdf4j/sail/nativerdf/benchmark/QueryBenchmark.java
@@ -16,8 +16,8 @@
import java.util.concurrent.TimeUnit;
import org.apache.commons.io.IOUtils;
-import org.eclipse.rdf4j.IsolationLevels;
import org.eclipse.rdf4j.common.iteration.Iterations;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.Resource;
import org.eclipse.rdf4j.model.Statement;
import org.eclipse.rdf4j.model.vocabulary.RDF;
diff --git a/core/sail/nativerdf/src/test/java/org/eclipse/rdf4j/sail/nativerdf/benchmark/TransactionsPerSecondBenchmark.java b/core/sail/nativerdf/src/test/java/org/eclipse/rdf4j/sail/nativerdf/benchmark/TransactionsPerSecondBenchmark.java
index dd20e17fd17..96065a47eff 100644
--- a/core/sail/nativerdf/src/test/java/org/eclipse/rdf4j/sail/nativerdf/benchmark/TransactionsPerSecondBenchmark.java
+++ b/core/sail/nativerdf/src/test/java/org/eclipse/rdf4j/sail/nativerdf/benchmark/TransactionsPerSecondBenchmark.java
@@ -14,7 +14,7 @@
import org.apache.commons.io.FileUtils;
import org.assertj.core.util.Files;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.vocabulary.RDFS;
import org.eclipse.rdf4j.repository.sail.SailRepository;
import org.eclipse.rdf4j.repository.sail.SailRepositoryConnection;
diff --git a/core/sail/nativerdf/src/test/java/org/eclipse/rdf4j/sail/nativerdf/benchmark/TransactionsPerSecondForceSyncBenchmark.java b/core/sail/nativerdf/src/test/java/org/eclipse/rdf4j/sail/nativerdf/benchmark/TransactionsPerSecondForceSyncBenchmark.java
index 07023a2fcbc..895b392fd9e 100644
--- a/core/sail/nativerdf/src/test/java/org/eclipse/rdf4j/sail/nativerdf/benchmark/TransactionsPerSecondForceSyncBenchmark.java
+++ b/core/sail/nativerdf/src/test/java/org/eclipse/rdf4j/sail/nativerdf/benchmark/TransactionsPerSecondForceSyncBenchmark.java
@@ -14,7 +14,7 @@
import org.apache.commons.io.FileUtils;
import org.assertj.core.util.Files;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.vocabulary.RDFS;
import org.eclipse.rdf4j.repository.sail.SailRepository;
import org.eclipse.rdf4j.repository.sail.SailRepositoryConnection;
diff --git a/core/sail/sail-spin/src/main/java/org/eclipse/rdf4j/sail/spin/SpinSail.java b/core/sail/sail-spin/src/main/java/org/eclipse/rdf4j/sail/spin/SpinSail.java
index 5fc3ef8f88c..2dd4ac25830 100644
--- a/core/sail/sail-spin/src/main/java/org/eclipse/rdf4j/sail/spin/SpinSail.java
+++ b/core/sail/sail-spin/src/main/java/org/eclipse/rdf4j/sail/spin/SpinSail.java
@@ -10,7 +10,7 @@
import java.util.ArrayList;
import java.util.List;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.model.impl.SimpleValueFactory;
import org.eclipse.rdf4j.model.vocabulary.OWL;
diff --git a/core/sail/sail-spin/src/test/java/org/eclipse/rdf4j/sail/spin/SpinMemoryRepositoryConnectionTest.java b/core/sail/sail-spin/src/test/java/org/eclipse/rdf4j/sail/spin/SpinMemoryRepositoryConnectionTest.java
index edb09d8e7ce..dc68b8d4a0b 100644
--- a/core/sail/sail-spin/src/test/java/org/eclipse/rdf4j/sail/spin/SpinMemoryRepositoryConnectionTest.java
+++ b/core/sail/sail-spin/src/test/java/org/eclipse/rdf4j/sail/spin/SpinMemoryRepositoryConnectionTest.java
@@ -9,7 +9,7 @@
import java.io.IOException;
-import org.eclipse.rdf4j.IsolationLevel;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
import org.eclipse.rdf4j.query.MalformedQueryException;
import org.eclipse.rdf4j.query.UnsupportedQueryLanguageException;
import org.eclipse.rdf4j.repository.Repository;
diff --git a/core/sail/sail-spin/src/test/java/org/eclipse/rdf4j/sail/spin/SpinRDFSMemoryRepositoryConnectionTest.java b/core/sail/sail-spin/src/test/java/org/eclipse/rdf4j/sail/spin/SpinRDFSMemoryRepositoryConnectionTest.java
index d6815ad7ce6..8eae5151859 100644
--- a/core/sail/sail-spin/src/test/java/org/eclipse/rdf4j/sail/spin/SpinRDFSMemoryRepositoryConnectionTest.java
+++ b/core/sail/sail-spin/src/test/java/org/eclipse/rdf4j/sail/spin/SpinRDFSMemoryRepositoryConnectionTest.java
@@ -9,7 +9,7 @@
import java.io.IOException;
-import org.eclipse.rdf4j.IsolationLevel;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
import org.eclipse.rdf4j.query.MalformedQueryException;
import org.eclipse.rdf4j.query.UnsupportedQueryLanguageException;
import org.eclipse.rdf4j.repository.Repository;
diff --git a/core/sail/shacl/src/main/java/org/eclipse/rdf4j/sail/shacl/ShaclSail.java b/core/sail/shacl/src/main/java/org/eclipse/rdf4j/sail/shacl/ShaclSail.java
index 0c2501bac67..b34bbfee848 100644
--- a/core/sail/shacl/src/main/java/org/eclipse/rdf4j/sail/shacl/ShaclSail.java
+++ b/core/sail/shacl/src/main/java/org/eclipse/rdf4j/sail/shacl/ShaclSail.java
@@ -30,12 +30,12 @@
import java.util.stream.Stream;
import org.apache.commons.io.IOUtils;
-import org.eclipse.rdf4j.IsolationLevel;
-import org.eclipse.rdf4j.IsolationLevels;
import org.eclipse.rdf4j.common.annotation.Experimental;
import org.eclipse.rdf4j.common.annotation.InternalUseOnly;
import org.eclipse.rdf4j.common.concurrent.locks.Lock;
import org.eclipse.rdf4j.common.concurrent.locks.ReadPrefReadWriteLockManager;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.common.transaction.TransactionSetting;
import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.model.Model;
diff --git a/core/sail/shacl/src/main/java/org/eclipse/rdf4j/sail/shacl/ShaclSailConnection.java b/core/sail/shacl/src/main/java/org/eclipse/rdf4j/sail/shacl/ShaclSailConnection.java
index d43434f267a..8f2393535f5 100644
--- a/core/sail/shacl/src/main/java/org/eclipse/rdf4j/sail/shacl/ShaclSailConnection.java
+++ b/core/sail/shacl/src/main/java/org/eclipse/rdf4j/sail/shacl/ShaclSailConnection.java
@@ -18,10 +18,10 @@
import java.util.stream.Collectors;
import java.util.stream.Stream;
-import org.eclipse.rdf4j.IsolationLevel;
-import org.eclipse.rdf4j.IsolationLevels;
import org.eclipse.rdf4j.common.concurrent.locks.Lock;
import org.eclipse.rdf4j.common.iteration.CloseableIteration;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.common.transaction.TransactionSetting;
import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.model.Resource;
diff --git a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/AbstractShaclTest.java b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/AbstractShaclTest.java
index dfb7a1a4393..e360561efee 100644
--- a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/AbstractShaclTest.java
+++ b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/AbstractShaclTest.java
@@ -40,8 +40,8 @@
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
import org.apache.jena.update.UpdateAction;
-import org.eclipse.rdf4j.IsolationLevel;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.Model;
import org.eclipse.rdf4j.model.Resource;
import org.eclipse.rdf4j.model.Statement;
diff --git a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/BulkValidationSettingsTest.java b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/BulkValidationSettingsTest.java
index 3d1b93cd567..40a108163dd 100644
--- a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/BulkValidationSettingsTest.java
+++ b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/BulkValidationSettingsTest.java
@@ -10,7 +10,7 @@
import java.io.InputStream;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.vocabulary.RDF;
import org.eclipse.rdf4j.model.vocabulary.RDF4J;
import org.eclipse.rdf4j.model.vocabulary.RDFS;
diff --git a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/DeadlockTest.java b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/DeadlockTest.java
index ba2536fd9c1..17ae0dd3dbc 100644
--- a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/DeadlockTest.java
+++ b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/DeadlockTest.java
@@ -11,8 +11,8 @@
import java.io.IOException;
import org.assertj.core.util.Files;
-import org.eclipse.rdf4j.IsolationLevels;
import org.eclipse.rdf4j.common.io.IOUtil;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.repository.sail.SailRepository;
import org.eclipse.rdf4j.repository.sail.SailRepositoryConnection;
import org.eclipse.rdf4j.sail.nativerdf.NativeStore;
diff --git a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/MultithreadedNativeStoreIT.java b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/MultithreadedNativeStoreIT.java
index daea5aa4c15..aebc657543c 100644
--- a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/MultithreadedNativeStoreIT.java
+++ b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/MultithreadedNativeStoreIT.java
@@ -12,7 +12,7 @@
import org.apache.commons.io.FileUtils;
import org.assertj.core.util.Files;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.sail.NotifyingSail;
import org.eclipse.rdf4j.sail.NotifyingSailConnection;
import org.eclipse.rdf4j.sail.nativerdf.NativeStore;
diff --git a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/MultithreadedNativeStoreRDFSIT.java b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/MultithreadedNativeStoreRDFSIT.java
index 1b6e2153386..2bb9aa9393a 100644
--- a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/MultithreadedNativeStoreRDFSIT.java
+++ b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/MultithreadedNativeStoreRDFSIT.java
@@ -12,7 +12,7 @@
import org.apache.commons.io.FileUtils;
import org.assertj.core.util.Files;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.sail.NotifyingSail;
import org.eclipse.rdf4j.sail.NotifyingSailConnection;
import org.eclipse.rdf4j.sail.inferencer.fc.SchemaCachingRDFSInferencer;
diff --git a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/MultithreadedTest.java b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/MultithreadedTest.java
index 2f926774480..f97e569ede8 100644
--- a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/MultithreadedTest.java
+++ b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/MultithreadedTest.java
@@ -21,8 +21,8 @@
import java.util.stream.Collectors;
import java.util.stream.IntStream;
-import org.eclipse.rdf4j.IsolationLevels;
import org.eclipse.rdf4j.common.concurrent.locks.Properties;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.model.Model;
import org.eclipse.rdf4j.model.Statement;
diff --git a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/SerializableTest.java b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/SerializableTest.java
index 2002ca0e27b..c8760f51423 100644
--- a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/SerializableTest.java
+++ b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/SerializableTest.java
@@ -15,7 +15,7 @@
import java.util.concurrent.CountDownLatch;
import org.apache.commons.io.IOUtils;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.model.ValueFactory;
import org.eclipse.rdf4j.model.impl.SimpleValueFactory;
diff --git a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/ShaclSailSupportedPredicatesDocumentationIT.java b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/ShaclSailSupportedPredicatesDocumentationIT.java
index ddfa46c8d11..5f33826f0cb 100644
--- a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/ShaclSailSupportedPredicatesDocumentationIT.java
+++ b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/ShaclSailSupportedPredicatesDocumentationIT.java
@@ -16,7 +16,7 @@
import java.util.Set;
import java.util.stream.Collectors;
-import org.eclipse.rdf4j.IsolationLevel;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.model.Model;
import org.eclipse.rdf4j.model.vocabulary.DASH;
diff --git a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/ShaclTest.java b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/ShaclTest.java
index 38d324383d6..07c92c4ed99 100644
--- a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/ShaclTest.java
+++ b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/ShaclTest.java
@@ -8,8 +8,8 @@
package org.eclipse.rdf4j.sail.shacl;
-import org.eclipse.rdf4j.IsolationLevel;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
diff --git a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/ShaclTestWithoutRdfsReasoner.java b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/ShaclTestWithoutRdfsReasoner.java
index 9b21f80dff2..431a7115f21 100644
--- a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/ShaclTestWithoutRdfsReasoner.java
+++ b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/ShaclTestWithoutRdfsReasoner.java
@@ -8,8 +8,8 @@
package org.eclipse.rdf4j.sail.shacl;
-import org.eclipse.rdf4j.IsolationLevel;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.repository.sail.SailRepository;
import org.eclipse.rdf4j.sail.memory.MemoryStore;
import org.junit.Test;
diff --git a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/TransactionSettingsTest.java b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/TransactionSettingsTest.java
index 2da8f18f059..08d00da9489 100644
--- a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/TransactionSettingsTest.java
+++ b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/TransactionSettingsTest.java
@@ -13,7 +13,7 @@
import static org.junit.Assert.assertSame;
import static org.junit.Assert.assertTrue;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.repository.sail.SailRepository;
import org.eclipse.rdf4j.repository.sail.SailRepositoryConnection;
import org.eclipse.rdf4j.sail.memory.MemoryStore;
diff --git a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/TransactionalIsolationSlowIT.java b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/TransactionalIsolationSlowIT.java
index a6d0fc87ce5..fc3ad9745a4 100644
--- a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/TransactionalIsolationSlowIT.java
+++ b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/TransactionalIsolationSlowIT.java
@@ -13,7 +13,7 @@
import java.io.StringReader;
import java.util.concurrent.CountDownLatch;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.Model;
import org.eclipse.rdf4j.model.vocabulary.RDF4J;
import org.eclipse.rdf4j.repository.sail.SailRepository;
diff --git a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/TransactionalIsolationTest.java b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/TransactionalIsolationTest.java
index a5debcc71e0..9b545182f60 100644
--- a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/TransactionalIsolationTest.java
+++ b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/TransactionalIsolationTest.java
@@ -16,8 +16,8 @@
import java.io.StringReader;
import java.util.List;
-import org.eclipse.rdf4j.IsolationLevels;
import org.eclipse.rdf4j.common.iteration.Iterations;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.Resource;
import org.eclipse.rdf4j.model.Statement;
import org.eclipse.rdf4j.model.vocabulary.RDF4J;
diff --git a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/Utils.java b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/Utils.java
index 5b77323e15f..1d6ae68b3d7 100644
--- a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/Utils.java
+++ b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/Utils.java
@@ -13,8 +13,8 @@
import java.net.URL;
import java.util.UUID;
-import org.eclipse.rdf4j.IsolationLevels;
import org.eclipse.rdf4j.RDF4JException;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.model.Model;
import org.eclipse.rdf4j.model.Statement;
diff --git a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/AddRemoveBenchmarkEmpty.java b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/AddRemoveBenchmarkEmpty.java
index 1a82e075747..2e87172d36a 100644
--- a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/AddRemoveBenchmarkEmpty.java
+++ b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/AddRemoveBenchmarkEmpty.java
@@ -12,7 +12,7 @@
import java.util.List;
import java.util.concurrent.TimeUnit;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.Resource;
import org.eclipse.rdf4j.model.Statement;
import org.eclipse.rdf4j.model.impl.SimpleValueFactory;
diff --git a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/ComplexBenchmark.java b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/ComplexBenchmark.java
index 64aa8ec6ad5..ce18c22f42f 100644
--- a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/ComplexBenchmark.java
+++ b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/ComplexBenchmark.java
@@ -14,7 +14,7 @@
import java.util.stream.Stream;
import org.apache.commons.io.IOUtils;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.Resource;
import org.eclipse.rdf4j.model.Statement;
import org.eclipse.rdf4j.model.vocabulary.RDFS;
diff --git a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/ComplexLargeBenchmark.java b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/ComplexLargeBenchmark.java
index 8a5e87bad29..fc500b9d291 100644
--- a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/ComplexLargeBenchmark.java
+++ b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/ComplexLargeBenchmark.java
@@ -17,7 +17,7 @@
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
import org.assertj.core.util.Files;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.impl.SimpleValueFactory;
import org.eclipse.rdf4j.model.vocabulary.RDFS;
import org.eclipse.rdf4j.repository.sail.SailRepository;
diff --git a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/ComplexTargetBenchmark.java b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/ComplexTargetBenchmark.java
index 35414d770de..122d7657d12 100644
--- a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/ComplexTargetBenchmark.java
+++ b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/ComplexTargetBenchmark.java
@@ -13,7 +13,7 @@
import java.util.List;
import java.util.concurrent.TimeUnit;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.model.Statement;
import org.eclipse.rdf4j.model.impl.SimpleValueFactory;
diff --git a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/DatatypeBenchmarkEmpty.java b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/DatatypeBenchmarkEmpty.java
index d12785a4a16..9d958207371 100644
--- a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/DatatypeBenchmarkEmpty.java
+++ b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/DatatypeBenchmarkEmpty.java
@@ -12,7 +12,7 @@
import java.util.concurrent.TimeUnit;
import java.util.stream.Stream;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.model.Statement;
import org.eclipse.rdf4j.model.impl.SimpleValueFactory;
diff --git a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/DatatypeBenchmarkLinear.java b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/DatatypeBenchmarkLinear.java
index 91eb2c084a3..2e46560217c 100644
--- a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/DatatypeBenchmarkLinear.java
+++ b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/DatatypeBenchmarkLinear.java
@@ -12,7 +12,7 @@
import java.util.List;
import java.util.concurrent.TimeUnit;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.model.Statement;
import org.eclipse.rdf4j.model.impl.SimpleValueFactory;
diff --git a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/DatatypeBenchmarkSerializableEmpty.java b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/DatatypeBenchmarkSerializableEmpty.java
index 6b69d434478..657fcb6eaa3 100644
--- a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/DatatypeBenchmarkSerializableEmpty.java
+++ b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/DatatypeBenchmarkSerializableEmpty.java
@@ -12,7 +12,7 @@
import java.util.concurrent.TimeUnit;
import java.util.stream.Stream;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.model.Statement;
import org.eclipse.rdf4j.model.impl.SimpleValueFactory;
diff --git a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/HasValueBenchmarkEmpty.java b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/HasValueBenchmarkEmpty.java
index fa8c739759c..8640ba79409 100644
--- a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/HasValueBenchmarkEmpty.java
+++ b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/HasValueBenchmarkEmpty.java
@@ -11,7 +11,7 @@
import java.util.List;
import java.util.concurrent.TimeUnit;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.model.Statement;
import org.eclipse.rdf4j.model.ValueFactory;
diff --git a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/LanguageInBenchmarkEmpty.java b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/LanguageInBenchmarkEmpty.java
index 089a785664a..1920cf6e2c3 100644
--- a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/LanguageInBenchmarkEmpty.java
+++ b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/LanguageInBenchmarkEmpty.java
@@ -12,7 +12,7 @@
import java.util.Random;
import java.util.concurrent.TimeUnit;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.model.Statement;
import org.eclipse.rdf4j.model.impl.SimpleValueFactory;
diff --git a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/NativeStoreBenchmark.java b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/NativeStoreBenchmark.java
index 2dca43d476b..dff40ea6eb2 100644
--- a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/NativeStoreBenchmark.java
+++ b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/NativeStoreBenchmark.java
@@ -16,7 +16,7 @@
import org.apache.commons.io.FileUtils;
import org.assertj.core.util.Files;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.vocabulary.RDF4J;
import org.eclipse.rdf4j.repository.sail.SailRepository;
import org.eclipse.rdf4j.repository.sail.SailRepositoryConnection;
diff --git a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/NotUniqueLangBenchmarkEmpty.java b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/NotUniqueLangBenchmarkEmpty.java
index dee4a49a9ab..776117d2442 100644
--- a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/NotUniqueLangBenchmarkEmpty.java
+++ b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/NotUniqueLangBenchmarkEmpty.java
@@ -11,7 +11,7 @@
import java.util.List;
import java.util.concurrent.TimeUnit;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.model.Statement;
import org.eclipse.rdf4j.model.impl.SimpleValueFactory;
diff --git a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/OrDatatypeBenchmark.java b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/OrDatatypeBenchmark.java
index 3e85cb8bdca..d9e38d9861e 100644
--- a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/OrDatatypeBenchmark.java
+++ b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/OrDatatypeBenchmark.java
@@ -12,7 +12,7 @@
import java.util.Random;
import java.util.concurrent.TimeUnit;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.model.Statement;
import org.eclipse.rdf4j.model.impl.SimpleValueFactory;
diff --git a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/ParallelBenchmark.java b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/ParallelBenchmark.java
index 2ebb4fdbb4d..243470617bc 100644
--- a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/ParallelBenchmark.java
+++ b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/ParallelBenchmark.java
@@ -17,7 +17,7 @@
import org.apache.commons.io.FileUtils;
import org.assertj.core.util.Files;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.model.Statement;
import org.eclipse.rdf4j.model.impl.SimpleValueFactory;
diff --git a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/ShaclLoadingBenchmark.java b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/ShaclLoadingBenchmark.java
index bfd537d9ba6..5af95ea8b71 100644
--- a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/ShaclLoadingBenchmark.java
+++ b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/ShaclLoadingBenchmark.java
@@ -11,7 +11,7 @@
import java.io.StringReader;
import java.util.concurrent.TimeUnit;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.vocabulary.RDF4J;
import org.eclipse.rdf4j.repository.sail.SailRepository;
import org.eclipse.rdf4j.repository.sail.SailRepositoryConnection;
diff --git a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/TargetBenchmarkInitialData.java b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/TargetBenchmarkInitialData.java
index f1e736e0f61..b60e35eabe7 100644
--- a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/TargetBenchmarkInitialData.java
+++ b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/TargetBenchmarkInitialData.java
@@ -13,7 +13,7 @@
import java.util.List;
import java.util.concurrent.TimeUnit;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.model.Statement;
import org.eclipse.rdf4j.model.impl.SimpleValueFactory;
diff --git a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/TargetShapeBenchmark.java b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/TargetShapeBenchmark.java
index ee383b9844c..53433b5edf2 100644
--- a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/TargetShapeBenchmark.java
+++ b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/TargetShapeBenchmark.java
@@ -10,7 +10,7 @@
import java.util.concurrent.TimeUnit;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.repository.sail.SailRepository;
import org.eclipse.rdf4j.repository.sail.SailRepositoryConnection;
import org.eclipse.rdf4j.rio.RDFFormat;
diff --git a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/UniqueLangBenchmarkEmpty.java b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/UniqueLangBenchmarkEmpty.java
index ce893b6be94..86a1b0fe200 100644
--- a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/UniqueLangBenchmarkEmpty.java
+++ b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/UniqueLangBenchmarkEmpty.java
@@ -11,7 +11,7 @@
import java.util.List;
import java.util.concurrent.TimeUnit;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.model.Statement;
import org.eclipse.rdf4j.model.impl.SimpleValueFactory;
diff --git a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/ValueInBenchmarkEmpty.java b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/ValueInBenchmarkEmpty.java
index f6af103fbdc..176564b387e 100644
--- a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/ValueInBenchmarkEmpty.java
+++ b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/benchmark/ValueInBenchmarkEmpty.java
@@ -11,7 +11,7 @@
import java.util.List;
import java.util.concurrent.TimeUnit;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.model.Statement;
import org.eclipse.rdf4j.model.ValueFactory;
diff --git a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/rdf4jcompliance/ShaclIsolationLevelTest.java b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/rdf4jcompliance/ShaclIsolationLevelTest.java
index 4047a0f4f72..a16a9f286f8 100644
--- a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/rdf4jcompliance/ShaclIsolationLevelTest.java
+++ b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/rdf4jcompliance/ShaclIsolationLevelTest.java
@@ -8,7 +8,7 @@
package org.eclipse.rdf4j.sail.shacl.rdf4jcompliance;
-import org.eclipse.rdf4j.IsolationLevel;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
import org.eclipse.rdf4j.sail.Sail;
import org.eclipse.rdf4j.sail.SailException;
import org.eclipse.rdf4j.sail.SailIsolationLevelTest;
diff --git a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/rdf4jcompliance/ShaclRepositoryConnectionTest.java b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/rdf4jcompliance/ShaclRepositoryConnectionTest.java
index 99118863775..1a9be04e54e 100644
--- a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/rdf4jcompliance/ShaclRepositoryConnectionTest.java
+++ b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/rdf4jcompliance/ShaclRepositoryConnectionTest.java
@@ -8,7 +8,7 @@
package org.eclipse.rdf4j.sail.shacl.rdf4jcompliance;
-import org.eclipse.rdf4j.IsolationLevel;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
import org.eclipse.rdf4j.repository.Repository;
import org.eclipse.rdf4j.repository.RepositoryConnectionTest;
import org.eclipse.rdf4j.repository.sail.SailRepository;
diff --git a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/testimp/TestNotifyingSailConnection.java b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/testimp/TestNotifyingSailConnection.java
index 902b25dce5f..f1f09135668 100644
--- a/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/testimp/TestNotifyingSailConnection.java
+++ b/core/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/testimp/TestNotifyingSailConnection.java
@@ -11,7 +11,7 @@
import java.util.HashSet;
import java.util.Set;
-import org.eclipse.rdf4j.IsolationLevel;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
import org.eclipse.rdf4j.model.Statement;
import org.eclipse.rdf4j.sail.NotifyingSailConnection;
import org.eclipse.rdf4j.sail.SailConnectionListener;
diff --git a/testsuites/repository/src/main/java/org/eclipse/rdf4j/repository/RDFSchemaRepositoryConnectionTest.java b/testsuites/repository/src/main/java/org/eclipse/rdf4j/repository/RDFSchemaRepositoryConnectionTest.java
index afa6ba07b9d..09b9db15ada 100644
--- a/testsuites/repository/src/main/java/org/eclipse/rdf4j/repository/RDFSchemaRepositoryConnectionTest.java
+++ b/testsuites/repository/src/main/java/org/eclipse/rdf4j/repository/RDFSchemaRepositoryConnectionTest.java
@@ -10,8 +10,8 @@
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
-import org.eclipse.rdf4j.IsolationLevel;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.model.Resource;
import org.eclipse.rdf4j.model.Statement;
diff --git a/testsuites/repository/src/main/java/org/eclipse/rdf4j/repository/RepositoryConnectionTest.java b/testsuites/repository/src/main/java/org/eclipse/rdf4j/repository/RepositoryConnectionTest.java
index ec47d7c3f10..e7f5146e98e 100644
--- a/testsuites/repository/src/main/java/org/eclipse/rdf4j/repository/RepositoryConnectionTest.java
+++ b/testsuites/repository/src/main/java/org/eclipse/rdf4j/repository/RepositoryConnectionTest.java
@@ -40,11 +40,11 @@
import javax.xml.datatype.DatatypeFactory;
import javax.xml.datatype.XMLGregorianCalendar;
-import org.eclipse.rdf4j.IsolationLevel;
-import org.eclipse.rdf4j.IsolationLevels;
import org.eclipse.rdf4j.RDF4JException;
import org.eclipse.rdf4j.common.iteration.CloseableIteration;
import org.eclipse.rdf4j.common.iteration.Iterations;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.BNode;
import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.model.Literal;
diff --git a/testsuites/repository/src/main/java/org/eclipse/rdf4j/repository/optimistic/DeadLockTest.java b/testsuites/repository/src/main/java/org/eclipse/rdf4j/repository/optimistic/DeadLockTest.java
index aa5fc89cba7..c9d802163d8 100644
--- a/testsuites/repository/src/main/java/org/eclipse/rdf4j/repository/optimistic/DeadLockTest.java
+++ b/testsuites/repository/src/main/java/org/eclipse/rdf4j/repository/optimistic/DeadLockTest.java
@@ -11,8 +11,8 @@
import java.util.concurrent.CountDownLatch;
-import org.eclipse.rdf4j.IsolationLevel;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.model.ValueFactory;
import org.eclipse.rdf4j.model.vocabulary.RDF;
diff --git a/testsuites/repository/src/main/java/org/eclipse/rdf4j/repository/optimistic/DeleteInsertTest.java b/testsuites/repository/src/main/java/org/eclipse/rdf4j/repository/optimistic/DeleteInsertTest.java
index 2f4cd4f94d5..d5f9e8d9a24 100644
--- a/testsuites/repository/src/main/java/org/eclipse/rdf4j/repository/optimistic/DeleteInsertTest.java
+++ b/testsuites/repository/src/main/java/org/eclipse/rdf4j/repository/optimistic/DeleteInsertTest.java
@@ -9,9 +9,9 @@
import static org.junit.Assert.assertTrue;
-import org.eclipse.rdf4j.IsolationLevel;
-import org.eclipse.rdf4j.IsolationLevels;
import org.eclipse.rdf4j.common.io.IOUtil;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.query.QueryLanguage;
import org.eclipse.rdf4j.repository.OptimisticIsolationTest;
import org.eclipse.rdf4j.repository.Repository;
diff --git a/testsuites/repository/src/main/java/org/eclipse/rdf4j/repository/optimistic/IsolationLevelTest.java b/testsuites/repository/src/main/java/org/eclipse/rdf4j/repository/optimistic/IsolationLevelTest.java
index 2a983c194b5..4cb2c98e0a7 100644
--- a/testsuites/repository/src/main/java/org/eclipse/rdf4j/repository/optimistic/IsolationLevelTest.java
+++ b/testsuites/repository/src/main/java/org/eclipse/rdf4j/repository/optimistic/IsolationLevelTest.java
@@ -12,9 +12,9 @@
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
-import org.eclipse.rdf4j.IsolationLevel;
-import org.eclipse.rdf4j.IsolationLevels;
import org.eclipse.rdf4j.common.iteration.CloseableIteration;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.model.Literal;
import org.eclipse.rdf4j.model.Resource;
diff --git a/testsuites/repository/src/main/java/org/eclipse/rdf4j/repository/optimistic/LinearTest.java b/testsuites/repository/src/main/java/org/eclipse/rdf4j/repository/optimistic/LinearTest.java
index d89f0a1f479..fa81c17b155 100644
--- a/testsuites/repository/src/main/java/org/eclipse/rdf4j/repository/optimistic/LinearTest.java
+++ b/testsuites/repository/src/main/java/org/eclipse/rdf4j/repository/optimistic/LinearTest.java
@@ -12,8 +12,8 @@
import java.util.ArrayList;
import java.util.List;
-import org.eclipse.rdf4j.IsolationLevel;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.model.Resource;
import org.eclipse.rdf4j.model.Statement;
diff --git a/testsuites/repository/src/main/java/org/eclipse/rdf4j/repository/optimistic/ModificationTest.java b/testsuites/repository/src/main/java/org/eclipse/rdf4j/repository/optimistic/ModificationTest.java
index 6ea619e15ee..ce0621fa4c4 100644
--- a/testsuites/repository/src/main/java/org/eclipse/rdf4j/repository/optimistic/ModificationTest.java
+++ b/testsuites/repository/src/main/java/org/eclipse/rdf4j/repository/optimistic/ModificationTest.java
@@ -10,8 +10,8 @@
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
-import org.eclipse.rdf4j.IsolationLevel;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.model.ValueFactory;
import org.eclipse.rdf4j.model.vocabulary.RDF;
diff --git a/testsuites/repository/src/main/java/org/eclipse/rdf4j/repository/optimistic/MonotonicTest.java b/testsuites/repository/src/main/java/org/eclipse/rdf4j/repository/optimistic/MonotonicTest.java
index a9006ef4fcf..8391d57c435 100644
--- a/testsuites/repository/src/main/java/org/eclipse/rdf4j/repository/optimistic/MonotonicTest.java
+++ b/testsuites/repository/src/main/java/org/eclipse/rdf4j/repository/optimistic/MonotonicTest.java
@@ -12,8 +12,8 @@
import java.util.ArrayList;
import java.util.List;
-import org.eclipse.rdf4j.IsolationLevel;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.model.Resource;
import org.eclipse.rdf4j.model.Value;
diff --git a/testsuites/repository/src/main/java/org/eclipse/rdf4j/repository/optimistic/RemoveIsolationTest.java b/testsuites/repository/src/main/java/org/eclipse/rdf4j/repository/optimistic/RemoveIsolationTest.java
index 1cbd43e30f7..5b291e4ff7a 100644
--- a/testsuites/repository/src/main/java/org/eclipse/rdf4j/repository/optimistic/RemoveIsolationTest.java
+++ b/testsuites/repository/src/main/java/org/eclipse/rdf4j/repository/optimistic/RemoveIsolationTest.java
@@ -11,8 +11,8 @@
import java.util.Collections;
-import org.eclipse.rdf4j.IsolationLevel;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.Statement;
import org.eclipse.rdf4j.model.ValueFactory;
import org.eclipse.rdf4j.query.QueryResults;
diff --git a/testsuites/repository/src/main/java/org/eclipse/rdf4j/repository/optimistic/SerializableTest.java b/testsuites/repository/src/main/java/org/eclipse/rdf4j/repository/optimistic/SerializableTest.java
index 235026df70a..969dd3c7aba 100644
--- a/testsuites/repository/src/main/java/org/eclipse/rdf4j/repository/optimistic/SerializableTest.java
+++ b/testsuites/repository/src/main/java/org/eclipse/rdf4j/repository/optimistic/SerializableTest.java
@@ -14,8 +14,8 @@
import java.util.ArrayList;
import java.util.List;
-import org.eclipse.rdf4j.IsolationLevel;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.model.Resource;
import org.eclipse.rdf4j.model.Value;
diff --git a/testsuites/repository/src/main/java/org/eclipse/rdf4j/repository/optimistic/SnapshotTest.java b/testsuites/repository/src/main/java/org/eclipse/rdf4j/repository/optimistic/SnapshotTest.java
index 8a64d815d24..46efd0a2c8c 100644
--- a/testsuites/repository/src/main/java/org/eclipse/rdf4j/repository/optimistic/SnapshotTest.java
+++ b/testsuites/repository/src/main/java/org/eclipse/rdf4j/repository/optimistic/SnapshotTest.java
@@ -13,8 +13,8 @@
import java.util.ArrayList;
import java.util.List;
-import org.eclipse.rdf4j.IsolationLevel;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.model.Resource;
import org.eclipse.rdf4j.model.Value;
diff --git a/testsuites/sail/src/main/java/org/eclipse/rdf4j/sail/SailIsolationLevelTest.java b/testsuites/sail/src/main/java/org/eclipse/rdf4j/sail/SailIsolationLevelTest.java
index 88c41776c90..03680775e13 100644
--- a/testsuites/sail/src/main/java/org/eclipse/rdf4j/sail/SailIsolationLevelTest.java
+++ b/testsuites/sail/src/main/java/org/eclipse/rdf4j/sail/SailIsolationLevelTest.java
@@ -15,10 +15,10 @@
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
-import org.eclipse.rdf4j.IsolationLevel;
-import org.eclipse.rdf4j.IsolationLevels;
import org.eclipse.rdf4j.common.iteration.CloseableIteration;
import org.eclipse.rdf4j.common.iteration.Iterations;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.model.Literal;
import org.eclipse.rdf4j.model.Resource;
diff --git a/tools/console/src/main/java/org/eclipse/rdf4j/console/command/Verify.java b/tools/console/src/main/java/org/eclipse/rdf4j/console/command/Verify.java
index fe7fbd4b0c7..375c2fded71 100644
--- a/tools/console/src/main/java/org/eclipse/rdf4j/console/command/Verify.java
+++ b/tools/console/src/main/java/org/eclipse/rdf4j/console/command/Verify.java
@@ -17,7 +17,7 @@
import java.nio.file.Paths;
import java.util.Map;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.console.ConsoleIO;
import org.eclipse.rdf4j.console.Util;
import org.eclipse.rdf4j.console.VerificationListener;
diff --git a/tools/federation/src/main/java/org/eclipse/rdf4j/federated/FedX.java b/tools/federation/src/main/java/org/eclipse/rdf4j/federated/FedX.java
index 62ebd1bd5ae..d0b1d5aa51e 100644
--- a/tools/federation/src/main/java/org/eclipse/rdf4j/federated/FedX.java
+++ b/tools/federation/src/main/java/org/eclipse/rdf4j/federated/FedX.java
@@ -12,7 +12,7 @@
import java.util.Collections;
import java.util.List;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.federated.endpoint.Endpoint;
import org.eclipse.rdf4j.federated.endpoint.ResolvableEndpoint;
import org.eclipse.rdf4j.federated.exception.ExceptionUtil;
diff --git a/tools/server-spring/src/main/java/org/eclipse/rdf4j/http/server/repository/transaction/Transaction.java b/tools/server-spring/src/main/java/org/eclipse/rdf4j/http/server/repository/transaction/Transaction.java
index cdad97bab22..643518b9061 100644
--- a/tools/server-spring/src/main/java/org/eclipse/rdf4j/http/server/repository/transaction/Transaction.java
+++ b/tools/server-spring/src/main/java/org/eclipse/rdf4j/http/server/repository/transaction/Transaction.java
@@ -19,7 +19,7 @@
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger;
-import org.eclipse.rdf4j.IsolationLevel;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
import org.eclipse.rdf4j.common.transaction.TransactionSetting;
import org.eclipse.rdf4j.model.IRI;
import org.eclipse.rdf4j.model.Resource;
diff --git a/tools/server-spring/src/main/java/org/eclipse/rdf4j/http/server/repository/transaction/TransactionStartController.java b/tools/server-spring/src/main/java/org/eclipse/rdf4j/http/server/repository/transaction/TransactionStartController.java
index fc5de38923b..36fe12ebd0d 100644
--- a/tools/server-spring/src/main/java/org/eclipse/rdf4j/http/server/repository/transaction/TransactionStartController.java
+++ b/tools/server-spring/src/main/java/org/eclipse/rdf4j/http/server/repository/transaction/TransactionStartController.java
@@ -19,8 +19,8 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import org.eclipse.rdf4j.IsolationLevel;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevel;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.common.transaction.TransactionSetting;
import org.eclipse.rdf4j.common.transaction.TransactionSettingRegistry;
import org.eclipse.rdf4j.common.webapp.views.SimpleResponseView;
@@ -30,7 +30,7 @@
import org.eclipse.rdf4j.http.server.ServerHTTPException;
import org.eclipse.rdf4j.http.server.repository.RepositoryInterceptor;
import org.eclipse.rdf4j.model.IRI;
-import org.eclipse.rdf4j.model.impl.SimpleValueFactory;
+import org.eclipse.rdf4j.model.util.Values;
import org.eclipse.rdf4j.repository.Repository;
import org.eclipse.rdf4j.repository.RepositoryException;
import org.slf4j.Logger;
@@ -83,14 +83,12 @@ private ModelAndView startTransaction(Repository repository, HttpServletRequest
// process legacy isolation level param for backward compatibility with older clients
final String isolationLevelString = request.getParameter(Protocol.ISOLATION_LEVEL_PARAM_NAME);
- if (isolationLevelString != null) {
- final IRI level = SimpleValueFactory.getInstance().createIRI(isolationLevelString);
+ final IRI level = Values.iri(isolationLevelString);
- for (IsolationLevel standardLevel : IsolationLevels.values()) {
- if (standardLevel.getURI().equals(level)) {
- isolationLevel[0] = standardLevel;
- break;
- }
+ for (IsolationLevel standardLevel : IsolationLevels.values()) {
+ if (standardLevel.getName().equals(level.getLocalName())) {
+ isolationLevel[0] = standardLevel;
+ break;
}
}
diff --git a/tools/server/src/test/java/org/eclipse/rdf4j/http/server/TransactionSettingsIT.java b/tools/server/src/test/java/org/eclipse/rdf4j/http/server/TransactionSettingsIT.java
index 9416a0cef1d..f6c67329320 100644
--- a/tools/server/src/test/java/org/eclipse/rdf4j/http/server/TransactionSettingsIT.java
+++ b/tools/server/src/test/java/org/eclipse/rdf4j/http/server/TransactionSettingsIT.java
@@ -11,7 +11,7 @@
import java.io.StringReader;
-import org.eclipse.rdf4j.IsolationLevels;
+import org.eclipse.rdf4j.common.transaction.IsolationLevels;
import org.eclipse.rdf4j.http.client.shacl.RemoteShaclValidationException;
import org.eclipse.rdf4j.http.protocol.Protocol;
import org.eclipse.rdf4j.model.Resource;