virtuoso.sesame2.driver
Class VirtuosoRepositoryConnection

java.lang.Object
  extended by virtuoso.sesame2.driver.VirtuosoRepositoryConnection
All Implemented Interfaces:
org.openrdf.repository.RepositoryConnection

public class VirtuosoRepositoryConnection
extends java.lang.Object
implements org.openrdf.repository.RepositoryConnection

Main interface for updating data in and performing queries on a Sesame repository. By default, a RepositoryConnection is in autoCommit mode, meaning that each operation corresponds to a single transaction on the underlying store. autoCommit can be switched off in which case it is up to the user to handle transaction commit/rollback. Note that care should be taking to always properly close a RepositoryConnection after one is finished with it, to free up resources and avoid unnecessary locks.

Several methods take a vararg argument that optionally specifies a (set of) context(s) on which the method should operate. Note that a vararg parameter is optional, it can be completely left out of the method call, in which case a method either operates on a provided statements context (if one of the method parameters is a statement or collection of statements), or operates on the repository as a whole, completely ignoring context. A vararg argument may also be 'null' (cast to Resource) meaning that the method operates on those statements which have no associated context only.

Examples:

 // Ex 1: this method retrieves all statements that appear in either context1 or context2, or both.
 RepositoryConnection.getStatements(null, null, null, true, context1, context2);
 
 // Ex 2: this method retrieves all statements that appear in the repository (regardless of context).
 RepositoryConnection.getStatements(null, null, null, true);
 
 // Ex 3: this method retrieves all statements that have no associated context in the repository.
 // Observe that this is not equivalent to the previous method call.
 RepositoryConnection.getStatements(null, null, null, true, (Resource)null);
 
 // Ex 4: this method adds a statement to the store. If the statement object itself has 
 // a context (i.e. statement.getContext() != null) the statement is added to that context. Otherwise,
 // it is added without any associated context.
 RepositoryConnection.add(statement);
 
 // Ex 5: this method adds a statement to context1 in the store. It completely ignores any
 // context the statement itself has.
 RepositoryConnection.add(statement, context1);
 


Nested Class Summary
 class VirtuosoRepositoryConnection.CloseableIterationBase<E,X extends java.lang.Exception>
           
 class VirtuosoRepositoryConnection.CloseableIterationBindingSet
           
 class VirtuosoRepositoryConnection.CloseableIterationGraphResult
           
 class VirtuosoRepositoryConnection.CloseableIterationStmt
           
 
Field Summary
protected  VirtuosoRepository repository
           
 
Constructor Summary
VirtuosoRepositoryConnection(VirtuosoRepository repository, java.sql.Connection connection)
           
 
Method Summary
 void add(java.io.File file, java.lang.String baseURI, org.openrdf.rio.RDFFormat format, org.openrdf.model.Resource... contexts)
          Adds RDF data from the specified file to a specific contexts in the repository.
 void add(java.io.InputStream dataStream, java.lang.String baseURI, org.openrdf.rio.RDFFormat format, org.openrdf.model.Resource... contexts)
          Adds RDF data from an InputStream to the repository, optionally to one or more named contexts.
 void add(java.lang.Iterable<? extends org.openrdf.model.Statement> statements, org.openrdf.model.Resource... contexts)
          Adds the supplied statements to this repository, optionally to one or more named contexts.
<E extends java.lang.Exception>
void
add(info.aduna.iteration.Iteration<? extends org.openrdf.model.Statement,E> statements, org.openrdf.model.Resource... contexts)
          Adds the supplied statements to this repository, optionally to one or more named contexts.
 void add(java.io.Reader reader, java.lang.String baseURI, org.openrdf.rio.RDFFormat format, org.openrdf.model.Resource... contexts)
          Adds RDF data from a Reader to the repository, optionally to one or more named contexts.
 void add(org.openrdf.model.Resource subject, org.openrdf.model.URI predicate, org.openrdf.model.Value object, org.openrdf.model.Resource... contexts)
          Adds a statement with the specified subject, predicate and object to this repository, optionally to one or more named contexts.
 void add(org.openrdf.model.Statement statement, org.openrdf.model.Resource... contexts)
          Adds the supplied statement to this repository, optionally to one or more named contexts.
 void add(java.net.URL dataURL, java.lang.String baseURI, org.openrdf.rio.RDFFormat format, org.openrdf.model.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 clear(org.openrdf.model.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 all updates that have been performed as part of this connection sofar.
protected
<E> org.openrdf.repository.RepositoryResult<E>
createRepositoryResult(java.lang.Iterable<? extends E> elements)
          Creates a RepositoryResult for the supplied element set.
protected  boolean executeSPARQLForBooleanResult(java.lang.String query, org.openrdf.query.Dataset dataset, boolean includeInferred, org.openrdf.query.BindingSet bindings)
           
protected  org.openrdf.query.GraphQueryResult executeSPARQLForGraphResult(java.lang.String query, org.openrdf.query.Dataset dataset, boolean includeInferred, org.openrdf.query.BindingSet bindings)
           
protected  void executeSPARQLForHandler(org.openrdf.rio.RDFHandler tqrh, java.lang.String query, org.openrdf.query.Dataset dataset, boolean includeInferred, org.openrdf.query.BindingSet bindings)
           
protected  void executeSPARQLForHandler(org.openrdf.query.TupleQueryResultHandler tqrh, java.lang.String query, org.openrdf.query.Dataset dataset, boolean includeInferred, org.openrdf.query.BindingSet bindings)
           
protected  org.openrdf.query.TupleQueryResult executeSPARQLForTupleResult(java.lang.String query, org.openrdf.query.Dataset dataset, boolean includeInferred, org.openrdf.query.BindingSet bindings)
           
 int executeSPARUL(java.lang.String query)
          Execute SPARUL query on this repository.
 void export(org.openrdf.rio.RDFHandler handler, org.openrdf.model.Resource... contexts)
          Exports all explicit statements in the specified contexts to the supplied RDFHandler.
 void exportStatements(org.openrdf.model.Resource subject, org.openrdf.model.URI predicate, org.openrdf.model.Value object, boolean includeInferred, org.openrdf.rio.RDFHandler handler, org.openrdf.model.Resource... contexts)
          Exports all statements with a specific subject, predicate and/or object from the repository, optionally from the specified contexts.
 org.openrdf.repository.RepositoryResult<org.openrdf.model.Resource> getContextIDs()
          Gets all resources that are used as content identifiers.
 java.lang.String getNamespace(java.lang.String prefix)
          Gets the namespace that is associated with the specified prefix, if any.
 org.openrdf.repository.RepositoryResult<org.openrdf.model.Namespace> getNamespaces()
          Gets all declared namespaces as a RepositoryResult of Namespace objects.
 java.sql.Connection getQuadStoreConnection()
          Get Reposetory Connection.
 org.openrdf.repository.Repository getRepository()
          Returns the Repository object to which this connection belongs.
 org.openrdf.repository.RepositoryResult<org.openrdf.model.Statement> getStatements(org.openrdf.model.Resource subject, org.openrdf.model.URI predicate, org.openrdf.model.Value object, boolean includeInferred, org.openrdf.model.Resource... contexts)
          Gets all statements with a specific subject, predicate and/or object from the repository.
 org.openrdf.model.ValueFactory getValueFactory()
          Gets a ValueFactory for this RepositoryConnection.
 boolean hasStatement(org.openrdf.model.Resource subject, org.openrdf.model.URI predicate, org.openrdf.model.Value object, boolean includeInferred, org.openrdf.model.Resource... contexts)
          Checks whether the repository contains statements with a specific subject, predicate and/or object, optionally in the specified contexts.
 boolean hasStatement(org.openrdf.model.Statement statement, boolean includeInferred, org.openrdf.model.Resource... contexts)
          Checks whether the repository contains the specified statement, optionally in the specified contexts.
 boolean isAutoCommit()
          Checks whether the connection is in auto-commit mode.
 boolean isEmpty()
          Returns true if this repository does not contain any (explicit) statements.
 boolean isOpen()
          Checks whether this connection is open.
 org.openrdf.query.BooleanQuery prepareBooleanQuery(org.openrdf.query.QueryLanguage language, java.lang.String query)
          Prepares true/false queries.
 org.openrdf.query.BooleanQuery prepareBooleanQuery(org.openrdf.query.QueryLanguage language, java.lang.String query, java.lang.String baseURI)
          Prepares true/false queries.
 org.openrdf.query.GraphQuery prepareGraphQuery(org.openrdf.query.QueryLanguage language, java.lang.String query)
          Prepares queries that produce RDF graphs.
 org.openrdf.query.GraphQuery prepareGraphQuery(org.openrdf.query.QueryLanguage language, java.lang.String query, java.lang.String baseURI)
          Prepares queries that produce RDF graphs.
 org.openrdf.query.Query prepareQuery(org.openrdf.query.QueryLanguage language, java.lang.String query)
          Prepares a query for evaluation on this repository (optional operation).
 org.openrdf.query.Query prepareQuery(org.openrdf.query.QueryLanguage language, java.lang.String query, java.lang.String baseURI)
          Prepares a query for evaluation on this repository (optional operation).
 org.openrdf.query.TupleQuery prepareTupleQuery(org.openrdf.query.QueryLanguage language, java.lang.String query)
          Prepares a query that produces sets of value tuples.
 org.openrdf.query.TupleQuery prepareTupleQuery(org.openrdf.query.QueryLanguage langauge, java.lang.String query, java.lang.String baseeURI)
          Prepares a query that produces sets of value tuples.
 void remove(java.lang.Iterable<? extends org.openrdf.model.Statement> statements, org.openrdf.model.Resource... contexts)
          Removes the supplied statements from the specified contexts in this repository.
<E extends java.lang.Exception>
void
remove(info.aduna.iteration.Iteration<? extends org.openrdf.model.Statement,E> statements, org.openrdf.model.Resource... contexts)
          Removes the supplied statements from a specific context in this repository, ignoring any context information carried by the statements themselves.
 void remove(org.openrdf.model.Resource subject, org.openrdf.model.URI predicate, org.openrdf.model.Value object, org.openrdf.model.Resource... contexts)
          Removes the statement(s) with the specified subject, predicate and object from the repository, optionally restricted to the specified contexts.
 void remove(org.openrdf.model.Statement statement, org.openrdf.model.Resource... contexts)
          Removes the supplied statement from the specified contexts in the repository.
 void removeNamespace(java.lang.String prefix)
          Removes a namespace declaration by removing the association between a prefix and a namespace name.
 void rollback()
          Rolls back all updates that have been performed as part of this connection sofar.
 void setAutoCommit(boolean autoCommit)
          Enables or disables auto-commit mode for the connection.
 void setNamespace(java.lang.String prefix, java.lang.String name)
          Sets the prefix for a namespace.
 void setQuadStoreConnection(java.sql.Connection quadStoreConnection)
          Set Repository Connection.
 long size(org.openrdf.model.Resource... contexts)
          Returns the number of (explicit) statements that are in the specified contexts in this repository.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

repository

protected VirtuosoRepository repository
Constructor Detail

VirtuosoRepositoryConnection

public VirtuosoRepositoryConnection(VirtuosoRepository repository,
                                    java.sql.Connection connection)
                             throws org.openrdf.repository.RepositoryException
Throws:
org.openrdf.repository.RepositoryException
Method Detail

getRepository

public org.openrdf.repository.Repository getRepository()
Returns the Repository object to which this connection belongs.

Specified by:
getRepository in interface org.openrdf.repository.RepositoryConnection

getValueFactory

public org.openrdf.model.ValueFactory getValueFactory()
Gets a ValueFactory for this RepositoryConnection.

Specified by:
getValueFactory in interface org.openrdf.repository.RepositoryConnection
Returns:
A repository-specific ValueFactory.

isOpen

public boolean isOpen()
               throws org.openrdf.repository.RepositoryException
Checks whether this connection is open. A connection is open from the moment it is created until it is closed.

Specified by:
isOpen in interface org.openrdf.repository.RepositoryConnection
Throws:
org.openrdf.repository.RepositoryException
See Also:
close()

close

public void close()
           throws org.openrdf.repository.RepositoryException
Closes the connection, freeing resources. If the connection is not in autoCommit mode, all non-committed operations will be lost.

Specified by:
close in interface org.openrdf.repository.RepositoryConnection
Throws:
org.openrdf.repository.RepositoryException - If the connection could not be closed.

prepareQuery

public org.openrdf.query.Query prepareQuery(org.openrdf.query.QueryLanguage language,
                                            java.lang.String query)
                                     throws org.openrdf.repository.RepositoryException,
                                            org.openrdf.query.MalformedQueryException
Prepares a query for evaluation on this repository (optional operation). In case the query contains relative URIs that need to be resolved against an external base URI, one should use prepareQuery(QueryLanguage, String, String) instead.

Specified by:
prepareQuery in interface org.openrdf.repository.RepositoryConnection
Parameters:
ql - The query language in which the query is formulated.
query - The query string.
Returns:
A query ready to be evaluated on this repository.
Throws:
org.openrdf.query.MalformedQueryException - If the supplied query is malformed.
UnsupportedQueryLanguageException - If the supplied query language is not supported.
java.lang.UnsupportedOperationException - If the prepareQuery method is not supported by this repository.
org.openrdf.repository.RepositoryException

prepareQuery

public org.openrdf.query.Query prepareQuery(org.openrdf.query.QueryLanguage language,
                                            java.lang.String query,
                                            java.lang.String baseURI)
                                     throws org.openrdf.repository.RepositoryException,
                                            org.openrdf.query.MalformedQueryException
Prepares a query for evaluation on this repository (optional operation).

Specified by:
prepareQuery in interface org.openrdf.repository.RepositoryConnection
Parameters:
ql - The query language in which the query is formulated.
query - The query string.
baseURI - The base URI to resolve any relative URIs that are in the query against, can be null if the query does not contain any relative URIs.
Returns:
A query ready to be evaluated on this repository.
Throws:
org.openrdf.query.MalformedQueryException - If the supplied query is malformed.
UnsupportedQueryLanguageException - If the supplied query language is not supported.
java.lang.UnsupportedOperationException - If the prepareQuery method is not supported by this repository.
org.openrdf.repository.RepositoryException

prepareTupleQuery

public org.openrdf.query.TupleQuery prepareTupleQuery(org.openrdf.query.QueryLanguage language,
                                                      java.lang.String query)
                                               throws org.openrdf.repository.RepositoryException,
                                                      org.openrdf.query.MalformedQueryException
Prepares a query that produces sets of value tuples. In case the query contains relative URIs that need to be resolved against an external base URI, one should use prepareTupleQuery(QueryLanguage, String, String) instead.

Specified by:
prepareTupleQuery in interface org.openrdf.repository.RepositoryConnection
Parameters:
ql - The query language in which the query is formulated.
query - The query string.
Throws:
java.lang.IllegalArgumentException - If the supplied query is not a tuple query.
org.openrdf.query.MalformedQueryException - If the supplied query is malformed.
UnsupportedQueryLanguageException - If the supplied query language is not supported.
org.openrdf.repository.RepositoryException

prepareTupleQuery

public org.openrdf.query.TupleQuery prepareTupleQuery(org.openrdf.query.QueryLanguage langauge,
                                                      java.lang.String query,
                                                      java.lang.String baseeURI)
                                               throws org.openrdf.repository.RepositoryException,
                                                      org.openrdf.query.MalformedQueryException
Prepares a query that produces sets of value tuples.

Specified by:
prepareTupleQuery in interface org.openrdf.repository.RepositoryConnection
Parameters:
ql - The query language in which the query is formulated.
query - The query string.
baseURI - The base URI to resolve any relative URIs that are in the query against, can be null if the query does not contain any relative URIs.
Throws:
java.lang.IllegalArgumentException - If the supplied query is not a tuple query.
org.openrdf.query.MalformedQueryException - If the supplied query is malformed.
UnsupportedQueryLanguageException - If the supplied query language is not supported.
org.openrdf.repository.RepositoryException

prepareGraphQuery

public org.openrdf.query.GraphQuery prepareGraphQuery(org.openrdf.query.QueryLanguage language,
                                                      java.lang.String query)
                                               throws org.openrdf.repository.RepositoryException,
                                                      org.openrdf.query.MalformedQueryException
Prepares queries that produce RDF graphs. In case the query contains relative URIs that need to be resolved against an external base URI, one should use prepareGraphQuery(QueryLanguage, String, String) instead.

Specified by:
prepareGraphQuery in interface org.openrdf.repository.RepositoryConnection
Parameters:
ql - The query language in which the query is formulated.
query - The query string.
Throws:
java.lang.IllegalArgumentException - If the supplied query is not a graph query.
org.openrdf.query.MalformedQueryException - If the supplied query is malformed.
UnsupportedQueryLanguageException - If the supplied query language is not supported.
org.openrdf.repository.RepositoryException

prepareGraphQuery

public org.openrdf.query.GraphQuery prepareGraphQuery(org.openrdf.query.QueryLanguage language,
                                                      java.lang.String query,
                                                      java.lang.String baseURI)
                                               throws org.openrdf.repository.RepositoryException,
                                                      org.openrdf.query.MalformedQueryException
Prepares queries that produce RDF graphs.

Specified by:
prepareGraphQuery in interface org.openrdf.repository.RepositoryConnection
Parameters:
ql - The query language in which the query is formulated.
query - The query string.
baseURI - The base URI to resolve any relative URIs that are in the query against, can be null if the query does not contain any relative URIs.
Throws:
java.lang.IllegalArgumentException - If the supplied query is not a graph query.
org.openrdf.query.MalformedQueryException - If the supplied query is malformed.
UnsupportedQueryLanguageException - If the supplied query language is not supported.
org.openrdf.repository.RepositoryException

prepareBooleanQuery

public org.openrdf.query.BooleanQuery prepareBooleanQuery(org.openrdf.query.QueryLanguage language,
                                                          java.lang.String query)
                                                   throws org.openrdf.repository.RepositoryException,
                                                          org.openrdf.query.MalformedQueryException
Prepares true/false queries. In case the query contains relative URIs that need to be resolved against an external base URI, one should use prepareBooleanQuery(QueryLanguage, String, String) instead.

Specified by:
prepareBooleanQuery in interface org.openrdf.repository.RepositoryConnection
Parameters:
ql - The query language in which the query is formulated.
query - The query string.
Throws:
java.lang.IllegalArgumentException - If the supplied query is not a boolean query.
org.openrdf.query.MalformedQueryException - If the supplied query is malformed.
UnsupportedQueryLanguageException - If the supplied query language is not supported.
org.openrdf.repository.RepositoryException

prepareBooleanQuery

public org.openrdf.query.BooleanQuery prepareBooleanQuery(org.openrdf.query.QueryLanguage language,
                                                          java.lang.String query,
                                                          java.lang.String baseURI)
                                                   throws org.openrdf.repository.RepositoryException,
                                                          org.openrdf.query.MalformedQueryException
Prepares true/false queries.

Specified by:
prepareBooleanQuery in interface org.openrdf.repository.RepositoryConnection
Parameters:
ql - The query language in which the query is formulated.
query - The query string.
baseURI - The base URI to resolve any relative URIs that are in the query against, can be null if the query does not contain any relative URIs.
Throws:
java.lang.IllegalArgumentException - If the supplied query is not a boolean query.
org.openrdf.query.MalformedQueryException - If the supplied query is malformed.
UnsupportedQueryLanguageException - If the supplied query language is not supported.
org.openrdf.repository.RepositoryException

getContextIDs

public org.openrdf.repository.RepositoryResult<org.openrdf.model.Resource> getContextIDs()
                                                                                  throws org.openrdf.repository.RepositoryException
Gets all resources that are used as content identifiers. Care should be taken that the returned RepositoryResult is closed to free any resources that it keeps hold of.

Specified by:
getContextIDs in interface org.openrdf.repository.RepositoryConnection
Returns:
a RepositoryResult object containing Resources that are used as context identifiers.
Throws:
org.openrdf.repository.RepositoryException

getStatements

public org.openrdf.repository.RepositoryResult<org.openrdf.model.Statement> getStatements(org.openrdf.model.Resource subject,
                                                                                          org.openrdf.model.URI predicate,
                                                                                          org.openrdf.model.Value object,
                                                                                          boolean includeInferred,
                                                                                          org.openrdf.model.Resource... contexts)
                                                                                   throws org.openrdf.repository.RepositoryException
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 interface org.openrdf.repository.RepositoryConnection
Parameters:
subj - A Resource specifying the subject, or null for a wildcard.
pred - A URI specifying the predicate, or null for a wildcard.
obj - A Value specifying the object, or null for a wildcard.
contexts - The context(s) to get the data from. Note that this parameter is a vararg and as such is optional. If no contexts are supplied the method operates on the entire repository.
includeInferred - if false, no inferred statements are returned; if true, inferred statements are returned if available. The default is true.
Returns:
The statements matching the specified pattern. The result object is a RepositoryResult object, a lazy Iterator-like object containing Statements and optionally throwing a RepositoryException when an error when a problem occurs during retrieval.
Throws:
org.openrdf.repository.RepositoryException

hasStatement

public boolean hasStatement(org.openrdf.model.Resource subject,
                            org.openrdf.model.URI predicate,
                            org.openrdf.model.Value object,
                            boolean includeInferred,
                            org.openrdf.model.Resource... contexts)
                     throws org.openrdf.repository.RepositoryException
Checks whether the repository contains statements with a specific subject, predicate and/or object, optionally in the specified contexts.

Specified by:
hasStatement in interface org.openrdf.repository.RepositoryConnection
Parameters:
subj - A Resource specifying the subject, or null for a wildcard.
pred - A URI specifying the predicate, or null for a wildcard.
obj - A Value specifying the object, or null for a wildcard.
contexts - The context(s) the need to be searched. Note that this parameter is a vararg and as such is optional. If no contexts are supplied the method operates on the entire repository.
includeInferred - if false, no inferred statements are considered; if true, inferred statements are considered if available
Returns:
true If a matching statement is in the repository in the specified context, false otherwise.
Throws:
org.openrdf.repository.RepositoryException

hasStatement

public boolean hasStatement(org.openrdf.model.Statement statement,
                            boolean includeInferred,
                            org.openrdf.model.Resource... contexts)
                     throws org.openrdf.repository.RepositoryException
Checks whether the repository contains the specified statement, optionally in the specified contexts.

Specified by:
hasStatement in interface org.openrdf.repository.RepositoryConnection
Parameters:
st - The statement to look for. Context information in the statement is ignored.
contexts - The context(s) to get the data from. Note that this parameter is a vararg and as such is optional. If no contexts are supplied the method operates on the entire repository.
includeInferred - if false, no inferred statements are considered; if true, inferred statements are considered if available
Returns:
true If the repository contains the specified statement, false otherwise.
Throws:
org.openrdf.repository.RepositoryException

exportStatements

public void exportStatements(org.openrdf.model.Resource subject,
                             org.openrdf.model.URI predicate,
                             org.openrdf.model.Value object,
                             boolean includeInferred,
                             org.openrdf.rio.RDFHandler handler,
                             org.openrdf.model.Resource... contexts)
                      throws org.openrdf.repository.RepositoryException,
                             org.openrdf.rio.RDFHandlerException
Exports all statements with a specific subject, predicate and/or object from the repository, optionally from the specified contexts.

Specified by:
exportStatements in interface org.openrdf.repository.RepositoryConnection
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.
contexts - The context(s) to get the data from. Note that this parameter is a vararg and as such is optional. If no contexts are supplied the method operates on the entire repository.
handler - The handler that will handle the RDF data.
includeInferred - if false, no inferred statements are returned; if true, inferred statements are returned if available
Throws:
org.openrdf.rio.RDFHandlerException - If the handler encounters an unrecoverable error.
org.openrdf.repository.RepositoryException

export

public void export(org.openrdf.rio.RDFHandler handler,
                   org.openrdf.model.Resource... contexts)
            throws org.openrdf.repository.RepositoryException,
                   org.openrdf.rio.RDFHandlerException
Exports all explicit statements in the specified contexts to the supplied RDFHandler.

Specified by:
export in interface org.openrdf.repository.RepositoryConnection
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.
handler - The handler that will handle the RDF data.
Throws:
org.openrdf.rio.RDFHandlerException - If the handler encounters an unrecoverable error.
org.openrdf.repository.RepositoryException

size

public long size(org.openrdf.model.Resource... contexts)
          throws org.openrdf.repository.RepositoryException
Returns the number of (explicit) statements that are in the specified contexts in this repository.

Specified by:
size in interface org.openrdf.repository.RepositoryConnection
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:
org.openrdf.repository.RepositoryException

isEmpty

public boolean isEmpty()
                throws org.openrdf.repository.RepositoryException
Returns true if this repository does not contain any (explicit) statements.

Specified by:
isEmpty in interface org.openrdf.repository.RepositoryConnection
Returns:
true if this repository is empty, false otherwise.
Throws:
org.openrdf.repository.RepositoryException - If the repository could not be checked to be empty.

setAutoCommit

public void setAutoCommit(boolean autoCommit)
                   throws org.openrdf.repository.RepositoryException
Enables 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 either commit() or rollback(). By default, new connections are in auto-commit mode.

NOTE: If this connection is switched to auto-commit mode during a transaction, the transaction is committed.

Specified by:
setAutoCommit in interface org.openrdf.repository.RepositoryConnection
Throws:
org.openrdf.repository.RepositoryException - In case the mode switch failed, for example because a currently active transaction failed to commit.
See Also:
commit()

isAutoCommit

public boolean isAutoCommit()
                     throws org.openrdf.repository.RepositoryException
Checks whether the connection is in auto-commit mode.

Specified by:
isAutoCommit in interface org.openrdf.repository.RepositoryConnection
Throws:
org.openrdf.repository.RepositoryException
See Also:
setAutoCommit(boolean)

commit

public void commit()
            throws org.openrdf.repository.RepositoryException
Commits all updates that have been performed as part of this connection sofar.

Specified by:
commit in interface org.openrdf.repository.RepositoryConnection
Throws:
org.openrdf.repository.RepositoryException - If the connection could not be committed.

rollback

public void rollback()
              throws org.openrdf.repository.RepositoryException
Rolls back all updates that have been performed as part of this connection sofar.

Specified by:
rollback in interface org.openrdf.repository.RepositoryConnection
Throws:
org.openrdf.repository.RepositoryException - If the connection could not be rolled back.

add

public void add(java.io.InputStream dataStream,
                java.lang.String baseURI,
                org.openrdf.rio.RDFFormat format,
                org.openrdf.model.Resource... contexts)
         throws java.io.IOException,
                org.openrdf.rio.RDFParseException,
                org.openrdf.repository.RepositoryException
Adds RDF data from an InputStream to the repository, optionally to one or more named contexts.

Specified by:
add in interface org.openrdf.repository.RepositoryConnection
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.
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.
UnsupportedRDFormatException - If no parser is available for the specified RDF format.
org.openrdf.rio.RDFParseException - If an error was found while parsing the RDF data.
org.openrdf.repository.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,
                org.openrdf.rio.RDFFormat format,
                org.openrdf.model.Resource... contexts)
         throws java.io.IOException,
                org.openrdf.rio.RDFParseException,
                org.openrdf.repository.RepositoryException
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 interface org.openrdf.repository.RepositoryConnection
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.
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.
UnsupportedRDFormatException - If no parser is available for the specified RDF format.
org.openrdf.rio.RDFParseException - If an error was found while parsing the RDF data.
org.openrdf.repository.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 dataURL,
                java.lang.String baseURI,
                org.openrdf.rio.RDFFormat format,
                org.openrdf.model.Resource... contexts)
         throws java.io.IOException,
                org.openrdf.rio.RDFParseException,
                org.openrdf.repository.RepositoryException
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 interface org.openrdf.repository.RepositoryConnection
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 of url.toExternalForm() if the value is set to null.
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 URL.
UnsupportedRDFormatException - If no parser is available for the specified RDF format.
org.openrdf.rio.RDFParseException - If an error was found while parsing the RDF data.
org.openrdf.repository.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.File file,
                java.lang.String baseURI,
                org.openrdf.rio.RDFFormat format,
                org.openrdf.model.Resource... contexts)
         throws java.io.IOException,
                org.openrdf.rio.RDFParseException,
                org.openrdf.repository.RepositoryException
Adds RDF data from the specified file to a specific contexts in the repository.

Specified by:
add in interface org.openrdf.repository.RepositoryConnection
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 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.
Throws:
java.io.IOException - If an I/O error occurred while reading from the file.
UnsupportedRDFormatException - If no parser is available for the specified RDF format.
org.openrdf.rio.RDFParseException - If an error was found while parsing the RDF data.
org.openrdf.repository.RepositoryException - If the data could not be added to the repository, for example because the repository is not writable.

add

public void add(org.openrdf.model.Resource subject,
                org.openrdf.model.URI predicate,
                org.openrdf.model.Value object,
                org.openrdf.model.Resource... contexts)
         throws org.openrdf.repository.RepositoryException
Adds a statement with the specified subject, predicate and object to this repository, optionally to one or more named contexts.

Specified by:
add in interface org.openrdf.repository.RepositoryConnection
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:
org.openrdf.repository.RepositoryException - If the data could not be added to the repository, for example because the repository is not writable.

add

public void add(org.openrdf.model.Statement statement,
                org.openrdf.model.Resource... contexts)
         throws org.openrdf.repository.RepositoryException
Adds the supplied statement to this repository, optionally to one or more named contexts.

Specified by:
add in interface org.openrdf.repository.RepositoryConnection
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:
org.openrdf.repository.RepositoryException - If the statement could not be added to the repository, for example because the repository is not writable.

add

public void add(java.lang.Iterable<? extends org.openrdf.model.Statement> statements,
                org.openrdf.model.Resource... contexts)
         throws org.openrdf.repository.RepositoryException
Adds the supplied statements to this repository, optionally to one or more named contexts.

Specified by:
add in interface org.openrdf.repository.RepositoryConnection
Parameters:
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.
Throws:
org.openrdf.repository.RepositoryException - If the statements could not be added to the repository, for example because the repository is not writable.

add

public <E extends java.lang.Exception> void add(info.aduna.iteration.Iteration<? extends org.openrdf.model.Statement,E> statements,
                                                org.openrdf.model.Resource... contexts)
         throws org.openrdf.repository.RepositoryException,
                E extends java.lang.Exception
Adds the supplied statements to this repository, optionally to one or more named contexts.

Specified by:
add in interface org.openrdf.repository.RepositoryConnection
Parameters:
statementIter - The statements to add. In case the iterator 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.
Throws:
org.openrdf.repository.RepositoryException - If the statements could not be added to the repository, for example because the repository is not writable.
E extends java.lang.Exception

remove

public void remove(org.openrdf.model.Resource subject,
                   org.openrdf.model.URI predicate,
                   org.openrdf.model.Value object,
                   org.openrdf.model.Resource... contexts)
            throws org.openrdf.repository.RepositoryException
Removes the statement(s) with the specified subject, predicate and object from the repository, optionally restricted to the specified contexts.

Specified by:
remove in interface org.openrdf.repository.RepositoryConnection
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:
org.openrdf.repository.RepositoryException - If the statement(s) could not be removed from the repository, for example because the repository is not writable.

remove

public void remove(org.openrdf.model.Statement statement,
                   org.openrdf.model.Resource... contexts)
            throws org.openrdf.repository.RepositoryException
Removes the supplied statement from the specified contexts in the repository.

Specified by:
remove in interface org.openrdf.repository.RepositoryConnection
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:
org.openrdf.repository.RepositoryException - If the statement could not be removed from the repository, for example because the repository is not writable.

remove

public void remove(java.lang.Iterable<? extends org.openrdf.model.Statement> statements,
                   org.openrdf.model.Resource... contexts)
            throws org.openrdf.repository.RepositoryException
Removes the supplied statements from the specified contexts in this repository.

Specified by:
remove in interface org.openrdf.repository.RepositoryConnection
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:
org.openrdf.repository.RepositoryException - If the statements could not be added to the repository, for example because the repository is not writable.

remove

public <E extends java.lang.Exception> void remove(info.aduna.iteration.Iteration<? extends org.openrdf.model.Statement,E> statements,
                                                   org.openrdf.model.Resource... contexts)
            throws org.openrdf.repository.RepositoryException,
                   E extends java.lang.Exception
Removes the supplied statements from a specific context in this repository, ignoring any context information carried by the statements themselves.

Specified by:
remove in interface org.openrdf.repository.RepositoryConnection
Parameters:
statementIter - The statements to remove. In case the iterator 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.
Throws:
org.openrdf.repository.RepositoryException - If the statements could not be removed from the repository, for example because the repository is not writable.
E extends java.lang.Exception

clear

public void clear(org.openrdf.model.Resource... contexts)
           throws org.openrdf.repository.RepositoryException
Removes all statements from a specific contexts in the repository.

Specified by:
clear in interface org.openrdf.repository.RepositoryConnection
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:
org.openrdf.repository.RepositoryException - If the statements could not be removed from the repository, for example because the repository is not writable.

getNamespaces

public org.openrdf.repository.RepositoryResult<org.openrdf.model.Namespace> getNamespaces()
                                                                                   throws org.openrdf.repository.RepositoryException
Gets all declared namespaces as a RepositoryResult of Namespace objects. Each Namespace object consists of a prefix and a namespace name.

Specified by:
getNamespaces in interface org.openrdf.repository.RepositoryConnection
Returns:
A RepositoryResult containing Namespace objects. Care should be taken to close the RepositoryResult after use.
Throws:
org.openrdf.repository.RepositoryException - If the namespaces could not be read from the repository.

getNamespace

public java.lang.String getNamespace(java.lang.String prefix)
                              throws org.openrdf.repository.RepositoryException
Gets the namespace that is associated with the specified prefix, if any.

Specified by:
getNamespace in interface org.openrdf.repository.RepositoryConnection
Parameters:
prefix - A namespace prefix.
Returns:
The namespace name that is associated with the specified prefix, or null if there is no such namespace.
Throws:
org.openrdf.repository.RepositoryException - If the namespace could not be read from the repository.

setNamespace

public void setNamespace(java.lang.String prefix,
                         java.lang.String name)
                  throws org.openrdf.repository.RepositoryException
Sets the prefix for a namespace.

Specified by:
setNamespace in interface org.openrdf.repository.RepositoryConnection
Parameters:
prefix - The new prefix.
name - The namespace name that the prefix maps to.
Throws:
org.openrdf.repository.RepositoryException - If the namespace could not be set in the repository, for example because the repository is not writable.

removeNamespace

public void removeNamespace(java.lang.String prefix)
                     throws org.openrdf.repository.RepositoryException
Removes a namespace declaration by removing the association between a prefix and a namespace name.

Specified by:
removeNamespace in interface org.openrdf.repository.RepositoryConnection
Parameters:
prefix - The namespace prefix of which the assocation with a namespace name is to be removed.
Throws:
org.openrdf.repository.RepositoryException - If the namespace prefix could not be removed.

clearNamespaces

public void clearNamespaces()
                     throws org.openrdf.repository.RepositoryException
Removes all namespace declarations from the repository.

Specified by:
clearNamespaces in interface org.openrdf.repository.RepositoryConnection
Throws:
org.openrdf.repository.RepositoryException - If the namespace declarations could not be removed.

executeSPARQLForTupleResult

protected org.openrdf.query.TupleQueryResult executeSPARQLForTupleResult(java.lang.String query,
                                                                         org.openrdf.query.Dataset dataset,
                                                                         boolean includeInferred,
                                                                         org.openrdf.query.BindingSet bindings)
                                                                  throws org.openrdf.query.QueryEvaluationException
Throws:
org.openrdf.query.QueryEvaluationException

executeSPARQLForGraphResult

protected org.openrdf.query.GraphQueryResult executeSPARQLForGraphResult(java.lang.String query,
                                                                         org.openrdf.query.Dataset dataset,
                                                                         boolean includeInferred,
                                                                         org.openrdf.query.BindingSet bindings)
                                                                  throws org.openrdf.query.QueryEvaluationException
Throws:
org.openrdf.query.QueryEvaluationException

executeSPARQLForBooleanResult

protected boolean executeSPARQLForBooleanResult(java.lang.String query,
                                                org.openrdf.query.Dataset dataset,
                                                boolean includeInferred,
                                                org.openrdf.query.BindingSet bindings)
                                         throws org.openrdf.query.QueryEvaluationException
Throws:
org.openrdf.query.QueryEvaluationException

executeSPARQLForHandler

protected void executeSPARQLForHandler(org.openrdf.query.TupleQueryResultHandler tqrh,
                                       java.lang.String query,
                                       org.openrdf.query.Dataset dataset,
                                       boolean includeInferred,
                                       org.openrdf.query.BindingSet bindings)
                                throws org.openrdf.query.QueryEvaluationException,
                                       org.openrdf.query.TupleQueryResultHandlerException
Throws:
org.openrdf.query.QueryEvaluationException
org.openrdf.query.TupleQueryResultHandlerException

executeSPARQLForHandler

protected void executeSPARQLForHandler(org.openrdf.rio.RDFHandler tqrh,
                                       java.lang.String query,
                                       org.openrdf.query.Dataset dataset,
                                       boolean includeInferred,
                                       org.openrdf.query.BindingSet bindings)
                                throws org.openrdf.query.QueryEvaluationException,
                                       org.openrdf.rio.RDFHandlerException
Throws:
org.openrdf.query.QueryEvaluationException
org.openrdf.rio.RDFHandlerException

executeSPARUL

public int executeSPARUL(java.lang.String query)
                  throws org.openrdf.repository.RepositoryException
Execute SPARUL query on this repository.

Parameters:
query - The query string.
Returns:
A rowUpdateCount.
Throws:
org.openrdf.repository.RepositoryException - If the prepareQuery method is not supported by this repository.

getQuadStoreConnection

public java.sql.Connection getQuadStoreConnection()
Get Reposetory Connection.

Returns:
Repository Connection

setQuadStoreConnection

public void setQuadStoreConnection(java.sql.Connection quadStoreConnection)
Set Repository Connection.

Parameters:
quadStoreConnection - The Repository Connection.

createRepositoryResult

protected <E> org.openrdf.repository.RepositoryResult<E> createRepositoryResult(java.lang.Iterable<? extends E> elements)
Creates a RepositoryResult for the supplied element set.