org.openrdf.repository.sail
Class SailRepositoryConnection

java.lang.Object
  extended by org.openrdf.repository.base.RepositoryConnectionBase
      extended by org.openrdf.repository.sail.SailRepositoryConnection
All Implemented Interfaces:
RepositoryConnection

public class SailRepositoryConnection
extends RepositoryConnectionBase

An implementation of the RepositoryConnection interface that wraps a SailConnection.

Author:
jeen, Arjohn Kampman

Field Summary
 
Fields inherited from class org.openrdf.repository.base.RepositoryConnectionBase
logger
 
Method Summary
protected  void addWithoutCommit(Resource subject, URI predicate, Value object, Resource... contexts)
           
 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 all updates that have been performed as part of this connection sofar.
protected
<E> RepositoryResult<E>
createRepositoryResult(CloseableIteration<? extends E,SailException> sailIter)
          Wraps a CloseableIteration coming from a Sail in a RepositoryResult object, applying the required conversions
 void exportStatements(Resource subj, URI pred, Value obj, boolean includeInferred, RDFHandler handler, Resource... contexts)
          Exports all statements with a specific subject, predicate and/or object from the repository, optionally from the specified contexts.
 RepositoryResult<Resource> getContextIDs()
          Gets all resources that are used as content identifiers.
 String getNamespace(String prefix)
          Gets the namespace that is associated with the specified prefix, if any.
 RepositoryResult<Namespace> getNamespaces()
          Gets all declared namespaces as a RepositoryResult of Namespace objects.
 SailConnection getSailConnection()
          Returns the underlying SailConnection.
 RepositoryResult<Statement> getStatements(Resource subj, URI pred, Value obj, boolean includeInferred, Resource... contexts)
          Gets all statements with a specific subject, predicate and/or object from the repository.
 SailBooleanQuery prepareBooleanQuery(QueryLanguage ql, String queryString, String baseURI)
          Prepares true/false queries.
 SailGraphQuery prepareGraphQuery(QueryLanguage ql, String queryString, String baseURI)
          Prepares queries that produce RDF graphs.
 SailQuery prepareQuery(QueryLanguage ql, String queryString, String baseURI)
          Prepares a query for evaluation on this repository (optional operation).
 SailTupleQuery prepareTupleQuery(QueryLanguage ql, String queryString, String baseURI)
          Prepares a query that produces sets of value tuples.
 void removeNamespace(String prefix)
          Removes a namespace declaration by removing the association between a prefix and a namespace name.
protected  void removeWithoutCommit(Resource subject, URI predicate, Value object, Resource... contexts)
           
 void rollback()
          Rolls back all updates that have been performed as part of this connection sofar.
 void setNamespace(String prefix, String name)
          Sets the prefix for a namespace.
 long size(Resource... contexts)
          Returns the number of (explicit) statements that are in the specified contexts in this repository.
 
Methods inherited from class org.openrdf.repository.base.RepositoryConnectionBase
add, add, add, add, add, add, add, add, addInputStreamOrReader, addWithoutCommit, autoCommit, export, finalize, getRepository, hasStatement, hasStatement, isAutoCommit, isEmpty, isOpen, prepareBooleanQuery, prepareGraphQuery, prepareQuery, prepareTupleQuery, remove, remove, remove, remove, removeWithoutCommit, setAutoCommit
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getSailConnection

public SailConnection getSailConnection()
Returns the underlying SailConnection.


commit

public void commit()
            throws RepositoryException
Description copied from interface: RepositoryConnection
Commits all updates that have been performed as part of this connection sofar.

Throws:
RepositoryException - If the connection could not be committed.

rollback

public void rollback()
              throws RepositoryException
Description copied from interface: RepositoryConnection
Rolls back all updates that have been performed as part of this connection sofar.

Throws:
RepositoryException - If the connection could not be rolled back.

close

public void close()
           throws RepositoryException
Description copied from interface: RepositoryConnection
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 RepositoryConnection
Overrides:
close in class RepositoryConnectionBase
Throws:
RepositoryException - If the connection could not be closed.

prepareQuery

public SailQuery prepareQuery(QueryLanguage ql,
                              String queryString,
                              String baseURI)
                       throws MalformedQueryException
Description copied from interface: RepositoryConnection
Prepares a query for evaluation on this repository (optional operation).

Parameters:
ql - The query 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:
MalformedQueryException - If the supplied query is malformed.

prepareTupleQuery

public SailTupleQuery prepareTupleQuery(QueryLanguage ql,
                                        String queryString,
                                        String baseURI)
                                 throws MalformedQueryException
Description copied from interface: RepositoryConnection
Prepares a query that produces sets of value tuples.

Parameters:
ql - The query 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.
Throws:
MalformedQueryException - If the supplied query is malformed.

prepareGraphQuery

public SailGraphQuery prepareGraphQuery(QueryLanguage ql,
                                        String queryString,
                                        String baseURI)
                                 throws MalformedQueryException
Description copied from interface: RepositoryConnection
Prepares queries that produce RDF graphs.

Parameters:
ql - The query 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.
Throws:
MalformedQueryException - If the supplied query is malformed.

prepareBooleanQuery

public SailBooleanQuery prepareBooleanQuery(QueryLanguage ql,
                                            String queryString,
                                            String baseURI)
                                     throws MalformedQueryException
Description copied from interface: RepositoryConnection
Prepares true/false queries.

Parameters:
ql - The query 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.
Throws:
MalformedQueryException - If the supplied query is malformed.

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 returned RepositoryResult is closed to free any resources that it keeps hold of.

Returns:
a RepositoryResult object containing Resources that are used as context identifiers.
Throws:
RepositoryException

getStatements

public RepositoryResult<Statement> getStatements(Resource subj,
                                                 URI 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.

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.
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 containing Statements and optionally throwing a RepositoryException when an error when a problem occurs during retrieval.
Throws:
RepositoryException

exportStatements

public void exportStatements(Resource subj,
                             URI pred,
                             Value obj,
                             boolean includeInferred,
                             RDFHandler handler,
                             Resource... contexts)
                      throws RepositoryException,
                             RDFHandlerException
Description copied from interface: RepositoryConnection
Exports all statements with a specific subject, predicate and/or object from the repository, optionally from the specified contexts.

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 available
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.
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.

Parameters:
contexts - The context(s) to get the data from. Note that this parameter is a vararg and as such is optional. If no contexts are supplied the method operates on the entire repository.
Returns:
The number of explicit statements from the specified contexts in this repository.
Throws:
RepositoryException

addWithoutCommit

protected void addWithoutCommit(Resource subject,
                                URI predicate,
                                Value object,
                                Resource... contexts)
                         throws RepositoryException
Specified by:
addWithoutCommit in class RepositoryConnectionBase
Throws:
RepositoryException

removeWithoutCommit

protected void removeWithoutCommit(Resource subject,
                                   URI predicate,
                                   Value object,
                                   Resource... contexts)
                            throws RepositoryException
Specified by:
removeWithoutCommit in class RepositoryConnectionBase
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 interface RepositoryConnection
Overrides:
clear in class RepositoryConnectionBase
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.

setNamespace

public void setNamespace(String prefix,
                         String name)
                  throws RepositoryException
Description copied from interface: RepositoryConnection
Sets the prefix for a namespace.

Parameters:
prefix - The new prefix.
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.

removeNamespace

public void removeNamespace(String prefix)
                     throws RepositoryException
Description copied from interface: RepositoryConnection
Removes a namespace declaration by removing the association between a prefix and a namespace name.

Parameters:
prefix - The namespace prefix of which the assocation with a namespace name is to be removed.
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.

Throws:
RepositoryException - If the namespace declarations could not be removed.

getNamespaces

public RepositoryResult<Namespace> getNamespaces()
                                          throws RepositoryException
Description copied from interface: RepositoryConnection
Gets all declared namespaces as a RepositoryResult of Namespace objects. Each Namespace object consists of a prefix and a namespace name.

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 String getNamespace(String prefix)
                    throws RepositoryException
Description copied from interface: RepositoryConnection
Gets the namespace that is associated with the specified prefix, if any.

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:
RepositoryException - If the namespace could not be read from the repository.

createRepositoryResult

protected <E> RepositoryResult<E> createRepositoryResult(CloseableIteration<? extends E,SailException> sailIter)
Wraps a CloseableIteration coming from a Sail in a RepositoryResult object, applying the required conversions



Copyright © 2001-2008 Aduna. All Rights Reserved.