public interface RepositoryConnection extends AutoCloseable
Repository
.
By default, a RepositoryConnection is in auto-commit mode, meaning that each operation corresponds to a single
transaction on the underlying store. Multiple operations can be bundled in a single transaction by using
begin()
and commit
/ rollback
, which may improve performance
considerably when dealing with many thousands of statements. Care should be taking to always properly close a
RepositoryConnection after one is finished with it, to free up resources and avoid unnecessary locks.
RepositoryConnection is not guaranteed to be thread-safe. The recommended access pattern in a multithreaded
application is to ensure that each thread creates/uses its own RepositoryConnections (which can be obtained from a
shared Repository
).
Several methods take a vararg argument that optionally specifies one or more contexts (named graphs) on which the method should operate. A vararg parameter is optional, it can be completely left out of the method call, in which case a method either operates on a provided statements context (if one of the method parameters is a statement or collection of statements), or operates on the repository as a whole, completely ignoring context. A vararg argument may also be 'null' (cast to Resource) meaning that the method operates on those statements which have no associated context only.
Examples:
// Ex 1: this method retrieves all statements that appear in either context1 or
// context2, or both.
RepositoryConnection.getStatements(null, null, null, true, context1, context2);
// Ex 2: this method retrieves all statements that appear in the repository
// (regardless of context).
RepositoryConnection.getStatements(null, null, null, true);
// Ex 3: this method retrieves all statements that have no associated context in
// the repository.
// Observe that this is not equivalent to the previous method call.
RepositoryConnection.getStatements(null, null, null, true, (Resource)null);
// Ex 4: this method adds a statement to the store. If the statement object
// itself has a context (i.e. statement.getContext() != null) the statement is added
// to that context. Otherwise, it is added without any associated context.
RepositoryConnection.add(statement);
// Ex 5: this method adds a statement to context1 in the store. It completely
// ignores any context the statement itself has.
RepositoryConnection.add(statement, context1);
Repositories
Modifier and Type | Method and Description |
---|---|
default void |
add(File file,
RDFFormat dataFormat,
Resource... contexts)
Adds RDF data from the specified file to a specific contexts in the repository.
|
default void |
add(File file,
Resource... contexts)
Adds RDF data from the specified file to a specific contexts in the repository.
|
void |
add(File file,
String baseURI,
RDFFormat dataFormat,
Resource... contexts)
Adds RDF data from the specified file to a specific contexts in the repository.
|
default void |
add(InputStream in,
RDFFormat dataFormat,
Resource... contexts)
Adds RDF data from an InputStream to the repository, optionally to one or more named contexts.
|
void |
add(InputStream in,
String baseURI,
RDFFormat dataFormat,
Resource... contexts)
Adds RDF data from an InputStream to the repository, optionally to one or more named contexts.
|
void |
add(Iterable<? extends Statement> statements,
Resource... contexts)
Adds the supplied statements to this repository, optionally to one or more named contexts.
|
<E extends Exception> |
add(Iteration<? extends Statement,E> statements,
Resource... contexts)
Adds the supplied statements to this repository, optionally to one or more named contexts.
|
default void |
add(Reader reader,
RDFFormat dataFormat,
Resource... contexts)
Adds RDF data from a Reader to the repository, optionally to one or more named contexts.
|
void |
add(Reader reader,
String baseURI,
RDFFormat dataFormat,
Resource... contexts)
Adds RDF data from a Reader to the repository, optionally to one or more named contexts.
|
default void |
add(RepositoryResult<Statement> statements,
Resource... contexts)
Adds the supplied statements to this repository, optionally to one or more named contexts.
|
void |
add(Resource subject,
IRI predicate,
Value object,
Resource... contexts)
Adds a statement with the specified subject, predicate and object to this repository, optionally to one or more
named contexts.
|
default void |
add(Resource subject,
URI predicate,
Value object,
Resource... contexts)
Deprecated.
since 2.0. Use
add(Resource, IRI, Value, Resource...) instead. |
void |
add(Statement st,
Resource... contexts)
Adds the supplied statement to this repository, optionally to one or more named contexts.
|
default void |
add(URL url,
RDFFormat dataFormat,
Resource... contexts)
Adds the RDF data that can be found at the specified URL to the repository, optionally to one or more named
contexts.
|
default void |
add(URL url,
Resource... contexts)
Adds the RDF data that can be found at the specified URL to the repository, optionally to one or more named
contexts.
|
void |
add(URL url,
String baseURI,
RDFFormat dataFormat,
Resource... contexts)
Adds the RDF data that can be found at the specified URL to the repository, optionally to one or more named
contexts.
|
void |
begin()
Begins a new transaction, requiring
commit() or rollback() to be called to end the transaction. |
void |
begin(IsolationLevel level)
Begins a new transaction with the supplied
IsolationLevel , requiring commit() or
rollback() to be called to end the transaction. |
default void |
begin(TransactionSetting... settings)
Begins a new transaction with the supplied
TransactionSetting , requiring commit() or
rollback() to be called to end the transaction. |
void |
clear(Resource... contexts)
Removes all statements from a specific contexts in the repository.
|
void |
clearNamespaces()
Removes all namespace declarations from the repository.
|
default void |
close()
Closes the connection, freeing resources.
|
void |
commit()
Commits the active transaction.
|
void |
export(RDFHandler handler,
Resource... contexts)
Exports all explicit statements in the specified contexts to the supplied RDFHandler.
|
void |
exportStatements(Resource subj,
IRI pred,
Value obj,
boolean includeInferred,
RDFHandler handler,
Resource... contexts)
Exports all statements with a specific subject, predicate and/or object from the repository, optionally from the
specified contexts.
|
RepositoryResult<Resource> |
getContextIDs()
Gets all resources that are used as content identifiers.
|
IsolationLevel |
getIsolationLevel()
Retrieves the current
transaction isolation level of the connection. |
String |
getNamespace(String prefix)
Gets the namespace that is associated with the specified prefix, if any.
|
RepositoryResult<Namespace> |
getNamespaces()
Gets all declared namespaces as a RepositoryResult of
Namespace objects. |
ParserConfig |
getParserConfig()
Returns the parser configuration this connection uses for Rio-based operations.
|
Repository |
getRepository()
Returns the Repository object to which this connection belongs.
|
RepositoryResult<Statement> |
getStatements(Resource subj,
IRI pred,
Value obj,
boolean includeInferred,
Resource... contexts)
Gets all statements with a specific subject, predicate and/or object from the repository.
|
default RepositoryResult<Statement> |
getStatements(Resource subj,
IRI pred,
Value obj,
Resource... contexts)
Gets all statements with a specific subject, predicate and/or object from the repository.
|
default RepositoryResult<Statement> |
getStatements(Resource subj,
URI pred,
Value obj,
boolean includeInferred,
Resource... contexts)
Deprecated.
since 2.0. Use
getStatements(Resource, IRI, Value, boolean, Resource...) instead. |
ValueFactory |
getValueFactory()
Gets a ValueFactory for this RepositoryConnection.
|
boolean |
hasStatement(Resource subj,
IRI pred,
Value obj,
boolean includeInferred,
Resource... contexts)
Checks whether the repository contains statements with a specific subject, predicate and/or object, optionally in
the specified contexts.
|
default boolean |
hasStatement(Resource subj,
URI pred,
Value obj,
boolean includeInferred,
Resource... contexts)
Deprecated.
since 2.0. Use
hasStatement(Resource, IRI, Value, boolean, Resource...) instead. |
boolean |
hasStatement(Statement st,
boolean includeInferred,
Resource... contexts)
Checks whether the repository contains the specified statement, optionally in the specified contexts.
|
boolean |
isActive()
Indicates if a transaction is currently active on the connection.
|
boolean |
isAutoCommit()
Deprecated.
since 2.0. Use
isActive() instead. |
boolean |
isEmpty()
Returns true if this repository does not contain any (explicit) statements.
|
boolean |
isOpen()
Checks whether this connection is open.
|
default void |
prepare()
Checks for an error state in the active transaction that would force the transaction to be rolled back.
|
BooleanQuery |
prepareBooleanQuery(QueryLanguage ql,
String query)
Prepares queries that return true or false.
|
BooleanQuery |
prepareBooleanQuery(QueryLanguage ql,
String query,
String baseURI)
Prepares queries that return true or false.
|
default BooleanQuery |
prepareBooleanQuery(String query)
Prepares SPARQL queries that return true or false, that is, SPARQL ASK queries.
|
GraphQuery |
prepareGraphQuery(QueryLanguage ql,
String query)
Prepares queries that produce RDF graphs.
|
GraphQuery |
prepareGraphQuery(QueryLanguage ql,
String query,
String baseURI)
Prepares queries that produce RDF graphs.
|
default GraphQuery |
prepareGraphQuery(String query)
Prepares SPARQL queries that produce RDF graphs, that is, SPARQL CONSTRUCT or DESCRIBE queries.
|
Query |
prepareQuery(QueryLanguage ql,
String query)
Prepares a query for evaluation on this repository (optional operation).
|
Query |
prepareQuery(QueryLanguage ql,
String query,
String baseURI)
Prepares a query for evaluation on this repository (optional operation).
|
default Query |
prepareQuery(String query)
Prepares a SPARQL query for evaluation on this repository (optional operation).
|
TupleQuery |
prepareTupleQuery(QueryLanguage ql,
String query)
Prepares a query that produces sets of value tuples.
|
TupleQuery |
prepareTupleQuery(QueryLanguage ql,
String query,
String baseURI)
Prepares a query that produces sets of value tuples.
|
default TupleQuery |
prepareTupleQuery(String query)
Prepares a SPARQL query that produces sets of value tuples, that is a SPARQL SELECT query.
|
Update |
prepareUpdate(QueryLanguage ql,
String update)
Prepares an Update operation.
|
Update |
prepareUpdate(QueryLanguage ql,
String update,
String baseURI)
Prepares an Update operation.
|
default Update |
prepareUpdate(String update)
Prepares a SPARQL Update operation.
|
void |
remove(Iterable<? extends Statement> statements,
Resource... contexts)
Removes the supplied statements from the specified contexts in this repository.
|
<E extends Exception> |
remove(Iteration<? extends Statement,E> statements,
Resource... contexts)
Removes the supplied statements from a specific context in this repository, ignoring any context information
carried by the statements themselves.
|
default void |
remove(RepositoryResult<Statement> statements,
Resource... contexts)
Removes the supplied statements from a specific context in this repository, ignoring any context information
carried by the statements themselves.
|
void |
remove(Resource subject,
IRI predicate,
Value object,
Resource... contexts)
Removes the statement(s) with the specified subject, predicate and object from the repository, optionally
restricted to the specified contexts.
|
default void |
remove(Resource subject,
URI predicate,
Value object,
Resource... contexts)
Deprecated.
since 2.0. Use
remove(Resource, IRI, Value, Resource...) instead. |
void |
remove(Statement st,
Resource... contexts)
Removes the supplied statement from the specified contexts in the repository.
|
void |
removeNamespace(String prefix)
Removes a namespace declaration by removing the association between a prefix and a namespace name.
|
void |
rollback()
Rolls back all updates in the active transaction.
|
void |
setAutoCommit(boolean autoCommit)
Deprecated.
As of release 2.7.0, use
begin() instead. |
void |
setIsolationLevel(IsolationLevel level)
Sets the transaction isolation level for the next transaction(s) on this connection.
|
void |
setNamespace(String prefix,
String name)
Sets the prefix for a namespace.
|
void |
setParserConfig(ParserConfig config)
Set the parser configuration this connection should use for RDFParser-based operations.
|
long |
size(Resource... contexts)
Returns the number of (explicit) statements that are in the specified contexts in this repository.
|
Repository getRepository()
void setParserConfig(ParserConfig config)
config
- a Rio RDF Parser configuration.ParserConfig getParserConfig()
ValueFactory getValueFactory()
boolean isOpen() throws RepositoryException
RepositoryException
close()
default void close() throws RepositoryException
transaction
is active
on the
connection, all non-committed operations will be lost by actively calling rollback()
on any active
transactions.
Implementation note: All implementations must override this method if they have any resources that they need to free.
close
in interface AutoCloseable
RepositoryException
- If the connection could not be closed.default Query prepareQuery(String query) throws RepositoryException, MalformedQueryException
prepareQuery(QueryLanguage, String, String)
instead.
If you already know the type of query, using the more specific prepareTupleQuery(java.lang.String)
,
prepareGraphQuery(java.lang.String)
or prepareBooleanQuery(java.lang.String)
is likely to be more efficient.
query
- The query string, in SPARQL syntax.MalformedQueryException
- If the supplied query is malformed.UnsupportedOperationException
- If the prepareQuery method is not supported by this repository.RepositoryException
prepareQuery(QueryLanguage, String)
Query prepareQuery(QueryLanguage ql, String query) throws RepositoryException, MalformedQueryException
prepareQuery(QueryLanguage, String, String)
instead.
If you already know the type of query, using the more specific prepareTupleQuery(java.lang.String)
,
prepareGraphQuery(java.lang.String)
or prepareBooleanQuery(java.lang.String)
is likely to be more efficient.
ql
- The query language
in which the query is formulated.query
- The query string.MalformedQueryException
- If the supplied query is malformed.UnsupportedQueryLanguageException
- If the supplied query language is not supported.UnsupportedOperationException
- If the prepareQuery method is not supported by this
repository.RepositoryException
Query prepareQuery(QueryLanguage ql, String query, String baseURI) throws RepositoryException, MalformedQueryException
If you already know the type of query, using the more specific prepareTupleQuery(java.lang.String)
,
prepareGraphQuery(java.lang.String)
or prepareBooleanQuery(java.lang.String)
is likely to be more efficient.
ql
- The query language
in which the query is formulated.query
- The query string.baseURI
- The base URI to resolve any relative URIs that are in the query against, can be null if
the query does not contain any relative URIs.MalformedQueryException
- If the supplied query is malformed.UnsupportedQueryLanguageException
- If the supplied query language is not supported.UnsupportedOperationException
- If the prepareQuery method is not supported by this
repository.RepositoryException
default TupleQuery prepareTupleQuery(String query) throws RepositoryException, MalformedQueryException
prepareTupleQuery(QueryLanguage, String, String)
instead.query
- The query string, in SPARQL syntax.TupleQuery
ready to be evaluated on this RepositoryConnection
.IllegalArgumentException
- If the supplied query is not a tuple query.MalformedQueryException
- If the supplied query is malformed.RepositoryException
prepareTupleQuery(QueryLanguage, String)
TupleQuery prepareTupleQuery(QueryLanguage ql, String query) throws RepositoryException, MalformedQueryException
prepareTupleQuery(QueryLanguage, String, String)
instead.ql
- The query language
in which the query is formulated.query
- The query string.TupleQuery
ready to be evaluated on this RepositoryConnection
.IllegalArgumentException
- If the supplied query is not a tuple query.MalformedQueryException
- If the supplied query is malformed.UnsupportedQueryLanguageException
- If the supplied query language is not supported.RepositoryException
TupleQuery prepareTupleQuery(QueryLanguage ql, String query, String baseURI) throws RepositoryException, MalformedQueryException
ql
- The query language
in which the query is formulated.query
- The query string.baseURI
- The base URI to resolve any relative URIs that are in the query against, can be null if
the query does not contain any relative URIs.TupleQuery
ready to be evaluated on this RepositoryConnection
.IllegalArgumentException
- If the supplied query is not a tuple query.MalformedQueryException
- If the supplied query is malformed.UnsupportedQueryLanguageException
- If the supplied query language is not supported.RepositoryException
default GraphQuery prepareGraphQuery(String query) throws RepositoryException, MalformedQueryException
prepareGraphQuery(QueryLanguage, String, String)
instead.query
- The query string, in SPARQL syntax.GraphQuery
ready to be evaluated on this RepositoryConnection
.IllegalArgumentException
- If the supplied query is not a graph query.MalformedQueryException
- If the supplied query is malformed.RepositoryException
prepareGraphQuery(QueryLanguage, String)
GraphQuery prepareGraphQuery(QueryLanguage ql, String query) throws RepositoryException, MalformedQueryException
prepareGraphQuery(QueryLanguage, String, String)
instead.ql
- The query language
in which the query is formulated.query
- The query string.GraphQuery
ready to be evaluated on this RepositoryConnection
.IllegalArgumentException
- If the supplied query is not a graph query.MalformedQueryException
- If the supplied query is malformed.UnsupportedQueryLanguageException
- If the supplied query language is not supported.RepositoryException
GraphQuery prepareGraphQuery(QueryLanguage ql, String query, String baseURI) throws RepositoryException, MalformedQueryException
ql
- The query language
in which the query is formulated.query
- The query string.baseURI
- The base URI to resolve any relative URIs that are in the query against, can be null if
the query does not contain any relative URIs.GraphQuery
ready to be evaluated on this RepositoryConnection
.IllegalArgumentException
- If the supplied query is not a graph query.MalformedQueryException
- If the supplied query is malformed.UnsupportedQueryLanguageException
- If the supplied query language is not supported.RepositoryException
default BooleanQuery prepareBooleanQuery(String query) throws RepositoryException, MalformedQueryException
prepareBooleanQuery(QueryLanguage, String, String)
instead.query
- The query string, in SPARQL syntax.BooleanQuery
ready to be evaluated on this RepositoryConnection
.IllegalArgumentException
- If the supplied query is not a boolean query.MalformedQueryException
- If the supplied SPARQL query is malformed.RepositoryException
prepareBooleanQuery(QueryLanguage, String)
BooleanQuery prepareBooleanQuery(QueryLanguage ql, String query) throws RepositoryException, MalformedQueryException
prepareBooleanQuery(QueryLanguage, String, String)
instead.ql
- The query language
in which the query is formulated.query
- The query string.BooleanQuery
ready to be evaluated on this RepositoryConnection
.IllegalArgumentException
- If the supplied query is not a boolean query.MalformedQueryException
- If the supplied query is malformed.UnsupportedQueryLanguageException
- If the supplied query language is not supported.RepositoryException
BooleanQuery prepareBooleanQuery(QueryLanguage ql, String query, String baseURI) throws RepositoryException, MalformedQueryException
ql
- The query language
in which the query is formulated.query
- The query string.baseURI
- The base URI to resolve any relative URIs that are in the query against, can be null if
the query does not contain any relative URIs.BooleanQuery
ready to be evaluated on this RepositoryConnection
.IllegalArgumentException
- If the supplied query is not a boolean query.MalformedQueryException
- If the supplied query is malformed.UnsupportedQueryLanguageException
- If the supplied query language is not supported.RepositoryException
default Update prepareUpdate(String update) throws RepositoryException, MalformedQueryException
prepareUpdate(QueryLanguage, String, String)
instead.update
- The update operation string, in SPARQL syntax.Update
ready to be executed on this RepositoryConnection
.MalformedQueryException
- If the supplied update operation string is malformed.RepositoryException
prepareUpdate(QueryLanguage, String)
Update prepareUpdate(QueryLanguage ql, String update) throws RepositoryException, MalformedQueryException
prepareUpdate(QueryLanguage, String, String)
instead.ql
- The query language
in which the update operation is formulated.update
- The update operation string.Update
ready to be executed on this RepositoryConnection
.MalformedQueryException
- If the supplied update operation string is malformed.RepositoryException
Update prepareUpdate(QueryLanguage ql, String update, String baseURI) throws RepositoryException, MalformedQueryException
ql
- The query language
in which the update operation is formulated.update
- The update operation string.baseURI
- The base URI to resolve any relative URIs that are in the update against, can be null if
the update does not contain any relative URIs.Update
ready to be executed on this RepositoryConnection
.MalformedQueryException
- If the supplied update operation string is malformed.RepositoryException
RepositoryResult<Resource> getContextIDs() throws RepositoryException
RepositoryResult
is closed to free any resources that it keeps hold of.RepositoryException
default RepositoryResult<Statement> getStatements(Resource subj, IRI pred, Value obj, Resource... contexts) throws RepositoryException
subj
- A Resource specifying the subject, or null for a wildcard.pred
- A URI specifying the predicate, or null for a wildcard.obj
- A Value specifying the object, or null for a wildcard.contexts
- The context(s) to get the data from. Note that this parameter is a vararg and as such is
optional. If no contexts are supplied the method operates on the entire repository.RepositoryResult
object, a
lazy Iterator-like object containing Statement
s and optionally throwing a
RepositoryException
when an error when a problem occurs during retrieval.RepositoryException
@Deprecated default RepositoryResult<Statement> getStatements(Resource subj, URI pred, Value obj, boolean includeInferred, Resource... contexts) throws RepositoryException
getStatements(Resource, IRI, Value, boolean, Resource...)
instead.subj
- A Resource specifying the subject, or null for a wildcard.pred
- A URI specifying the predicate, or null for a wildcard.obj
- A Value specifying the object, or null for a wildcard.contexts
- The context(s) to get the data from. Note that this parameter is a vararg and as such is
optional. If no contexts are supplied the method operates on the entire repository.includeInferred
- if false, no inferred statements are returned; if true, inferred statements are returned
if available. The default is true.RepositoryResult
object, a
lazy Iterator-like object containing Statement
s and optionally throwing a
RepositoryException
when an error when a problem occurs during retrieval.RepositoryException
RepositoryResult<Statement> getStatements(Resource subj, IRI pred, Value obj, boolean includeInferred, Resource... contexts) throws RepositoryException
subj
- A Resource specifying the subject, or null for a wildcard.pred
- An IRI specifying the predicate, or null for a wildcard.obj
- A Value specifying the object, or null for a wildcard.contexts
- The context(s) to get the data from. Note that this parameter is a vararg and as such is
optional. If no contexts are supplied the method operates on the entire repository.includeInferred
- if false, no inferred statements are returned; if true, inferred statements are returned
if available. The default is true.RepositoryResult
object, a
lazy Iterator-like object containing Statement
s and optionally throwing a
RepositoryException
when an error when a problem occurs during retrieval.RepositoryException
boolean hasStatement(Resource subj, IRI pred, Value obj, boolean includeInferred, Resource... contexts) throws RepositoryException
subj
- A Resource specifying the subject, or null for a wildcard.pred
- An IRI specifying the predicate, or null for a wildcard.obj
- A Value specifying the object, or null for a wildcard.contexts
- The context(s) the need to be searched. Note that this parameter is a vararg and as such
is optional. If no contexts are supplied the method operates on the entire repository.includeInferred
- if false, no inferred statements are considered; if true, inferred statements are
considered if availableRepositoryException
@Deprecated default boolean hasStatement(Resource subj, URI pred, Value obj, boolean includeInferred, Resource... contexts) throws RepositoryException
hasStatement(Resource, IRI, Value, boolean, Resource...)
instead.subj
- A Resource specifying the subject, or null for a wildcard.pred
- A URI specifying the predicate, or null for a wildcard.obj
- A Value specifying the object, or null for a wildcard.contexts
- The context(s) the need to be searched. Note that this parameter is a vararg and as such
is optional. If no contexts are supplied the method operates on the entire repository.includeInferred
- if false, no inferred statements are considered; if true, inferred statements are
considered if availableRepositoryException
boolean hasStatement(Statement st, boolean includeInferred, Resource... contexts) throws RepositoryException
st
- The statement to look for. Context information in the statement is ignored.contexts
- The context(s) to get the data from. Note that this parameter is a vararg and as such is
optional. If no contexts are supplied the method operates on the entire repository.includeInferred
- if false, no inferred statements are considered; if true, inferred statements are
considered if availableRepositoryException
void exportStatements(Resource subj, IRI pred, Value obj, boolean includeInferred, RDFHandler handler, Resource... contexts) throws RepositoryException, RDFHandlerException
subj
- The subject, or null if the subject doesn't matter.pred
- The predicate, or null if the predicate doesn't matter.obj
- The object, or null if the object doesn't matter.contexts
- The context(s) to get the data from. Note that this parameter is a vararg and as such is
optional. If no contexts are supplied the method operates on the entire repository.handler
- The handler that will handle the RDF data.includeInferred
- if false, no inferred statements are returned; if true, inferred statements are returned
if availableRDFHandlerException
- If the handler encounters an unrecoverable error.RepositoryException
void export(RDFHandler handler, Resource... contexts) throws RepositoryException, RDFHandlerException
contexts
- The context(s) to get the data from. Note that this parameter is a vararg and as such is
optional. If no contexts are supplied the method operates on the entire repository.handler
- The handler that will handle the RDF data.RDFHandlerException
- If the handler encounters an unrecoverable error.RepositoryException
long size(Resource... contexts) throws RepositoryException
contexts
- The context(s) to get the data from. Note that this parameter is a vararg and as such is
optional. If no contexts are supplied the method operates on the entire repository.RepositoryException
boolean isEmpty() throws RepositoryException
RepositoryException
- If the repository could not be checked to be empty.@Deprecated void setAutoCommit(boolean autoCommit) throws RepositoryException
begin()
instead.commit()
or rollback()
. By default, new connections are in
auto-commit mode.
NOTE: If this connection is switched to auto-commit mode during a transaction, the transaction is committed.
RepositoryException
- In case the mode switch failed, for example because a currently active transaction
failed to commit.commit()
@Deprecated boolean isAutoCommit() throws RepositoryException
isActive()
instead.begin()
has not been called or;
commit()
or rollback()
have been called to finish the transaction.
RepositoryException
- If a repository access error occurs.boolean isActive() throws UnknownTransactionStateException, RepositoryException
begin()
has
been called, and becomes inactive after commit()
or rollback()
has been called.true
iff a transaction is active, false
iff no transaction is active.UnknownTransactionStateException
- if the transaction state can not be determined. This can happen for
instance when communication with a repository fails or times out.RepositoryException
void setIsolationLevel(IsolationLevel level) throws IllegalStateException
begin()
will result in an exception.level
- the transaction isolation level to set.IllegalStateException
- if the method is called while a transaction is already active.IsolationLevel getIsolationLevel()
transaction isolation level
of the connection.void begin() throws RepositoryException
commit()
or rollback()
to be called to end the transaction.
The transaction will use the currently set isolation level
for this connection.RepositoryException
- If the connection could not start the transaction. One possible reason this may
happen is if a transaction is already active
on the current
connection.begin(IsolationLevel)
,
isActive()
,
commit()
,
rollback()
,
setIsolationLevel(IsolationLevel)
void begin(IsolationLevel level) throws RepositoryException
IsolationLevel
, requiring commit()
or
rollback()
to be called to end the transaction.level
- The IsolationLevel
at which this transaction will operate. If set to null
the
default isolation level of the underlying store will be used. If the specified isolation level is
not supported by the underlying store, it will attempt to use a supported
compatible level
instead.RepositoryException
- If the connection could not start the transaction. Possible reasons this may happen
are:
active
on the current connection.
IsolationLevel
is not supported by the store, and no
compatible level could be found.
begin()
,
isActive()
,
commit()
,
rollback()
,
setIsolationLevel(IsolationLevel)
default void begin(TransactionSetting... settings)
TransactionSetting
, requiring commit()
or
rollback()
to be called to end the transaction.settings
- The TransactionSetting
(zero or more) for this transaction. If an isolation level is
provided in the settings this will be used for the transaction. If none is provided then the
default will be used. Behaviour of this method is undefined if more than one isolation level is
provided. Behaviour of this method is undefined if one or more settings is null.RepositoryException
- If the connection could not start the transaction. Possible reasons this may happen
are:
active
on the current connection.
IsolationLevel
is not supported by the store, and no
compatible level could be found.
begin()
,
isActive()
,
commit()
,
rollback()
,
setIsolationLevel(IsolationLevel)
default void prepare() throws RepositoryException
commit()
or
rollback()
. A call to this method must be followed by (in the same thread) with a call to
prepare()
, commit()
, rollback()
, or close()
. This method may be called
multiple times within the same transaction by the same thread. If this method returns normally, the caller can
reasonably expect that a subsequent call to commit()
will also return normally. If this method returns
with an exception the caller should treat the exception as if it came from a call to commit()
.UnknownTransactionStateException
- If the transaction state can not be determined (this can happen for
instance when communication between client and server fails or
times-out). It does not indicate a problem with the integrity of the
store.RepositoryException
- If there is an active transaction and it cannot be committed.IllegalStateException
- If the connection has been closed or prepare was already called by
another thread.commit()
,
begin()
,
rollback()
void commit() throws RepositoryException
UnknownTransactionStateException
- if the transaction state can not be determined. This can happen for
instance when communication with a repository fails or times out.RepositoryException
- If the connection could not be committed, or if the connection does not
have an active transaction.isActive()
,
begin()
,
rollback()
,
prepare()
void rollback() throws RepositoryException
UnknownTransactionStateException
- if the transaction state can not be determined. This can happen for
instance when communication with a repository fails or times out.RepositoryException
- If the transaction could not be rolled back, or if the connection does
not have an active transaction.isActive()
,
begin()
,
commit()
default void add(InputStream in, RDFFormat dataFormat, Resource... contexts) throws IOException, RDFParseException, RepositoryException
in
- An InputStream from which RDF data can be read.dataFormat
- The serialization format of the data.contexts
- The contexts to add the data to. If one or more contexts are supplied the method ignores
contextual information in the actual data. If no contexts are supplied the contextual
information in the input stream is used, if no context information is available the data is
added without any context.IOException
- If an I/O error occurred while reading from the input stream.UnsupportedRDFormatException
- If no parser is available for the specified RDF format.RDFParseException
- If an error was found while parsing the RDF data.RepositoryException
- If the data could not be added to the repository, for example because the
repository is not writable.void add(InputStream in, String baseURI, RDFFormat dataFormat, Resource... contexts) throws IOException, RDFParseException, RepositoryException
in
- An InputStream from which RDF data can be read.baseURI
- The base URI to resolve any relative URIs that are in the data against. May be
null
.
Note that if the data contains an embedded base URI, that embedded base URI will overrule the value supplied here (see RFC 3986 section 5.1 for details).
dataFormat
- The serialization format of the data.contexts
- The contexts to add the data to. If one or more contexts are supplied the method ignores
contextual information in the actual data. If no contexts are supplied the contextual
information in the input stream is used, if no context information is available the data is
added without any context.IOException
- If an I/O error occurred while reading from the input stream.UnsupportedRDFormatException
- If no parser is available for the specified RDF format.RDFParseException
- If an error was found while parsing the RDF data.RepositoryException
- If the data could not be added to the repository, for example because the
repository is not writable.default void add(Reader reader, RDFFormat dataFormat, Resource... contexts) throws IOException, RDFParseException, RepositoryException
reader
- A Reader from which RDF data can be read.dataFormat
- The serialization format of the data.contexts
- The contexts to add the data to. If one or more contexts are specified the data is added to
these contexts, ignoring any context information in the data itself.IOException
- If an I/O error occurred while reading from the reader.UnsupportedRDFormatException
- If no parser is available for the specified RDF format.RDFParseException
- If an error was found while parsing the RDF data.RepositoryException
- If the data could not be added to the repository, for example because the
repository is not writable.void add(Reader reader, String baseURI, RDFFormat dataFormat, Resource... contexts) throws IOException, RDFParseException, RepositoryException
reader
- A Reader from which RDF data can be read.baseURI
- The base URI to resolve any relative URIs that are in the data against. May be
null
.
Note that if the data contains an embedded base URI, that embedded base URI will overrule the value supplied here (see RFC 3986 section 5.1 for details).
dataFormat
- The serialization format of the data.contexts
- The contexts to add the data to. If one or more contexts are specified the data is added to
these contexts, ignoring any context information in the data itself.IOException
- If an I/O error occurred while reading from the reader.UnsupportedRDFormatException
- If no parser is available for the specified RDF format.RDFParseException
- If an error was found while parsing the RDF data.RepositoryException
- If the data could not be added to the repository, for example because the
repository is not writable.default void add(URL url, Resource... contexts) throws IOException, RDFParseException, RepositoryException
url
- The URL of the RDF data.contexts
- The contexts to add the data to. If one or more contexts are specified the data is added to these
contexts, ignoring any context information in the data itself.IOException
- If an I/O error occurred while reading from the URL.UnsupportedRDFormatException
- If the RDF format could not be recognized.RDFParseException
- If an error was found while parsing the RDF data.RepositoryException
- If the data could not be added to the repository, for example because the
repository is not writable.default void add(URL url, RDFFormat dataFormat, Resource... contexts) throws IOException, RDFParseException, RepositoryException
url
- The URL of the RDF data.dataFormat
- The serialization format of the data. If set to null, the format will be automatically
determined by examining the content type in the HTTP response header, and failing that, the
file name extension of the supplied URL.contexts
- The contexts to add the data to. If one or more contexts are specified the data is added to
these contexts, ignoring any context information in the data itself.IOException
- If an I/O error occurred while reading from the URL.UnsupportedRDFormatException
- If no parser is available for the specified RDF format, or the RDF format
could not be automatically determined.RDFParseException
- If an error was found while parsing the RDF data.RepositoryException
- If the data could not be added to the repository, for example because the
repository is not writable.void add(URL url, String baseURI, RDFFormat dataFormat, Resource... contexts) throws IOException, RDFParseException, RepositoryException
url
- The URL of the RDF data.baseURI
- The base URI to resolve any relative URIs that are in the data against. This defaults to the
value of url.toExternalForm()
if the value is set to
null.
Note that if the data contains an embedded base URI, that embedded base URI will overrule the value supplied here (see RFC 3986 section 5.1 for details).
dataFormat
- The serialization format of the data. If set to null, the format will be automatically
determined by examining the content type in the HTTP response header, and failing that, the
file name extension of the supplied URL.contexts
- The contexts to add the data to. If one or more contexts are specified the data is added to
these contexts, ignoring any context information in the data itself.IOException
- If an I/O error occurred while reading from the URL.UnsupportedRDFormatException
- If no parser is available for the specified RDF format, or the RDF format
could not be automatically determined.RDFParseException
- If an error was found while parsing the RDF data.RepositoryException
- If the data could not be added to the repository, for example because the
repository is not writable.default void add(File file, Resource... contexts) throws IOException, RDFParseException, RepositoryException
file
- A file containing RDF data.contexts
- The contexts to add the data to. Note that this parameter is a vararg and as such is optional. If
no contexts are specified, the data is added to any context specified in the actual data file, or
if the data contains no context, it is added without context. If one or more contexts are
specified the data is added to these contexts, ignoring any context information in the data
itself.IOException
- If an I/O error occurred while reading from the file.UnsupportedRDFormatException
- If the RDF format of the supplied file could not be recognized.RDFParseException
- If an error was found while parsing the RDF data.RepositoryException
- If the data could not be added to the repository, for example because the
repository is not writable.default void add(File file, RDFFormat dataFormat, Resource... contexts) throws IOException, RDFParseException, RepositoryException
file
- A file containing RDF data.dataFormat
- The serialization format of the data. If set to null, the format will be automatically
determined by examining the file name extension of the supplied File.contexts
- The contexts to add the data to. Note that this parameter is a vararg and as such is optional.
If no contexts are specified, the data is added to any context specified in the actual data
file, or if the data contains no context, it is added without context. If one or more contexts
are specified the data is added to these contexts, ignoring any context information in the data
itself.IOException
- If an I/O error occurred while reading from the file.UnsupportedRDFormatException
- If no parser is available for the specified RDF format.RDFParseException
- If an error was found while parsing the RDF data.RepositoryException
- If the data could not be added to the repository, for example because the
repository is not writable.void add(File file, String baseURI, RDFFormat dataFormat, Resource... contexts) throws IOException, RDFParseException, RepositoryException
file
- A file containing RDF data.baseURI
- The base URI to resolve any relative URIs that are in the data against. This defaults to the
value of file.toURI()
if the value is set to null.
Note that if the data contains an embedded base URI, that embedded base URI will overrule the value supplied here (see RFC 3986 section 5.1 for details).
dataFormat
- The serialization format of the data. If set to null, the format will be automatically
determined by examining the file name extension of the supplied File.contexts
- The contexts to add the data to. Note that this parameter is a vararg and as such is optional.
If no contexts are specified, the data is added to any context specified in the actual data
file, or if the data contains no context, it is added without context. If one or more contexts
are specified the data is added to these contexts, ignoring any context information in the data
itself.IOException
- If an I/O error occurred while reading from the file.UnsupportedRDFormatException
- If no parser is available for the specified RDF format.RDFParseException
- If an error was found while parsing the RDF data.RepositoryException
- If the data could not be added to the repository, for example because the
repository is not writable.void add(Resource subject, IRI predicate, Value object, Resource... contexts) throws RepositoryException
subject
- The statement's subject.predicate
- The statement's predicate.object
- The statement's object.contexts
- The contexts to add the data to. Note that this parameter is a vararg and as such is optional.
If no contexts are specified, the data is added to any context specified in the actual data
file, or if the data contains no context, it is added without context. If one or more contexts
are specified the data is added to these contexts, ignoring any context information in the data
itself.RepositoryException
- If the data could not be added to the repository, for example because the repository
is not writable.@Deprecated default void add(Resource subject, URI predicate, Value object, Resource... contexts) throws RepositoryException
add(Resource, IRI, Value, Resource...)
instead.subject
- The statement's subject.predicate
- The statement's predicate.object
- The statement's object.contexts
- The contexts to add the data to. Note that this parameter is a vararg and as such is optional.
If no contexts are specified, the data is added to any context specified in the actual data
file, or if the data contains no context, it is added without context. If one or more contexts
are specified the data is added to these contexts, ignoring any context information in the data
itself.RepositoryException
- If the data could not be added to the repository, for example because the repository
is not writable.void add(Statement st, Resource... contexts) throws RepositoryException
st
- The statement to add.contexts
- The contexts to add the statements to. Note that this parameter is a vararg and as such is
optional. If no contexts are specified, the statement is added to any context specified in each
statement, or if the statement contains no context, it is added without context. If one or more
contexts are specified the statement is added to these contexts, ignoring any context information
in the statement itself.RepositoryException
- If the statement could not be added to the repository, for example because the
repository is not writable.void add(Iterable<? extends Statement> statements, Resource... contexts) throws RepositoryException
statements
- The statements that should be added.contexts
- The contexts to add the statements to. Note that this parameter is a vararg and as such is
optional. If no contexts are specified, each statement is added to any context specified in the
statement, or if the statement contains no context, it is added without context. If one or more
contexts are specified each statement is added to these contexts, ignoring any context
information in the statement itself. ignored.RepositoryException
- If the statements could not be added to the repository, for example because the
repository is not writable.<E extends Exception> void add(Iteration<? extends Statement,E> statements, Resource... contexts) throws RepositoryException, E extends Exception
statements
- The statements to add. In case the iteration is a
CloseableIteration
, it will be closed before this
method returns.contexts
- The contexts to add the statements to. Note that this parameter is a vararg and as such is
optional. If no contexts are specified, each statement is added to any context specified in the
statement, or if the statement contains no context, it is added without context. If one or more
contexts are specified each statement is added to these contexts, ignoring any context
information in the statement itself. ignored.RepositoryException
- If the statements could not be added to the repository, for example because the
repository is not writable.E extends Exception
default void add(RepositoryResult<Statement> statements, Resource... contexts) throws RepositoryException
statements
- The statements to add. The @{link RepositoryResult} will be closed before this method returns.contexts
- The contexts to add the statements to. Note that this parameter is a vararg and as such is
optional. If no contexts are specified, each statement is added to any context specified in the
statement, or if the statement contains no context, it is added without context. If one or more
contexts are specified each statement is added to these contexts, ignoring any context
information in the statement itself. ignored.RepositoryException
- If the statements could not be added to the repository, for example because the
repository is not writable.void remove(Resource subject, IRI predicate, Value object, Resource... contexts) throws RepositoryException
subject
- The statement's subject, or null for a wildcard.predicate
- The statement's predicate, or null for a wildcard.object
- The statement's object, or null for a wildcard.contexts
- The context(s) to remove the data from. Note that this parameter is a vararg and as such is
optional. If no contexts are supplied the method operates on the entire repository.RepositoryException
- If the statement(s) could not be removed from the repository, for example because the
repository is not writable.@Deprecated default void remove(Resource subject, URI predicate, Value object, Resource... contexts) throws RepositoryException
remove(Resource, IRI, Value, Resource...)
instead.subject
- The statement's subject, or null for a wildcard.predicate
- The statement's predicate, or null for a wildcard.object
- The statement's object, or null for a wildcard.contexts
- The context(s) to remove the data from. Note that this parameter is a vararg and as such is
optional. If no contexts are supplied the method operates on the entire repository.RepositoryException
- If the statement(s) could not be removed from the repository, for example because the
repository is not writable.void remove(Statement st, Resource... contexts) throws RepositoryException
st
- The statement to remove.contexts
- The context(s) to remove the data from. Note that this parameter is a vararg and as such is
optional. If no contexts are supplied the method operates on the contexts associated with the
statement itself, and if no context is associated with the statement, on the entire repository.RepositoryException
- If the statement could not be removed from the repository, for example because the
repository is not writable.void remove(Iterable<? extends Statement> statements, Resource... contexts) throws RepositoryException
statements
- The statements that should be added.contexts
- The context(s) to remove the data from. Note that this parameter is a vararg and as such is
optional. If no contexts are supplied the method operates on the contexts associated with the
statement itself, and if no context is associated with the statement, on the entire repository.RepositoryException
- If the statements could not be added to the repository, for example because the
repository is not writable.<E extends Exception> void remove(Iteration<? extends Statement,E> statements, Resource... contexts) throws RepositoryException, E extends Exception
statements
- The statements to remove. In case the iteration is a
CloseableIteration
, it will be closed before this
method returns.contexts
- The context(s) to remove the data from. Note that this parameter is a vararg and as such is
optional. If no contexts are supplied the method operates on the contexts associated with the
statement itself, and if no context is associated with the statement, on the entire repository.RepositoryException
- If the statements could not be removed from the repository, for example because the
repository is not writable.E extends Exception
default void remove(RepositoryResult<Statement> statements, Resource... contexts) throws RepositoryException
statements
- The statements to remove. The RepositoryResult
will be closed before this method
returns.contexts
- The context(s) to remove the data from. Note that this parameter is a vararg and as such is
optional. If no contexts are supplied the method operates on the contexts associated with the
statement itself, and if no context is associated with the statement, on the entire repository.RepositoryException
- If the statements could not be removed from the repository, for example because the
repository is not writable.void clear(Resource... contexts) throws RepositoryException
contexts
- The context(s) to remove the data from. Note that this parameter is a vararg and as such is
optional. If no contexts are supplied the method operates on the entire repository.RepositoryException
- If the statements could not be removed from the repository, for example because the
repository is not writable.RepositoryResult<Namespace> getNamespaces() throws RepositoryException
Namespace
objects. Each Namespace object consists
of a prefix and a namespace name.RepositoryException
- If the namespaces could not be read from the repository.String getNamespace(String prefix) throws RepositoryException
prefix
- A namespace prefix, or an empty string in case of the default namespace.RepositoryException
- If the namespace could not be read from the repository.NullPointerException
- In case prefix is null.void setNamespace(String prefix, String name) throws RepositoryException
prefix
- The new prefix, or an empty string in case of the default namespace.name
- The namespace name that the prefix maps to.RepositoryException
- If the namespace could not be set in the repository, for example because the
repository is not writable.NullPointerException
- In case prefix or name is null.void removeNamespace(String prefix) throws RepositoryException
prefix
- The namespace prefix, or an empty string in case of the default namespace.RepositoryException
- If the namespace prefix could not be removed.NullPointerException
- In case prefix is null.void clearNamespaces() throws RepositoryException
RepositoryException
- If the namespace declarations could not be removed.Copyright © 2015-2022 Eclipse Foundation. All Rights Reserved.