Class RepositoryConnectionWrapper
- All Implemented Interfaces:
AutoCloseable,DelegatingRepositoryConnection,RepositoryConnection
- Direct Known Subclasses:
CachingRepositoryConnection,ContextAwareConnection,DatasetRepositoryConnection,EndpointBase.ManagedRepositoryConnection,InterceptingRepositoryConnectionWrapper,LoggingRepositoryConnection,NotifyingRepositoryConnectionWrapper,PooledRepositoryConnection,TransactionalRepositoryConnection
- Author:
- James Leigh
- See Also:
-
Field Summary
Fields inherited from class org.eclipse.rdf4j.repository.base.AbstractRepositoryConnection
logger -
Constructor Summary
ConstructorsConstructorDescriptionRepositoryConnectionWrapper(Repository repository) RepositoryConnectionWrapper(Repository repository, RepositoryConnection delegate) -
Method Summary
Modifier and TypeMethodDescriptionvoidAdds RDF data from the specified file to a specific contexts in the repository.voidadd(InputStream in, String baseURI, RDFFormat dataFormat, Resource... contexts) Adds RDF data from an InputStream to the repository, optionally to one or more named contexts.voidAdds RDF data from a Reader to the repository, optionally to one or more named contexts.voidAdds the supplied statements to this repository, optionally to one or more named contexts.voidAdds the RDF data that can be found at the specified URL to the repository, optionally to one or more named contexts.<E extends Exception>
voidAdds the supplied statements to this repository, optionally to one or more named contexts.voidAdds a statement with the specified subject, predicate and object to this repository, optionally to one or more named contexts.voidAdds the supplied statement to this repository, optionally to one or more named contexts.protected voidaddWithoutCommit(Resource subject, IRI predicate, Value object, Resource... contexts) voidbegin()Begins a new transaction, requiringRepositoryConnection.commit()orRepositoryConnection.rollback()to be called to end the transaction.voidbegin(IsolationLevel level) Begins a new transaction with the suppliedIsolationLevel, requiringRepositoryConnection.commit()orRepositoryConnection.rollback()to be called to end the transaction.voidbegin(TransactionSetting... settings) Begins a new transaction with the suppliedTransactionSetting, requiringRepositoryConnection.commit()orRepositoryConnection.rollback()to be called to end the transaction.voidRemoves all statements from a specific contexts in the repository.voidRemoves all namespace declarations from the repository.voidclose()Closes the connection, freeing resources.voidcommit()Commits the active transaction.voidexportStatements(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.protected voidexportStatements(RepositoryResult<Statement> stIter, RDFHandler handler) Exports all statements contained in the supplied statement iterator and all relevant namespace information to the supplied RDFHandler.Gets all resources that are used as content identifiers.Retrieves the currenttransaction isolation levelof the connection.getNamespace(String prefix) Gets the namespace that is associated with the specified prefix, if any.Gets all declared namespaces as a RepositoryResult ofNamespaceobjects.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.booleanhasStatement(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.booleanhasStatement(Statement st, boolean includeInferred, Resource... contexts) Checks whether the repository contains the specified statement, optionally in the specified contexts.booleanisActive()Indicates if a transaction is currently active on the connection.booleanDeprecated.protected booleanIf false then the following add methods will calladdWithoutCommit(Resource, IRI, Value, Resource[]).protected booleanIf false then the following has/export/isEmpty methods will callgetStatements(Resource, IRI, Value, boolean, Resource[]).protected booleanIf false then the following remove methods will callremoveWithoutCommit(Resource, IRI, Value, Resource[]).booleanisEmpty()Returns true if this repository does not contain any (explicit) statements.booleanisOpen()Checks whether this connection is open.voidprepare()Checks for an error state in the active transaction that would force the transaction to be rolled back.prepareBooleanQuery(QueryLanguage ql, String query, String baseURI) Prepares queries that return true or false.prepareGraphQuery(QueryLanguage ql, String query, String baseURI) Prepares queries that produce RDF graphs.prepareQuery(QueryLanguage ql, String query, String baseURI) Prepares a query for evaluation on this repository (optional operation).prepareTupleQuery(QueryLanguage ql, String query, String baseURI) Prepares a query that produces sets of value tuples.prepareUpdate(QueryLanguage ql, String update, String baseURI) Prepares an Update operation.voidRemoves the supplied statements from the specified contexts in this repository.<E extends Exception>
voidRemoves the supplied statements from a specific context in this repository, ignoring any context information carried by the statements themselves.voidRemoves the statement(s) with the specified subject, predicate and object from the repository, optionally restricted to the specified contexts.voidRemoves the supplied statement from the specified contexts in the repository.voidremoveNamespace(String prefix) Removes a namespace declaration by removing the association between a prefix and a namespace name.protected voidremoveWithoutCommit(Resource subject, IRI predicate, Value object, Resource... contexts) voidrollback()Rolls back all updates in the active transaction.voidsetAutoCommit(boolean autoCommit) Deprecated.usebegin()instead.voidsetDelegate(RepositoryConnection delegate) voidsetIsolationLevel(IsolationLevel level) Sets the transaction isolation level for the next transaction(s) on this connection.voidsetNamespace(String prefix, String name) Sets the prefix for a namespace.voidsetParserConfig(ParserConfig parserConfig) Set the parser configuration this connection should use for RDFParser-based operations.longReturns the number of (explicit) statements that are in the specified contexts in this repository.Methods inherited from class org.eclipse.rdf4j.repository.base.AbstractRepositoryConnection
addWithoutCommit, conditionalCommit, conditionalRollback, export, getParserConfig, getRepository, getValueFactory, prepareBooleanQuery, prepareGraphQuery, prepareQuery, prepareTupleQuery, prepareUpdate, removeWithoutCommit, startLocalTransactionMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.eclipse.rdf4j.repository.RepositoryConnection
add, add, add, add, add, add, add, add, export, getParserConfig, getRepository, getStatements, getValueFactory, prepareBooleanQuery, prepareBooleanQuery, prepareGraphQuery, prepareGraphQuery, prepareQuery, prepareQuery, prepareTupleQuery, prepareTupleQuery, prepareUpdate, prepareUpdate, remove, remove
-
Constructor Details
-
RepositoryConnectionWrapper
-
RepositoryConnectionWrapper
-
-
Method Details
-
getDelegate
- Specified by:
getDelegatein interfaceDelegatingRepositoryConnection
-
setDelegate
- Specified by:
setDelegatein interfaceDelegatingRepositoryConnection
-
isDelegatingAdd
If false then the following add methods will calladdWithoutCommit(Resource, IRI, Value, Resource[]).- Returns:
trueto delegate add methods,falseto calladdWithoutCommit(Resource, IRI, Value, Resource[])- Throws:
RepositoryException- See Also:
-
isDelegatingRead
If false then the following has/export/isEmpty methods will callgetStatements(Resource, IRI, Value, boolean, Resource[]).- Returns:
trueto delegate read methods,falseto callgetStatements(Resource, IRI, Value, boolean, Resource[])- Throws:
RepositoryException- See Also:
-
isDelegatingRemove
If false then the following remove methods will callremoveWithoutCommit(Resource, IRI, Value, Resource[]).- Returns:
trueto delegate remove methods,falseto callremoveWithoutCommit(Resource, IRI, Value, Resource...)- Throws:
RepositoryException- See Also:
-
setParserConfig
Description copied from interface:RepositoryConnectionSet the parser configuration this connection should use for RDFParser-based operations.- Specified by:
setParserConfigin interfaceRepositoryConnection- Overrides:
setParserConfigin classAbstractRepositoryConnection- Parameters:
parserConfig- a Rio RDF Parser configuration.
-
add
public void add(File file, String baseURI, RDFFormat dataFormat, Resource... contexts) throws IOException, RDFParseException, RepositoryException Description copied from interface:RepositoryConnectionAdds RDF data from the specified file to a specific contexts in the repository.- Specified by:
addin interfaceRepositoryConnection- Overrides:
addin classAbstractRepositoryConnection- Parameters:
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 offile.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.- Throws:
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.
-
add
public void add(InputStream in, String baseURI, RDFFormat dataFormat, Resource... contexts) throws IOException, RDFParseException, RepositoryException Description copied from interface:RepositoryConnectionAdds RDF data from an InputStream to the repository, optionally to one or more named contexts.- Specified by:
addin interfaceRepositoryConnection- Overrides:
addin classAbstractRepositoryConnection- Parameters:
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 benull.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.- Throws:
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.
-
add
public void add(Iterable<? extends Statement> statements, Resource... contexts) throws RepositoryException Description copied from interface:RepositoryConnectionAdds the supplied statements to this repository, optionally to one or more named contexts.- Specified by:
addin interfaceRepositoryConnection- Overrides:
addin classAbstractRepositoryConnection- Parameters:
statements- The statements that should be added. In case the iterable isNamespaceAwareand the target repository supports it, the iterable's namespaces are also added to the repository, without overwriting existing ones.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.- Throws:
RepositoryException- If the statements could not be added to the repository, for example because the repository is not writable.
-
add
public <E extends Exception> void add(Iteration<? extends Statement, E> statementIter, Resource... contexts) throws RepositoryException, EDescription copied from interface:RepositoryConnectionAdds the supplied statements to this repository, optionally to one or more named contexts.- Specified by:
addin interfaceRepositoryConnection- Overrides:
addin classAbstractRepositoryConnection- Parameters:
statementIter- The statements to add. In case the iteration is aCloseableIteration, 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.- Throws:
RepositoryException- If the statements could not be added to the repository, for example because the repository is not writable.E extends Exception
-
add
public void add(Reader reader, String baseURI, RDFFormat dataFormat, Resource... contexts) throws IOException, RDFParseException, RepositoryException Description copied from interface:RepositoryConnectionAdds RDF data from a Reader to the repository, optionally to one or more named contexts. Note: using a Reader to upload byte-based data means that you have to be careful not to destroy the data's character encoding by enforcing a default character encoding upon the bytes. If possible, adding such data using an InputStream is to be preferred.- Specified by:
addin interfaceRepositoryConnection- Overrides:
addin classAbstractRepositoryConnection- Parameters:
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 benull.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.- Throws:
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.
-
add
public void add(Resource subject, IRI predicate, Value object, Resource... contexts) throws RepositoryException Description copied from interface:RepositoryConnectionAdds a statement with the specified subject, predicate and object to this repository, optionally to one or more named contexts.- Specified by:
addin interfaceRepositoryConnection- Overrides:
addin classAbstractRepositoryConnection- Parameters:
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.- Throws:
RepositoryException- If the data could not be added to the repository, for example because the repository is not writable.
-
add
Description copied from interface:RepositoryConnectionAdds the supplied statement to this repository, optionally to one or more named contexts.- Specified by:
addin interfaceRepositoryConnection- Overrides:
addin classAbstractRepositoryConnection- Parameters:
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.- Throws:
RepositoryException- If the statement could not be added to the repository, for example because the repository is not writable.
-
add
public void add(URL url, String baseURI, RDFFormat dataFormat, Resource... contexts) throws IOException, RDFParseException, RepositoryException Description copied from interface:RepositoryConnectionAdds the RDF data that can be found at the specified URL to the repository, optionally to one or more named contexts.- Specified by:
addin interfaceRepositoryConnection- Overrides:
addin classAbstractRepositoryConnection- Parameters:
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 ofurl.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.- Throws:
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.
-
clear
Description copied from interface:RepositoryConnectionRemoves all statements from a specific contexts in the repository.- Specified by:
clearin interfaceRepositoryConnection- Overrides:
clearin classAbstractRepositoryConnection- Parameters:
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.- Throws:
RepositoryException- If the statements could not be removed from the repository, for example because the repository is not writable.
-
close
Description copied from interface:RepositoryConnectionCloses the connection, freeing resources. If atransactionisactiveon the connection, all non-committed operations will be lost by actively callingRepositoryConnection.rollback()on any active transactions.Implementation note: All implementations must override this method if they have any resources that they need to free.
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceRepositoryConnection- Overrides:
closein classAbstractRepositoryConnection- Throws:
RepositoryException- If the connection could not be closed.
-
prepare
Description copied from interface:RepositoryConnectionChecks for an error state in the active transaction that would force the transaction to be rolled back. This is an optional call; calling or not calling this method should have no effect on the outcome ofRepositoryConnection.commit()orRepositoryConnection.rollback(). A call to this method must be followed by (in the same thread) with a call toRepositoryConnection.prepare(),RepositoryConnection.commit(),RepositoryConnection.rollback(), orRepositoryConnection.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 toRepositoryConnection.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 toRepositoryConnection.commit().- Specified by:
preparein interfaceRepositoryConnection- Throws:
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.- See Also:
-
commit
Description copied from interface:RepositoryConnectionCommits the active transaction. This operation ends the active transaction.- Specified by:
commitin interfaceRepositoryConnection- Throws:
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.- See Also:
-
exportStatements
public void exportStatements(Resource subj, IRI pred, Value obj, boolean includeInferred, RDFHandler handler, Resource... contexts) throws RepositoryException, RDFHandlerException Description copied from interface:RepositoryConnectionExports all statements with a specific subject, predicate and/or object from the repository, optionally from the specified contexts. This method supplies the RDFHandler with all namespace declarations available in the repository.- Specified by:
exportStatementsin interfaceRepositoryConnection- Parameters:
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.- Throws:
RDFHandlerException- If the handler encounters an unrecoverable error.RepositoryException
-
getContextIDs
Description copied from interface:RepositoryConnectionGets all resources that are used as content identifiers. Care should be taken that the returnedRepositoryResultis closed to free any resources that it keeps hold of.- Specified by:
getContextIDsin interfaceRepositoryConnection- Returns:
- a RepositoryResult object containing Resources that are used as context identifiers.
- Throws:
RepositoryException
-
getNamespace
Description copied from interface:RepositoryConnectionGets the namespace that is associated with the specified prefix, if any.- Specified by:
getNamespacein interfaceRepositoryConnection- Specified by:
getNamespacein classAbstractRepositoryConnection- Parameters:
prefix- A namespace prefix, or an empty string in case of the default namespace.- Returns:
- The namespace name that is associated with the specified prefix, or null if there is no such namespace.
- Throws:
RepositoryException- If the namespace could not be read from the repository.
-
getNamespaces
Description copied from interface:RepositoryConnectionGets all declared namespaces as a RepositoryResult ofNamespaceobjects. Each Namespace object consists of a prefix and a namespace name.- Specified by:
getNamespacesin interfaceRepositoryConnection- Returns:
- A RepositoryResult containing Namespace objects. Care should be taken to close the RepositoryResult after use.
- Throws:
RepositoryException- If the namespaces could not be read from the repository.
-
getStatements
public RepositoryResult<Statement> getStatements(Resource subj, IRI pred, Value obj, boolean includeInferred, Resource... contexts) throws RepositoryException Description copied from interface:RepositoryConnectionGets all statements with a specific subject, predicate and/or object from the repository. The result is optionally restricted to the specified set of named contexts.- Specified by:
getStatementsin interfaceRepositoryConnection- Parameters:
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.- Returns:
- The statements matching the specified pattern. The result object is a
RepositoryResultobject, a lazy Iterator-like object containingStatements and optionally throwing aRepositoryExceptionwhen an error when a problem occurs during retrieval. - Throws:
RepositoryException
-
hasStatement
public boolean hasStatement(Resource subj, IRI pred, Value obj, boolean includeInferred, Resource... contexts) throws RepositoryException Description copied from interface:RepositoryConnectionChecks whether the repository contains statements with a specific subject, predicate and/or object, optionally in the specified contexts.- Specified by:
hasStatementin interfaceRepositoryConnection- Overrides:
hasStatementin classAbstractRepositoryConnection- Parameters:
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.- Returns:
- true If a matching statement is in the repository in the specified context, false otherwise.
- Throws:
RepositoryException
-
hasStatement
public boolean hasStatement(Statement st, boolean includeInferred, Resource... contexts) throws RepositoryException Description copied from interface:RepositoryConnectionChecks whether the repository contains the specified statement, optionally in the specified contexts.- Specified by:
hasStatementin interfaceRepositoryConnection- Overrides:
hasStatementin classAbstractRepositoryConnection- Parameters:
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.- Returns:
- true If the repository contains the specified statement, false otherwise.
- Throws:
RepositoryException
-
isAutoCommit
Deprecated.UseisActive()instead.Description copied from interface:RepositoryConnectionIndicates if the connection is in auto-commit mode. The connection is in auto-commit mode when no transaction is currently active, that is, when:RepositoryConnection.begin()has not been called or;RepositoryConnection.commit()orRepositoryConnection.rollback()have been called to finish the transaction.
- Specified by:
isAutoCommitin interfaceRepositoryConnection- Overrides:
isAutoCommitin classAbstractRepositoryConnection- Throws:
RepositoryException- If a repository access error occurs.
-
isActive
Description copied from interface:RepositoryConnectionIndicates if a transaction is currently active on the connection. A transaction is active ifRepositoryConnection.begin()has been called, and becomes inactive afterRepositoryConnection.commit()orRepositoryConnection.rollback()has been called.- Specified by:
isActivein interfaceRepositoryConnection- Returns:
trueiff a transaction is active,falseiff no transaction is active.- Throws:
UnknownTransactionStateException- if the transaction state can not be determined. This can happen for instance when communication with a repository fails or times out.RepositoryException
-
isEmpty
Description copied from interface:RepositoryConnectionReturns true if this repository does not contain any (explicit) statements.- Specified by:
isEmptyin interfaceRepositoryConnection- Overrides:
isEmptyin classAbstractRepositoryConnection- Returns:
- true if this repository is empty, false otherwise.
- Throws:
RepositoryException- If the repository could not be checked to be empty.
-
isOpen
Description copied from interface:RepositoryConnectionChecks whether this connection is open. A connection is open from the moment it is created until it is closed.- Specified by:
isOpenin interfaceRepositoryConnection- Overrides:
isOpenin classAbstractRepositoryConnection- Throws:
RepositoryException- See Also:
-
prepareGraphQuery
public GraphQuery prepareGraphQuery(QueryLanguage ql, String query, String baseURI) throws MalformedQueryException, RepositoryException Description copied from interface:RepositoryConnectionPrepares queries that produce RDF graphs.- Specified by:
prepareGraphQueryin interfaceRepositoryConnection- Parameters:
ql- Thequery languagein 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.- Returns:
- a
GraphQueryready to be evaluated on thisRepositoryConnection. - Throws:
MalformedQueryException- If the supplied query is malformed.RepositoryException
-
prepareQuery
public Query prepareQuery(QueryLanguage ql, String query, String baseURI) throws MalformedQueryException, RepositoryException Description copied from interface:RepositoryConnectionPrepares a query for evaluation on this repository (optional operation).If you already know the type of query, using the more specific
RepositoryConnection.prepareTupleQuery(java.lang.String),RepositoryConnection.prepareGraphQuery(java.lang.String)orRepositoryConnection.prepareBooleanQuery(java.lang.String)is likely to be more efficient.- Specified by:
prepareQueryin interfaceRepositoryConnection- Parameters:
ql- Thequery languagein 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.- Returns:
- A query ready to be evaluated on this repository.
- Throws:
MalformedQueryException- If the supplied query is malformed.RepositoryException
-
prepareTupleQuery
public TupleQuery prepareTupleQuery(QueryLanguage ql, String query, String baseURI) throws MalformedQueryException, RepositoryException Description copied from interface:RepositoryConnectionPrepares a query that produces sets of value tuples.- Specified by:
prepareTupleQueryin interfaceRepositoryConnection- Parameters:
ql- Thequery languagein 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.- Returns:
- a
TupleQueryready to be evaluated on thisRepositoryConnection. - Throws:
MalformedQueryException- If the supplied query is malformed.RepositoryException
-
prepareBooleanQuery
public BooleanQuery prepareBooleanQuery(QueryLanguage ql, String query, String baseURI) throws MalformedQueryException, RepositoryException Description copied from interface:RepositoryConnectionPrepares queries that return true or false.- Specified by:
prepareBooleanQueryin interfaceRepositoryConnection- Parameters:
ql- Thequery languagein 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.- Returns:
- a
BooleanQueryready to be evaluated on thisRepositoryConnection. - Throws:
MalformedQueryException- If the supplied query is malformed.RepositoryException
-
prepareUpdate
public Update prepareUpdate(QueryLanguage ql, String update, String baseURI) throws MalformedQueryException, RepositoryException Description copied from interface:RepositoryConnectionPrepares an Update operation.- Specified by:
prepareUpdatein interfaceRepositoryConnection- Parameters:
ql- Thequery languagein 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.- Returns:
- a
Updateready to be executed on thisRepositoryConnection. - Throws:
MalformedQueryException- If the supplied update operation string is malformed.RepositoryException
-
remove
public void remove(Iterable<? extends Statement> statements, Resource... contexts) throws RepositoryException Description copied from interface:RepositoryConnectionRemoves the supplied statements from the specified contexts in this repository.- Specified by:
removein interfaceRepositoryConnection- Overrides:
removein classAbstractRepositoryConnection- Parameters:
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.- Throws:
RepositoryException- If the statements could not be added to the repository, for example because the repository is not writable.
-
remove
public <E extends Exception> void remove(Iteration<? extends Statement, E> statementIter, Resource... contexts) throws RepositoryException, EDescription copied from interface:RepositoryConnectionRemoves the supplied statements from a specific context in this repository, ignoring any context information carried by the statements themselves.- Specified by:
removein interfaceRepositoryConnection- Overrides:
removein classAbstractRepositoryConnection- Parameters:
statementIter- The statements to remove. In case the iteration is aCloseableIteration, 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.- Throws:
RepositoryException- If the statements could not be removed from the repository, for example because the repository is not writable.E extends Exception
-
remove
public void remove(Resource subject, IRI predicate, Value object, Resource... contexts) throws RepositoryException Description copied from interface:RepositoryConnectionRemoves the statement(s) with the specified subject, predicate and object from the repository, optionally restricted to the specified contexts.- Specified by:
removein interfaceRepositoryConnection- Overrides:
removein classAbstractRepositoryConnection- Parameters:
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.- Throws:
RepositoryException- If the statement(s) could not be removed from the repository, for example because the repository is not writable.
-
remove
Description copied from interface:RepositoryConnectionRemoves the supplied statement from the specified contexts in the repository.- Specified by:
removein interfaceRepositoryConnection- Overrides:
removein classAbstractRepositoryConnection- Parameters:
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.- Throws:
RepositoryException- If the statement could not be removed from the repository, for example because the repository is not writable.
-
removeNamespace
Description copied from interface:RepositoryConnectionRemoves a namespace declaration by removing the association between a prefix and a namespace name.- Specified by:
removeNamespacein interfaceRepositoryConnection- Parameters:
prefix- The namespace prefix, or an empty string in case of the default namespace.- Throws:
RepositoryException- If the namespace prefix could not be removed.
-
clearNamespaces
Description copied from interface:RepositoryConnectionRemoves all namespace declarations from the repository.- Specified by:
clearNamespacesin interfaceRepositoryConnection- Throws:
RepositoryException- If the namespace declarations could not be removed.
-
rollback
Description copied from interface:RepositoryConnectionRolls back all updates in the active transaction. This operation ends the active transaction.- Specified by:
rollbackin interfaceRepositoryConnection- Throws:
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.- See Also:
-
setAutoCommit
Deprecated.usebegin()instead.Description copied from interface:RepositoryConnectionEnables or disables auto-commit mode for the connection. If a connection is in auto-commit mode, then all updates will be executed and committed as individual transactions. Otherwise, the updates are grouped into transactions that are terminated by a call to eitherRepositoryConnection.commit()orRepositoryConnection.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.
- Specified by:
setAutoCommitin interfaceRepositoryConnection- Overrides:
setAutoCommitin classAbstractRepositoryConnection- Throws:
RepositoryException- In case the mode switch failed, for example because a currently active transaction failed to commit.- See Also:
-
setNamespace
Description copied from interface:RepositoryConnectionSets the prefix for a namespace.- Specified by:
setNamespacein interfaceRepositoryConnection- Specified by:
setNamespacein classAbstractRepositoryConnection- Parameters:
prefix- The new prefix, or an empty string in case of the default namespace.name- The namespace name that the prefix maps to.- Throws:
RepositoryException- If the namespace could not be set in the repository, for example because the repository is not writable.
-
size
Description copied from interface:RepositoryConnectionReturns the number of (explicit) statements that are in the specified contexts in this repository.- Specified by:
sizein interfaceRepositoryConnection- Parameters:
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.- Returns:
- The number of explicit statements from the specified contexts in this repository.
- Throws:
RepositoryException
-
addWithoutCommit
protected void addWithoutCommit(Resource subject, IRI predicate, Value object, Resource... contexts) throws RepositoryException - Specified by:
addWithoutCommitin classAbstractRepositoryConnection- Throws:
RepositoryException
-
removeWithoutCommit
protected void removeWithoutCommit(Resource subject, IRI predicate, Value object, Resource... contexts) throws RepositoryException - Specified by:
removeWithoutCommitin classAbstractRepositoryConnection- Throws:
RepositoryException
-
exportStatements
protected void exportStatements(RepositoryResult<Statement> stIter, RDFHandler handler) throws RepositoryException, RDFHandlerException Exports all statements contained in the supplied statement iterator and all relevant namespace information to the supplied RDFHandler. -
begin
Description copied from interface:RepositoryConnectionBegins a new transaction, requiringRepositoryConnection.commit()orRepositoryConnection.rollback()to be called to end the transaction. The transaction will use the currently setisolation levelfor this connection.- Specified by:
beginin interfaceRepositoryConnection- Throws:
RepositoryException- If the connection could not start the transaction. One possible reason this may happen is if a transaction is alreadyactiveon the current connection.- See Also:
-
begin
Description copied from interface:RepositoryConnectionBegins a new transaction with the suppliedIsolationLevel, requiringRepositoryConnection.commit()orRepositoryConnection.rollback()to be called to end the transaction.- Specified by:
beginin interfaceRepositoryConnection- Overrides:
beginin classAbstractRepositoryConnection- Parameters:
level- TheIsolationLevelat which this transaction will operate. If set tonullthe 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 supportedcompatible levelinstead.- Throws:
RepositoryException- If the connection could not start the transaction. Possible reasons this may happen are:- a transaction is already
activeon the current connection. - the specified
IsolationLevelis not supported by the store, and no compatible level could be found.
- a transaction is already
- See Also:
-
begin
Description copied from interface:RepositoryConnectionBegins a new transaction with the suppliedTransactionSetting, requiringRepositoryConnection.commit()orRepositoryConnection.rollback()to be called to end the transaction.- Specified by:
beginin interfaceRepositoryConnection- Parameters:
settings- TheTransactionSetting(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.- See Also:
-
setIsolationLevel
Description copied from interface:RepositoryConnectionSets the transaction isolation level for the next transaction(s) on this connection. If the level is set to a value that is not supported by the underlying repository, this method will still succeed but a subsequent call toRepositoryConnection.begin()will result in an exception.- Specified by:
setIsolationLevelin interfaceRepositoryConnection- Overrides:
setIsolationLevelin classAbstractRepositoryConnection- Parameters:
level- the transaction isolation level to set.- Throws:
IllegalStateException- if the method is called while a transaction is already active.
-
getIsolationLevel
Description copied from interface:RepositoryConnectionRetrieves the currenttransaction isolation levelof the connection.- Specified by:
getIsolationLevelin interfaceRepositoryConnection- Overrides:
getIsolationLevelin classAbstractRepositoryConnection- Returns:
- the current transaction isolation level.
-
isActive()instead.