public class RepositoryConnectionWrapper extends AbstractRepositoryConnection implements DelegatingRepositoryConnection
isDelegatingAdd()
,
isDelegatingRemove()
,
isDelegatingRead()
logger
Constructor and Description |
---|
RepositoryConnectionWrapper(Repository repository) |
RepositoryConnectionWrapper(Repository repository,
RepositoryConnection delegate) |
Modifier and Type | Method and Description |
---|---|
void |
add(File file,
String baseURI,
RDFFormat dataFormat,
Resource... contexts)
Adds RDF data from the specified file to a specific contexts in the repository.
|
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> statementIter,
Resource... contexts)
Adds the supplied statements to this 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.
|
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.
|
void |
add(Statement st,
Resource... contexts)
Adds the supplied statement to this 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.
|
protected void |
addWithoutCommit(Resource subject,
IRI predicate,
Value object,
Resource... contexts) |
void |
begin()
Begins a new transaction, requiring
RepositoryConnection.commit() or RepositoryConnection.rollback() to be called to end the transaction. |
void |
begin(IsolationLevel level)
Begins a new transaction with the supplied
IsolationLevel , requiring RepositoryConnection.commit() or
RepositoryConnection.rollback() to be called to end the transaction. |
void |
begin(TransactionSetting... settings)
Begins a new transaction with the supplied
TransactionSetting , requiring RepositoryConnection.commit() or
RepositoryConnection.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.
|
void |
close()
Closes the connection, freeing resources.
|
void |
commit()
Commits the active transaction.
|
protected void |
exportStatements(RepositoryResult<Statement> stIter,
RDFHandler handler)
Exports all statements contained in the supplied statement iterator and all relevant namespace information 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.
|
RepositoryConnection |
getDelegate() |
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. |
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.
|
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.
|
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. |
protected boolean |
isDelegatingAdd()
If false then the following add methods will call
addWithoutCommit(Resource, IRI, Value, Resource[]) . |
protected boolean |
isDelegatingRead()
If false then the following has/export/isEmpty methods will call
getStatements(Resource, IRI, Value, boolean, Resource[]) . |
protected boolean |
isDelegatingRemove()
If false then the following remove methods will call
removeWithoutCommit(Resource, IRI, Value, Resource[]) . |
boolean |
isEmpty()
Returns true if this repository does not contain any (explicit) statements.
|
boolean |
isOpen()
Checks whether this connection is open.
|
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,
String baseURI)
Prepares queries that return true or false.
|
GraphQuery |
prepareGraphQuery(QueryLanguage ql,
String query,
String baseURI)
Prepares queries that produce RDF graphs.
|
Query |
prepareQuery(QueryLanguage ql,
String query,
String baseURI)
Prepares a query for evaluation on this repository (optional operation).
|
TupleQuery |
prepareTupleQuery(QueryLanguage ql,
String query,
String baseURI)
Prepares a query that produces sets of value tuples.
|
Update |
prepareUpdate(QueryLanguage ql,
String update,
String baseURI)
Prepares an 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> statementIter,
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.
|
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.
|
protected void |
removeWithoutCommit(Resource subject,
IRI predicate,
Value object,
Resource... contexts) |
void |
rollback()
Rolls back all updates in the active transaction.
|
void |
setAutoCommit(boolean autoCommit)
Deprecated.
use
begin() instead. |
void |
setDelegate(RepositoryConnection delegate) |
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 parserConfig)
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.
|
addWithoutCommit, conditionalCommit, conditionalRollback, export, getParserConfig, getRepository, getValueFactory, prepareBooleanQuery, prepareGraphQuery, prepareQuery, prepareTupleQuery, prepareUpdate, removeWithoutCommit, startLocalTransaction
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
add, add, add, add, add, add, add, add, export, getParserConfig, getRepository, getStatements, getStatements, getValueFactory, hasStatement, prepareBooleanQuery, prepareBooleanQuery, prepareGraphQuery, prepareGraphQuery, prepareQuery, prepareQuery, prepareTupleQuery, prepareTupleQuery, prepareUpdate, prepareUpdate, remove, remove
public RepositoryConnectionWrapper(Repository repository)
public RepositoryConnectionWrapper(Repository repository, RepositoryConnection delegate)
public RepositoryConnection getDelegate()
getDelegate
in interface DelegatingRepositoryConnection
public void setDelegate(RepositoryConnection delegate)
setDelegate
in interface DelegatingRepositoryConnection
protected boolean isDelegatingAdd() throws RepositoryException
addWithoutCommit(Resource, IRI, Value, Resource[])
.true
to delegate add methods, false
to call
addWithoutCommit(Resource, IRI, Value, Resource[])
RepositoryException
add(Iterable, Resource...)
,
add(Iteration, Resource...)
,
add(Statement, Resource...)
,
add(File, String, RDFFormat, Resource...)
,
add(InputStream, String, RDFFormat, Resource...)
,
add(Reader, String, RDFFormat, Resource...)
,
add(Resource, IRI, Value, Resource...)
,
add(URL, String, RDFFormat, Resource...)
protected boolean isDelegatingRead() throws RepositoryException
getStatements(Resource, IRI, Value, boolean, Resource[])
.true
to delegate read methods, false
to call
getStatements(Resource, IRI, Value, boolean, Resource[])
RepositoryException
exportStatements(Resource, IRI, Value, boolean, RDFHandler, Resource...)
,
hasStatement(Statement, boolean, Resource...)
,
hasStatement(Resource, IRI, Value, boolean, Resource...)
,
isEmpty()
protected boolean isDelegatingRemove() throws RepositoryException
removeWithoutCommit(Resource, IRI, Value, Resource[])
.true
to delegate remove methods, false
to call
removeWithoutCommit(Resource, IRI, Value, Resource...)
RepositoryException
clear(Resource...)
,
remove(Iterable, Resource...)
,
remove(Iteration, Resource...)
,
remove(Statement, Resource...)
,
remove(Resource, IRI, Value, Resource...)
public void setParserConfig(ParserConfig parserConfig)
RepositoryConnection
setParserConfig
in interface RepositoryConnection
setParserConfig
in class AbstractRepositoryConnection
parserConfig
- a Rio RDF Parser configuration.public void add(File file, String baseURI, RDFFormat dataFormat, Resource... contexts) throws IOException, RDFParseException, RepositoryException
RepositoryConnection
add
in interface RepositoryConnection
add
in class AbstractRepositoryConnection
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.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.public void add(InputStream in, String baseURI, RDFFormat dataFormat, Resource... contexts) throws IOException, RDFParseException, RepositoryException
RepositoryConnection
add
in interface RepositoryConnection
add
in class AbstractRepositoryConnection
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.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.public void add(Iterable<? extends Statement> statements, Resource... contexts) throws RepositoryException
RepositoryConnection
add
in interface RepositoryConnection
add
in class AbstractRepositoryConnection
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.public <E extends Exception> void add(Iteration<? extends Statement,E> statementIter, Resource... contexts) throws RepositoryException, E extends Exception
RepositoryConnection
add
in interface RepositoryConnection
add
in class AbstractRepositoryConnection
statementIter
- 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
public void add(Reader reader, String baseURI, RDFFormat dataFormat, Resource... contexts) throws IOException, RDFParseException, RepositoryException
RepositoryConnection
add
in interface RepositoryConnection
add
in class AbstractRepositoryConnection
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.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.public void add(Resource subject, IRI predicate, Value object, Resource... contexts) throws RepositoryException
RepositoryConnection
add
in interface RepositoryConnection
add
in class AbstractRepositoryConnection
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.public void add(Statement st, Resource... contexts) throws RepositoryException
RepositoryConnection
add
in interface RepositoryConnection
add
in class AbstractRepositoryConnection
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.public void add(URL url, String baseURI, RDFFormat dataFormat, Resource... contexts) throws IOException, RDFParseException, RepositoryException
RepositoryConnection
add
in interface RepositoryConnection
add
in class AbstractRepositoryConnection
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.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.public void clear(Resource... contexts) throws RepositoryException
RepositoryConnection
clear
in interface RepositoryConnection
clear
in class AbstractRepositoryConnection
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.public void close() throws RepositoryException
RepositoryConnection
transaction
is active
on the
connection, all non-committed operations will be lost by actively calling RepositoryConnection.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
close
in interface RepositoryConnection
close
in class AbstractRepositoryConnection
RepositoryException
- If the connection could not be closed.public void prepare() throws RepositoryException
RepositoryConnection
RepositoryConnection.commit()
or
RepositoryConnection.rollback()
. A call to this method must be followed by (in the same thread) with a call to
RepositoryConnection.prepare()
, RepositoryConnection.commit()
, RepositoryConnection.rollback()
, or RepositoryConnection.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 RepositoryConnection.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 RepositoryConnection.commit()
.prepare
in interface RepositoryConnection
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.RepositoryConnection.commit()
,
RepositoryConnection.begin()
,
RepositoryConnection.rollback()
public void commit() throws RepositoryException
RepositoryConnection
commit
in interface RepositoryConnection
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.RepositoryConnection.isActive()
,
RepositoryConnection.begin()
,
RepositoryConnection.rollback()
,
RepositoryConnection.prepare()
public void exportStatements(Resource subj, IRI pred, Value obj, boolean includeInferred, RDFHandler handler, Resource... contexts) throws RepositoryException, RDFHandlerException
RepositoryConnection
exportStatements
in interface RepositoryConnection
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.includeInferred
- if false, no inferred statements are returned; if true, inferred statements are returned
if availablehandler
- The handler that will handle the RDF data.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.RDFHandlerException
- If the handler encounters an unrecoverable error.RepositoryException
public RepositoryResult<Resource> getContextIDs() throws RepositoryException
RepositoryConnection
RepositoryResult
is closed to free any resources that it keeps hold of.getContextIDs
in interface RepositoryConnection
RepositoryException
public String getNamespace(String prefix) throws RepositoryException
RepositoryConnection
getNamespace
in interface RepositoryConnection
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.public RepositoryResult<Namespace> getNamespaces() throws RepositoryException
RepositoryConnection
Namespace
objects. Each Namespace object consists
of a prefix and a namespace name.getNamespaces
in interface RepositoryConnection
RepositoryException
- If the namespaces could not be read from the repository.public RepositoryResult<Statement> getStatements(Resource subj, IRI pred, Value obj, boolean includeInferred, Resource... contexts) throws RepositoryException
RepositoryConnection
getStatements
in interface RepositoryConnection
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.includeInferred
- if false, no inferred statements are returned; if true, inferred statements are returned
if available. The default is true.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
public boolean hasStatement(Resource subj, IRI pred, Value obj, boolean includeInferred, Resource... contexts) throws RepositoryException
RepositoryConnection
hasStatement
in interface RepositoryConnection
hasStatement
in class AbstractRepositoryConnection
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.includeInferred
- if false, no inferred statements are considered; if true, inferred statements are
considered if availablecontexts
- 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.RepositoryException
public boolean hasStatement(Statement st, boolean includeInferred, Resource... contexts) throws RepositoryException
RepositoryConnection
hasStatement
in interface RepositoryConnection
hasStatement
in class AbstractRepositoryConnection
st
- The statement to look for. Context information in the statement is ignored.includeInferred
- if false, no inferred statements are considered; if true, inferred statements are
considered if availablecontexts
- 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
@Deprecated public boolean isAutoCommit() throws RepositoryException
isActive()
instead.RepositoryConnection
RepositoryConnection.begin()
has not been called or;
RepositoryConnection.commit()
or RepositoryConnection.rollback()
have been called to finish the transaction.
isAutoCommit
in interface RepositoryConnection
isAutoCommit
in class AbstractRepositoryConnection
RepositoryException
- If a repository access error occurs.public boolean isActive() throws UnknownTransactionStateException, RepositoryException
RepositoryConnection
RepositoryConnection.begin()
has
been called, and becomes inactive after RepositoryConnection.commit()
or RepositoryConnection.rollback()
has been called.isActive
in interface RepositoryConnection
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
public boolean isEmpty() throws RepositoryException
RepositoryConnection
isEmpty
in interface RepositoryConnection
isEmpty
in class AbstractRepositoryConnection
RepositoryException
- If the repository could not be checked to be empty.public boolean isOpen() throws RepositoryException
RepositoryConnection
isOpen
in interface RepositoryConnection
isOpen
in class AbstractRepositoryConnection
RepositoryException
RepositoryConnection.close()
public GraphQuery prepareGraphQuery(QueryLanguage ql, String query, String baseURI) throws MalformedQueryException, RepositoryException
RepositoryConnection
prepareGraphQuery
in interface RepositoryConnection
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
.MalformedQueryException
- If the supplied query is malformed.RepositoryException
public Query prepareQuery(QueryLanguage ql, String query, String baseURI) throws MalformedQueryException, RepositoryException
RepositoryConnection
If you already know the type of query, using the more specific RepositoryConnection.prepareTupleQuery(java.lang.String)
,
RepositoryConnection.prepareGraphQuery(java.lang.String)
or RepositoryConnection.prepareBooleanQuery(java.lang.String)
is likely to be more efficient.
prepareQuery
in interface RepositoryConnection
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.RepositoryException
public TupleQuery prepareTupleQuery(QueryLanguage ql, String query, String baseURI) throws MalformedQueryException, RepositoryException
RepositoryConnection
prepareTupleQuery
in interface RepositoryConnection
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
.MalformedQueryException
- If the supplied query is malformed.RepositoryException
public BooleanQuery prepareBooleanQuery(QueryLanguage ql, String query, String baseURI) throws MalformedQueryException, RepositoryException
RepositoryConnection
prepareBooleanQuery
in interface RepositoryConnection
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
.MalformedQueryException
- If the supplied query is malformed.RepositoryException
public Update prepareUpdate(QueryLanguage ql, String update, String baseURI) throws MalformedQueryException, RepositoryException
RepositoryConnection
prepareUpdate
in interface RepositoryConnection
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
public void remove(Iterable<? extends Statement> statements, Resource... contexts) throws RepositoryException
RepositoryConnection
remove
in interface RepositoryConnection
remove
in class AbstractRepositoryConnection
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.public <E extends Exception> void remove(Iteration<? extends Statement,E> statementIter, Resource... contexts) throws RepositoryException, E extends Exception
RepositoryConnection
remove
in interface RepositoryConnection
remove
in class AbstractRepositoryConnection
statementIter
- 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
public void remove(Resource subject, IRI predicate, Value object, Resource... contexts) throws RepositoryException
RepositoryConnection
remove
in interface RepositoryConnection
remove
in class AbstractRepositoryConnection
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.public void remove(Statement st, Resource... contexts) throws RepositoryException
RepositoryConnection
remove
in interface RepositoryConnection
remove
in class AbstractRepositoryConnection
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.public void removeNamespace(String prefix) throws RepositoryException
RepositoryConnection
removeNamespace
in interface RepositoryConnection
prefix
- The namespace prefix, or an empty string in case of the default namespace.RepositoryException
- If the namespace prefix could not be removed.public void clearNamespaces() throws RepositoryException
RepositoryConnection
clearNamespaces
in interface RepositoryConnection
RepositoryException
- If the namespace declarations could not be removed.public void rollback() throws RepositoryException
RepositoryConnection
rollback
in interface RepositoryConnection
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.RepositoryConnection.isActive()
,
RepositoryConnection.begin()
,
RepositoryConnection.commit()
@Deprecated public void setAutoCommit(boolean autoCommit) throws RepositoryException
begin()
instead.RepositoryConnection
RepositoryConnection.commit()
or RepositoryConnection.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.
setAutoCommit
in interface RepositoryConnection
setAutoCommit
in class AbstractRepositoryConnection
RepositoryException
- In case the mode switch failed, for example because a currently active transaction
failed to commit.RepositoryConnection.commit()
public void setNamespace(String prefix, String name) throws RepositoryException
RepositoryConnection
setNamespace
in interface RepositoryConnection
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.public long size(Resource... contexts) throws RepositoryException
RepositoryConnection
size
in interface RepositoryConnection
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
protected void addWithoutCommit(Resource subject, IRI predicate, Value object, Resource... contexts) throws RepositoryException
addWithoutCommit
in class AbstractRepositoryConnection
RepositoryException
protected void removeWithoutCommit(Resource subject, IRI predicate, Value object, Resource... contexts) throws RepositoryException
removeWithoutCommit
in class AbstractRepositoryConnection
RepositoryException
protected void exportStatements(RepositoryResult<Statement> stIter, RDFHandler handler) throws RepositoryException, RDFHandlerException
public void begin() throws RepositoryException
RepositoryConnection
RepositoryConnection.commit()
or RepositoryConnection.rollback()
to be called to end the transaction.
The transaction will use the currently set isolation level
for this connection.begin
in interface RepositoryConnection
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.RepositoryConnection.begin(IsolationLevel)
,
RepositoryConnection.isActive()
,
RepositoryConnection.commit()
,
RepositoryConnection.rollback()
,
RepositoryConnection.setIsolationLevel(IsolationLevel)
public void begin(IsolationLevel level) throws RepositoryException
RepositoryConnection
IsolationLevel
, requiring RepositoryConnection.commit()
or
RepositoryConnection.rollback()
to be called to end the transaction.begin
in interface RepositoryConnection
begin
in class AbstractRepositoryConnection
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.
RepositoryConnection.begin()
,
RepositoryConnection.isActive()
,
RepositoryConnection.commit()
,
RepositoryConnection.rollback()
,
RepositoryConnection.setIsolationLevel(IsolationLevel)
public void begin(TransactionSetting... settings)
RepositoryConnection
TransactionSetting
, requiring RepositoryConnection.commit()
or
RepositoryConnection.rollback()
to be called to end the transaction.begin
in interface RepositoryConnection
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.RepositoryConnection.begin()
,
RepositoryConnection.isActive()
,
RepositoryConnection.commit()
,
RepositoryConnection.rollback()
,
RepositoryConnection.setIsolationLevel(IsolationLevel)
public void setIsolationLevel(IsolationLevel level) throws IllegalStateException
RepositoryConnection
RepositoryConnection.begin()
will result in an exception.setIsolationLevel
in interface RepositoryConnection
setIsolationLevel
in class AbstractRepositoryConnection
level
- the transaction isolation level to set.IllegalStateException
- if the method is called while a transaction is already active.public IsolationLevel getIsolationLevel()
RepositoryConnection
transaction isolation level
of the connection.getIsolationLevel
in interface RepositoryConnection
getIsolationLevel
in class AbstractRepositoryConnection
Copyright © 2015-2022 Eclipse Foundation. All Rights Reserved.