Class HTTPRepositoryConnection
- java.lang.Object
-
- org.eclipse.rdf4j.repository.base.AbstractRepositoryConnection
-
- org.eclipse.rdf4j.repository.http.HTTPRepositoryConnection
-
- All Implemented Interfaces:
java.lang.AutoCloseable
,HttpClientDependent
,RepositoryConnection
class HTTPRepositoryConnection extends AbstractRepositoryConnection implements HttpClientDependent
RepositoryConnection that communicates with a server using the HTTP protocol. Methods in this class may throw the specific RepositoryException subclasses UnautorizedException and NotAllowedException, the semantics of which are defined by the HTTP protocol.- See Also:
UnauthorizedException
,org.eclipse.rdf4j.http.protocol.NotAllowedException
-
-
Field Summary
Fields Modifier and Type Field Description private boolean
active
private RDF4JProtocolSession
client
private Model
toAdd
private Model
toRemove
private java.util.List<TransactionOperation>
txn
-
Fields inherited from class org.eclipse.rdf4j.repository.base.AbstractRepositoryConnection
logger
-
-
Constructor Summary
Constructors Constructor Description HTTPRepositoryConnection(HTTPRepository repository, RDF4JProtocolSession client)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(java.io.File file, java.lang.String baseURI, RDFFormat dataFormat, Resource... contexts)
Adds RDF data from the specified file to a specific contexts in the repository.void
add(java.io.InputStream in, java.lang.String baseURI, RDFFormat dataFormat, Resource... contexts)
Adds RDF data from an InputStream to the repository, optionally to one or more named contexts.void
add(java.io.Reader reader, java.lang.String baseURI, RDFFormat dataFormat, Resource... contexts)
Adds RDF data from a Reader to the repository, optionally to one or more named contexts.void
add(java.net.URL url, java.lang.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
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.private void
addModel(Model m)
protected void
addWithoutCommit(Resource subject, IRI predicate, Value object, Resource... contexts)
void
begin()
Begins a new transaction, requiringRepositoryConnection.commit()
orRepositoryConnection.rollback()
to be called to end the transaction.void
begin(TransactionSetting... settings)
Begins a new transaction with the suppliedTransactionSetting
, requiringRepositoryConnection.commit()
orRepositoryConnection.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 <E> RepositoryResult<E>
createRepositoryResult(java.lang.Iterable<? extends E> elements)
Creates a RepositoryResult for the supplied element set.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.protected void
flushTransactionState(Protocol.Action action)
private RDFFormat
getBackwardCompatibleFormat(RDFFormat format)
RepositoryResult<Resource>
getContextIDs()
Gets all resources that are used as content identifiers.org.apache.http.client.HttpClient
getHttpClient()
HttpClient
that has been assigned or has been used by this object.java.lang.String
getNamespace(java.lang.String prefix)
Gets the namespace that is associated with the specified prefix, if any.RepositoryResult<Namespace>
getNamespaces()
Gets all declared namespaces as a RepositoryResult ofNamespace
objects.HTTPRepository
getRepository()
Returns the Repository object to which this connection belongs.protected RDF4JProtocolSession
getSesameSession()
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
isActive()
Indicates if a transaction is currently active on the connection.void
prepare()
Checks for an error state in the active transaction that would force the transaction to be rolled back.BooleanQuery
prepareBooleanQuery(QueryLanguage ql, java.lang.String queryString, java.lang.String baseURI)
Prepares queries that return true or false.GraphQuery
prepareGraphQuery(QueryLanguage ql, java.lang.String queryString, java.lang.String baseURI)
Prepares queries that produce RDF graphs.Query
prepareQuery(QueryLanguage ql, java.lang.String queryString, java.lang.String baseURI)
Prepares a for evaluation on this repository.TupleQuery
prepareTupleQuery(QueryLanguage ql, java.lang.String queryString, java.lang.String baseURI)
Prepares a query that produces sets of value tuples.Update
prepareUpdate(QueryLanguage ql, java.lang.String update, java.lang.String baseURI)
Prepares an Update operation.private void
removeModel(Model m)
void
removeNamespace(java.lang.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.protected void
scheduleUpdate(HTTPUpdate update)
void
setHttpClient(org.apache.http.client.HttpClient httpClient)
Assign anHttpClient
that this object should use.void
setNamespace(java.lang.String prefix, java.lang.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.protected void
verifyIsOpen()
Verifies that the connection is open, throws aStoreException
if it isn't.protected void
verifyNotTxnActive(java.lang.String msg)
Verifies that the connection does not have an active transaction, throws aRepositoryException
if it has.protected void
verifyTxnActive()
Verifies that the connection has an active transaction, throws aStoreException
if it hasn't.-
Methods inherited from class org.eclipse.rdf4j.repository.base.AbstractRepositoryConnection
add, add, addWithoutCommit, begin, conditionalCommit, conditionalRollback, export, getIsolationLevel, getParserConfig, getValueFactory, hasStatement, hasStatement, isAutoCommit, isEmpty, isOpen, prepareBooleanQuery, prepareGraphQuery, prepareQuery, prepareTupleQuery, prepareUpdate, remove, remove, remove, remove, removeWithoutCommit, setAutoCommit, setIsolationLevel, startLocalTransaction
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.eclipse.rdf4j.repository.RepositoryConnection
add, add, add, add, add, add, add, add, getStatements, prepareBooleanQuery, prepareGraphQuery, prepareQuery, prepareTupleQuery, prepareUpdate, remove, remove
-
-
-
-
Field Detail
-
txn
private final java.util.List<TransactionOperation> txn
-
client
private final RDF4JProtocolSession client
-
active
private boolean active
-
toAdd
private Model toAdd
-
toRemove
private Model toRemove
-
-
Constructor Detail
-
HTTPRepositoryConnection
public HTTPRepositoryConnection(HTTPRepository repository, RDF4JProtocolSession client)
-
-
Method Detail
-
getHttpClient
public org.apache.http.client.HttpClient getHttpClient()
Description copied from interface:HttpClientDependent
HttpClient
that has been assigned or has been used by this object. The life cycle might not be or might be tied to this object, depending on whetherHttpClient
was passed to or created by this object respectively.- Specified by:
getHttpClient
in interfaceHttpClientDependent
- Returns:
- an
HttpClient
instance or null
-
setHttpClient
public void setHttpClient(org.apache.http.client.HttpClient httpClient)
Description copied from interface:HttpClientDependent
Assign anHttpClient
that this object should use. The life cycle of the givenHttpClient
is independent of this object. Closing or shutting down this object does not have any impact on the given client. Callers must ensure that the given client is properly closed elsewhere.- Specified by:
setHttpClient
in interfaceHttpClientDependent
-
setParserConfig
public void setParserConfig(ParserConfig parserConfig)
Description copied from interface:RepositoryConnection
Set the parser configuration this connection should use for RDFParser-based operations.- Specified by:
setParserConfig
in interfaceRepositoryConnection
- Overrides:
setParserConfig
in classAbstractRepositoryConnection
- Parameters:
parserConfig
- a Rio RDF Parser configuration.
-
getRepository
public HTTPRepository getRepository()
Description copied from interface:RepositoryConnection
Returns the Repository object to which this connection belongs.- Specified by:
getRepository
in interfaceRepositoryConnection
- Overrides:
getRepository
in classAbstractRepositoryConnection
-
begin
public void begin() throws RepositoryException
Description copied from interface:RepositoryConnection
Begins a new transaction, requiringRepositoryConnection.commit()
orRepositoryConnection.rollback()
to be called to end the transaction. The transaction will use the currently setisolation level
for this connection.- Specified by:
begin
in interfaceRepositoryConnection
- Throws:
RepositoryException
- If the connection could not start the transaction. One possible reason this may happen is if a transaction is alreadyactive
on the current connection.- See Also:
RepositoryConnection.begin(IsolationLevel)
,RepositoryConnection.isActive()
,RepositoryConnection.commit()
,RepositoryConnection.rollback()
,RepositoryConnection.setIsolationLevel(IsolationLevel)
-
begin
public void begin(TransactionSetting... settings)
Description copied from interface:RepositoryConnection
Begins a new transaction with the suppliedTransactionSetting
, requiringRepositoryConnection.commit()
orRepositoryConnection.rollback()
to be called to end the transaction.- Specified by:
begin
in 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:
RepositoryConnection.begin()
,RepositoryConnection.isActive()
,RepositoryConnection.commit()
,RepositoryConnection.rollback()
,RepositoryConnection.setIsolationLevel(IsolationLevel)
-
prepareQuery
public Query prepareQuery(QueryLanguage ql, java.lang.String queryString, java.lang.String baseURI)
Prepares a for evaluation on this repository. Note that the preferred way of preparing queries is to use the more specificprepareTupleQuery(QueryLanguage, String, String)
,prepareBooleanQuery(QueryLanguage, String, String)
, orprepareGraphQuery(QueryLanguage, String, String)
methods instead.- Specified by:
prepareQuery
in interfaceRepositoryConnection
- Parameters:
ql
- Thequery language
in which the query is formulated.queryString
- 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:
java.lang.UnsupportedOperationException
- if the method is not supported for the supplied query language.
-
prepareTupleQuery
public TupleQuery prepareTupleQuery(QueryLanguage ql, java.lang.String queryString, java.lang.String baseURI)
Description copied from interface:RepositoryConnection
Prepares a query that produces sets of value tuples.- Specified by:
prepareTupleQuery
in interfaceRepositoryConnection
- Parameters:
ql
- Thequery language
in which the query is formulated.queryString
- 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
TupleQuery
ready to be evaluated on thisRepositoryConnection
.
-
prepareGraphQuery
public GraphQuery prepareGraphQuery(QueryLanguage ql, java.lang.String queryString, java.lang.String baseURI)
Description copied from interface:RepositoryConnection
Prepares queries that produce RDF graphs.- Specified by:
prepareGraphQuery
in interfaceRepositoryConnection
- Parameters:
ql
- Thequery language
in which the query is formulated.queryString
- 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
GraphQuery
ready to be evaluated on thisRepositoryConnection
.
-
prepareBooleanQuery
public BooleanQuery prepareBooleanQuery(QueryLanguage ql, java.lang.String queryString, java.lang.String baseURI)
Description copied from interface:RepositoryConnection
Prepares queries that return true or false.- Specified by:
prepareBooleanQuery
in interfaceRepositoryConnection
- Parameters:
ql
- Thequery language
in which the query is formulated.queryString
- 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
BooleanQuery
ready to be evaluated on thisRepositoryConnection
.
-
getContextIDs
public RepositoryResult<Resource> getContextIDs() throws RepositoryException
Description copied from interface:RepositoryConnection
Gets all resources that are used as content identifiers. Care should be taken that the returnedRepositoryResult
is closed to free any resources that it keeps hold of.- Specified by:
getContextIDs
in interfaceRepositoryConnection
- Returns:
- a RepositoryResult object containing Resources that are used as context identifiers.
- Throws:
RepositoryException
-
getStatements
public RepositoryResult<Statement> getStatements(Resource subj, IRI pred, Value obj, boolean includeInferred, Resource... contexts) throws RepositoryException
Description copied from interface:RepositoryConnection
Gets 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:
getStatements
in 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
RepositoryResult
object, a lazy Iterator-like object containingStatement
s and optionally throwing aRepositoryException
when an error when a problem occurs during retrieval. - Throws:
RepositoryException
-
exportStatements
public void exportStatements(Resource subj, IRI pred, Value obj, boolean includeInferred, RDFHandler handler, Resource... contexts) throws RDFHandlerException, RepositoryException
Description copied from interface:RepositoryConnection
Exports 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:
exportStatements
in 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
-
size
public long size(Resource... contexts) throws RepositoryException
Description copied from interface:RepositoryConnection
Returns the number of (explicit) statements that are in the specified contexts in this repository.- Specified by:
size
in 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
-
prepare
public void prepare() throws RepositoryException
Description copied from interface:RepositoryConnection
Checks 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:
prepare
in 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:
RepositoryConnection.commit()
,RepositoryConnection.begin()
,RepositoryConnection.rollback()
-
commit
public void commit() throws RepositoryException
Description copied from interface:RepositoryConnection
Commits the active transaction. This operation ends the active transaction.- Specified by:
commit
in 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:
RepositoryConnection.isActive()
,RepositoryConnection.begin()
,RepositoryConnection.rollback()
,RepositoryConnection.prepare()
-
rollback
public void rollback() throws RepositoryException
Description copied from interface:RepositoryConnection
Rolls back all updates in the active transaction. This operation ends the active transaction.- Specified by:
rollback
in 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:
RepositoryConnection.isActive()
,RepositoryConnection.begin()
,RepositoryConnection.commit()
-
close
public void close() throws RepositoryException
Description copied from interface:RepositoryConnection
Closes the connection, freeing resources. If atransaction
isactive
on 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:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfaceRepositoryConnection
- Overrides:
close
in classAbstractRepositoryConnection
- Throws:
RepositoryException
- If the connection could not be closed.
-
add
public void add(java.io.File file, java.lang.String baseURI, RDFFormat dataFormat, Resource... contexts) throws java.io.IOException, RDFParseException, RepositoryException
Description copied from interface:RepositoryConnection
Adds RDF data from the specified file to a specific contexts in the repository.- Specified by:
add
in interfaceRepositoryConnection
- Overrides:
add
in 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:
java.io.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(java.net.URL url, java.lang.String baseURI, RDFFormat dataFormat, Resource... contexts) throws java.io.IOException, RDFParseException, RepositoryException
Description copied from interface:RepositoryConnection
Adds the RDF data that can be found at the specified URL to the repository, optionally to one or more named contexts.- Specified by:
add
in interfaceRepositoryConnection
- Overrides:
add
in 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:
java.io.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.
-
add
public void add(java.io.InputStream in, java.lang.String baseURI, RDFFormat dataFormat, Resource... contexts) throws java.io.IOException, RDFParseException, RepositoryException
Description copied from interface:RepositoryConnection
Adds RDF data from an InputStream to the repository, optionally to one or more named contexts.- Specified by:
add
in interfaceRepositoryConnection
- Overrides:
add
in 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:
java.io.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(java.io.Reader reader, java.lang.String baseURI, RDFFormat dataFormat, Resource... contexts) throws java.io.IOException, RDFParseException, RepositoryException
Description copied from interface:RepositoryConnection
Adds 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:
add
in interfaceRepositoryConnection
- Overrides:
add
in 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:
java.io.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(Statement st, Resource... contexts) throws RepositoryException
Description copied from interface:RepositoryConnection
Adds the supplied statement to this repository, optionally to one or more named contexts.- Specified by:
add
in interfaceRepositoryConnection
- Overrides:
add
in 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(Resource subject, IRI predicate, Value object, Resource... contexts) throws RepositoryException
Description copied from interface:RepositoryConnection
Adds a statement with the specified subject, predicate and object to this repository, optionally to one or more named contexts.- Specified by:
add
in interfaceRepositoryConnection
- Overrides:
add
in 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.
-
addWithoutCommit
protected void addWithoutCommit(Resource subject, IRI predicate, Value object, Resource... contexts) throws RepositoryException
- Specified by:
addWithoutCommit
in classAbstractRepositoryConnection
- Throws:
RepositoryException
-
addModel
private void addModel(Model m) throws RepositoryException
- Throws:
RepositoryException
-
removeModel
private void removeModel(Model m) throws RepositoryException
- Throws:
RepositoryException
-
flushTransactionState
protected void flushTransactionState(Protocol.Action action) throws RepositoryException
- Throws:
RepositoryException
-
removeWithoutCommit
protected void removeWithoutCommit(Resource subject, IRI predicate, Value object, Resource... contexts) throws RepositoryException
- Specified by:
removeWithoutCommit
in classAbstractRepositoryConnection
- Throws:
RepositoryException
-
clear
public void clear(Resource... contexts) throws RepositoryException
Description copied from interface:RepositoryConnection
Removes all statements from a specific contexts in the repository.- Specified by:
clear
in interfaceRepositoryConnection
- Overrides:
clear
in 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.
-
removeNamespace
public void removeNamespace(java.lang.String prefix) throws RepositoryException
Description copied from interface:RepositoryConnection
Removes a namespace declaration by removing the association between a prefix and a namespace name.- Specified by:
removeNamespace
in 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
public void clearNamespaces() throws RepositoryException
Description copied from interface:RepositoryConnection
Removes all namespace declarations from the repository.- Specified by:
clearNamespaces
in interfaceRepositoryConnection
- Throws:
RepositoryException
- If the namespace declarations could not be removed.
-
setNamespace
public void setNamespace(java.lang.String prefix, java.lang.String name) throws RepositoryException
Description copied from interface:RepositoryConnection
Sets the prefix for a namespace.- Specified by:
setNamespace
in interfaceRepositoryConnection
- Specified by:
setNamespace
in 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.
-
getNamespaces
public RepositoryResult<Namespace> getNamespaces() throws RepositoryException
Description copied from interface:RepositoryConnection
Gets all declared namespaces as a RepositoryResult ofNamespace
objects. Each Namespace object consists of a prefix and a namespace name.- Specified by:
getNamespaces
in 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.
-
getNamespace
public java.lang.String getNamespace(java.lang.String prefix) throws RepositoryException
Description copied from interface:RepositoryConnection
Gets the namespace that is associated with the specified prefix, if any.- Specified by:
getNamespace
in interfaceRepositoryConnection
- Specified by:
getNamespace
in 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.
-
scheduleUpdate
protected void scheduleUpdate(HTTPUpdate update)
-
createRepositoryResult
protected <E> RepositoryResult<E> createRepositoryResult(java.lang.Iterable<? extends E> elements)
Creates a RepositoryResult for the supplied element set.
-
prepareUpdate
public Update prepareUpdate(QueryLanguage ql, java.lang.String update, java.lang.String baseURI) throws RepositoryException, MalformedQueryException
Description copied from interface:RepositoryConnection
Prepares an Update operation.- Specified by:
prepareUpdate
in interfaceRepositoryConnection
- Parameters:
ql
- Thequery 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.- Returns:
- a
Update
ready to be executed on thisRepositoryConnection
. - Throws:
MalformedQueryException
- If the supplied update operation string is malformed.RepositoryException
-
verifyIsOpen
protected void verifyIsOpen() throws RepositoryException
Verifies that the connection is open, throws aStoreException
if it isn't.- Throws:
RepositoryException
-
verifyTxnActive
protected void verifyTxnActive() throws RepositoryException
Verifies that the connection has an active transaction, throws aStoreException
if it hasn't.- Throws:
RepositoryException
-
verifyNotTxnActive
protected void verifyNotTxnActive(java.lang.String msg) throws RepositoryException
Verifies that the connection does not have an active transaction, throws aRepositoryException
if it has.- Throws:
RepositoryException
-
isActive
public boolean isActive() throws UnknownTransactionStateException, RepositoryException
Description copied from interface:RepositoryConnection
Indicates 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:
isActive
in interfaceRepositoryConnection
- Returns:
true
iff a transaction is active,false
iff 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
-
getSesameSession
protected RDF4JProtocolSession getSesameSession()
- Returns:
-
-