public abstract class RepositoryConnectionBase extends Object implements RepositoryConnection
Open connections are automatically closed when being garbage collected. A warning message will be logged when the system property org.openrdf.repository.debug has been set to a non-null value.
Modifier and Type | Field and Description |
---|---|
protected org.slf4j.Logger |
logger |
Modifier | Constructor and Description |
---|---|
protected |
RepositoryConnectionBase(Repository repository) |
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> statements,
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,
URI 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 abstract void |
addWithoutCommit(Resource subject,
URI predicate,
Value object,
Resource... contexts) |
protected void |
addWithoutCommit(Statement st,
Resource... contexts) |
void |
clear(Resource... contexts)
Removes all statements from a specific contexts in the repository.
|
void |
close()
Closes the connection, freeing resources.
|
protected void |
conditionalCommit(boolean condition)
Invokes
RepositoryConnection.commit() if supplied boolean condition is
true . |
protected void |
conditionalRollback(boolean condition)
Invokes
RepositoryConnection.rollback() if supplied boolean condition is
true . |
void |
export(RDFHandler handler,
Resource... contexts)
Exports all explicit statements in the specified contexts to the supplied
RDFHandler.
|
ParserConfig |
getParserConfig()
Returns the parser configuration this connection uses for Rio-based
operations.
|
Repository |
getRepository()
Returns the Repository object to which this connection belongs.
|
ValueFactory |
getValueFactory()
Gets a ValueFactory for this RepositoryConnection.
|
boolean |
hasStatement(Resource subj,
URI 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 |
isAutoCommit()
Deprecated.
since 2.7.0. Use
RepositoryConnection.isActive() instead. |
boolean |
isEmpty()
Returns true if this repository does not contain any (explicit)
statements.
|
boolean |
isOpen()
Checks whether this connection is open.
|
BooleanQuery |
prepareBooleanQuery(QueryLanguage ql,
String query)
Prepares true/false queries.
|
GraphQuery |
prepareGraphQuery(QueryLanguage ql,
String query)
Prepares queries that produce RDF graphs.
|
Query |
prepareQuery(QueryLanguage ql,
String query)
Prepares a query for evaluation on this repository (optional operation).
|
TupleQuery |
prepareTupleQuery(QueryLanguage ql,
String query)
Prepares a query that produces sets of value tuples.
|
Update |
prepareUpdate(QueryLanguage ql,
String update)
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> statements,
Resource... contexts)
Removes the supplied statements from a specific context in this
repository, ignoring any context information carried by the statements
themselves.
|
void |
remove(Resource subject,
URI 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.
|
protected abstract void |
removeWithoutCommit(Resource subject,
URI predicate,
Value object,
Resource... contexts) |
protected void |
removeWithoutCommit(Statement st,
Resource... contexts) |
void |
setAutoCommit(boolean autoCommit)
Deprecated.
since 2.7.0. Use
RepositoryConnection.begin() instead. |
void |
setParserConfig(ParserConfig parserConfig)
Set the parser configuration this connection should use for
RDFParser-based operations.
|
protected boolean |
startLocalTransaction()
Starts a new transaction if one is not already active.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
begin, clearNamespaces, commit, exportStatements, getContextIDs, getNamespace, getNamespaces, getStatements, isActive, prepareBooleanQuery, prepareGraphQuery, prepareQuery, prepareTupleQuery, prepareUpdate, removeNamespace, rollback, setNamespace, size
protected RepositoryConnectionBase(Repository repository)
public void setParserConfig(ParserConfig parserConfig)
RepositoryConnection
setParserConfig
in interface RepositoryConnection
parserConfig
- a Rio RDF Parser configuration.public ParserConfig getParserConfig()
RepositoryConnection
getParserConfig
in interface RepositoryConnection
public Repository getRepository()
RepositoryConnection
getRepository
in interface RepositoryConnection
public ValueFactory getValueFactory()
RepositoryConnection
getValueFactory
in interface RepositoryConnection
public boolean isOpen() throws RepositoryException
RepositoryConnection
isOpen
in interface RepositoryConnection
RepositoryException
RepositoryConnection.close()
public void close() throws RepositoryException
RepositoryConnection
transaction
is active
on the connection, all
non-committed operations will be lost.close
in interface RepositoryConnection
RepositoryException
- If the connection could not be closed.public Query prepareQuery(QueryLanguage ql, String query) throws MalformedQueryException, RepositoryException
RepositoryConnection
RepositoryConnection.prepareQuery(QueryLanguage, String, String)
instead.prepareQuery
in interface RepositoryConnection
ql
- The query language in which the query is formulated.query
- The query string.MalformedQueryException
- If the supplied query is malformed.RepositoryException
public TupleQuery prepareTupleQuery(QueryLanguage ql, String query) throws MalformedQueryException, RepositoryException
RepositoryConnection
RepositoryConnection.prepareTupleQuery(QueryLanguage, String, String)
instead.prepareTupleQuery
in interface RepositoryConnection
ql
- The query language in which the query is formulated.query
- The query string.MalformedQueryException
- If the supplied query is malformed.RepositoryException
public GraphQuery prepareGraphQuery(QueryLanguage ql, String query) throws MalformedQueryException, RepositoryException
RepositoryConnection
RepositoryConnection.prepareGraphQuery(QueryLanguage, String, String)
instead.prepareGraphQuery
in interface RepositoryConnection
ql
- The query language in which the query is formulated.query
- The query string.MalformedQueryException
- If the supplied query is malformed.RepositoryException
public BooleanQuery prepareBooleanQuery(QueryLanguage ql, String query) throws MalformedQueryException, RepositoryException
RepositoryConnection
RepositoryConnection.prepareBooleanQuery(QueryLanguage, String, String)
instead.prepareBooleanQuery
in interface RepositoryConnection
ql
- The query language in which the query is formulated.query
- The query string.MalformedQueryException
- If the supplied query is malformed.RepositoryException
public Update prepareUpdate(QueryLanguage ql, String update) throws MalformedQueryException, RepositoryException
RepositoryConnection
prepareUpdate
in interface RepositoryConnection
ql
- The query language in which the update operation is formulated.update
- The update operation string.MalformedQueryException
- If the supplied update operation string is malformed.RepositoryException
public boolean hasStatement(Resource subj, URI pred, Value obj, boolean includeInferred, Resource... contexts) throws RepositoryException
RepositoryConnection
hasStatement
in interface RepositoryConnection
subj
- A Resource specifying the subject, or null for a wildcard.pred
- A URI specifying the predicate, or null for a wildcard.obj
- A Value specifying the object, or null for a wildcard.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
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
public boolean isEmpty() throws RepositoryException
RepositoryConnection
isEmpty
in interface RepositoryConnection
RepositoryException
- If the repository could not be checked to be empty.public void export(RDFHandler handler, Resource... contexts) throws RepositoryException, RDFHandlerException
RepositoryConnection
export
in interface RepositoryConnection
handler
- 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
@Deprecated public void setAutoCommit(boolean autoCommit) throws RepositoryException
RepositoryConnection.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
RepositoryException
- In case the mode switch failed, for example because a currently
active transaction failed to commit.RepositoryConnection.commit()
@Deprecated public boolean isAutoCommit() throws RepositoryException
RepositoryConnection.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
RepositoryException
- If a repository access error occurs.public void add(File file, String baseURI, RDFFormat dataFormat, Resource... contexts) throws IOException, RDFParseException, RepositoryException
RepositoryConnection
add
in interface RepositoryConnection
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.dataFormat
- The serialization format of the data.contexts
- The contexts to add the data to. Note that this parameter is a
vararg and as such is optional. If no contexts are specified, the
data is added to any context specified in the actual data file, or
if the data contains no context, it is added without context. If
one or more contexts are specified the data is added to these
contexts, ignoring any context information in the data itself.IOException
- If an I/O error occurred while reading from the file.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(URL url, String baseURI, RDFFormat dataFormat, Resource... contexts) throws IOException, RDFParseException, RepositoryException
RepositoryConnection
add
in interface RepositoryConnection
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.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 add(InputStream in, String baseURI, RDFFormat dataFormat, Resource... contexts) throws IOException, RDFParseException, RepositoryException
RepositoryConnection
add
in interface RepositoryConnection
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.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.protected final boolean startLocalTransaction() throws RepositoryException
true
if a new transaction was started,
false
if a transaction was already active.RepositoryException
protected final void conditionalCommit(boolean condition) throws RepositoryException
RepositoryConnection.commit()
if supplied boolean condition is
true
.condition
- a boolean condition.RepositoryException
protected final void conditionalRollback(boolean condition) throws RepositoryException
RepositoryConnection.rollback()
if supplied boolean condition is
true
.condition
- a boolean condition.RepositoryException
public void add(Reader reader, String baseURI, RDFFormat dataFormat, Resource... contexts) throws IOException, RDFParseException, RepositoryException
RepositoryConnection
add
in interface RepositoryConnection
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.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(Iterable<? extends Statement> statements, Resource... contexts) throws RepositoryException
RepositoryConnection
add
in interface RepositoryConnection
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> statements, Resource... contexts) throws RepositoryException, E extends Exception
RepositoryConnection
add
in interface RepositoryConnection
statements
- The statements to add. In case the iteration is a
CloseableIteration
, it will be closed before this method
returns.contexts
- The contexts to add the statements to. Note that this parameter is
a vararg and as such is optional. If no contexts are specified,
each statement is added to any context specified in the statement,
or if the statement contains no context, it is added without
context. If one or more contexts are specified each statement is
added to these contexts, ignoring any context information in the
statement itself. ignored.RepositoryException
- If the statements could not be added to the repository, for
example because the repository is not writable.E extends Exception
public void add(Statement st, Resource... contexts) throws RepositoryException
RepositoryConnection
add
in interface RepositoryConnection
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(Resource subject, URI predicate, Value object, Resource... contexts) throws RepositoryException
RepositoryConnection
add
in interface RepositoryConnection
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 remove(Iterable<? extends Statement> statements, Resource... contexts) throws RepositoryException
RepositoryConnection
remove
in interface RepositoryConnection
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> statements, Resource... contexts) throws RepositoryException, E extends Exception
RepositoryConnection
remove
in interface RepositoryConnection
statements
- The statements to remove. In case the iteration is a
CloseableIteration
, it will be closed before this method
returns.contexts
- The context(s) to remove the data from. Note that this parameter is
a vararg and as such is optional. If no contexts are supplied the
method operates on the contexts associated with the statement
itself, and if no context is associated with the statement, on the
entire repository.RepositoryException
- If the statements could not be removed from the repository, for
example because the repository is not writable.E extends Exception
public void remove(Statement st, Resource... contexts) throws RepositoryException
RepositoryConnection
remove
in interface RepositoryConnection
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 remove(Resource subject, URI predicate, Value object, Resource... contexts) throws RepositoryException
RepositoryConnection
remove
in interface RepositoryConnection
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 clear(Resource... contexts) throws RepositoryException
RepositoryConnection
clear
in interface RepositoryConnection
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.protected void addWithoutCommit(Statement st, Resource... contexts) throws RepositoryException
RepositoryException
protected abstract void addWithoutCommit(Resource subject, URI predicate, Value object, Resource... contexts) throws RepositoryException
RepositoryException
protected void removeWithoutCommit(Statement st, Resource... contexts) throws RepositoryException
RepositoryException
protected abstract void removeWithoutCommit(Resource subject, URI predicate, Value object, Resource... contexts) throws RepositoryException
RepositoryException
Copyright © 2001-2016 Aduna. All Rights Reserved.