org.openrdf.sail.rdbms
Class RdbmsConnection

java.lang.Object
  extended by org.openrdf.sail.helpers.SailConnectionBase
      extended by org.openrdf.sail.rdbms.RdbmsConnection
All Implemented Interfaces:
SailConnection

public class RdbmsConnection
extends SailConnectionBase

Coordinates the triple store, namespace manager, optimizer, and evaluation strategy into the SailConnection interface.

Author:
James Leigh

Field Summary
 
Fields inherited from class org.openrdf.sail.helpers.SailConnectionBase
logger
 
Constructor Summary
RdbmsConnection(RdbmsStore sail, RdbmsTripleRepository triples)
           
 
Method Summary
 void addStatement(Resource subj, URI pred, Value obj, Resource... contexts)
          Adds a statement to each context in the specified contexts.
 void begin()
          Begins a transaction requiring SailConnection.commit() or SailConnection.rollback() to be called to close the transaction.
 void clearNamespaces()
          Removes all namespace declarations from the repository.
 void close()
          Closes the connection.
 void commit()
          Commits any updates that have been performed since the last time SailConnection.commit() or SailConnection.rollback() was called.
 Cursor<BindingSet> evaluate(QueryModel query, BindingSet bindings, boolean includeInferred)
          Evaluates the supplied TupleExpr on the data contained in this Sail object, using the (optional) dataset and supplied bindings as input parameters.
protected  void finalize()
           
 RdbmsResourceCursor getContextIDs()
          Returns the set of all unique context identifiers that are used to store statements.
 String getNamespace(String prefix)
          Gets the namespace that is mapped to the specified prefix.
 Cursor<? extends Namespace> getNamespaces()
          Gets the namespaces relevant to the data contained in this Sail object.
 Cursor<? extends Statement> getStatements(Resource subj, URI pred, Value obj, boolean includeInferred, Resource... contexts)
          Gets all statements from the specified contexts that have a specific subject, predicate and/or object.
 RdbmsValueFactory getValueFactory()
          Gets a ValueFactory object that can be used to create URI-, blank node-, literal- and statement objects.
 void removeNamespace(String prefix)
          Removes a namespace declaration by removing the association between a prefix and a namespace name.
 void removeStatements(Resource subj, URI pred, Value obj, Resource... contexts)
          Removes all statements matching the specified subject, predicate and object from the repository.
 void rollback()
          Rolls back the SailConnection, discarding any uncommitted changes that have been made in this SailConnection.
 void setLockManager(ExclusiveLockManager lock)
           
 void setNamespace(String prefix, String name)
          Sets the prefix of a namespace.
 void setNamespaces(NamespaceManager namespaces)
           
 void setRdbmsEvaluationFactory(RdbmsEvaluationFactory factory)
           
 void setRdbmsQueryOptimizer(RdbmsQueryOptimizer optimizer)
           
 long size(Resource subj, URI pred, Value obj, boolean includeInferred, Resource... contexts)
          Returns the number of statements matching the specified pattern.
 
Methods inherited from class org.openrdf.sail.helpers.SailConnectionBase
getTransactionIsolation, isAutoCommit, isOpen, isReadOnly, setReadOnly, setTransactionIsolation
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RdbmsConnection

public RdbmsConnection(RdbmsStore sail,
                       RdbmsTripleRepository triples)
Method Detail

getValueFactory

public RdbmsValueFactory getValueFactory()
Description copied from interface: SailConnection
Gets a ValueFactory object that can be used to create URI-, blank node-, literal- and statement objects.

Returns:
a ValueFactory object for this Sail object.

setNamespaces

public void setNamespaces(NamespaceManager namespaces)

setRdbmsQueryOptimizer

public void setRdbmsQueryOptimizer(RdbmsQueryOptimizer optimizer)

setRdbmsEvaluationFactory

public void setRdbmsEvaluationFactory(RdbmsEvaluationFactory factory)

setLockManager

public void setLockManager(ExclusiveLockManager lock)

addStatement

public void addStatement(Resource subj,
                         URI pred,
                         Value obj,
                         Resource... contexts)
                  throws StoreException
Description copied from interface: SailConnection
Adds a statement to each context in the specified contexts.

Parameters:
subj - The subject of the statement to add.
pred - The predicate of the statement to add.
obj - The object of the statement to add.
contexts - The context(s) to add the statement to. 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:
StoreException - If the statement could not be added.

close

public void close()
           throws StoreException
Description copied from interface: SailConnection
Closes the connection. Any updates that haven't been committed yet will be rolled back. The connection can no longer be used once it is closed.

Specified by:
close in interface SailConnection
Overrides:
close in class SailConnectionBase
Throws:
StoreException

commit

public void commit()
            throws StoreException
Description copied from interface: SailConnection
Commits any updates that have been performed since the last time SailConnection.commit() or SailConnection.rollback() was called.

Specified by:
commit in interface SailConnection
Overrides:
commit in class SailConnectionBase
Throws:
StoreException - If the SailConnection could not be committed, or if the connection does not have an active connection.

getContextIDs

public RdbmsResourceCursor getContextIDs()
                                  throws StoreException
Description copied from interface: SailConnection
Returns the set of all unique context identifiers that are used to store statements.

Returns:
An iterator over the context identifiers, should not contain any duplicates.
Throws:
StoreException

getStatements

public Cursor<? extends Statement> getStatements(Resource subj,
                                                 URI pred,
                                                 Value obj,
                                                 boolean includeInferred,
                                                 Resource... contexts)
                                          throws StoreException
Description copied from interface: SailConnection
Gets all statements from the specified contexts that have a specific subject, predicate and/or object. All three parameters may be null to indicate wildcards. The includeInferred parameter can be used to control which statements are fetched: all statements or only the statements that have been added explicitly.

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
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.
Throws:
StoreException - If the Sail object encountered an error or unexpected situation internally.

removeStatements

public void removeStatements(Resource subj,
                             URI pred,
                             Value obj,
                             Resource... contexts)
                      throws StoreException
Description copied from interface: SailConnection
Removes all statements matching the specified subject, predicate and object from the repository. All three parameters may be null to indicate wildcards.

Parameters:
subj - The subject of the statement that should be removed, or null to indicate a wildcard.
pred - The predicate of the statement that should be removed, or null to indicate a wildcard.
obj - The object of the statement that should be removed , or null to indicate a wildcard. *
contexts - The context(s) from which to remove the statement. 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:
StoreException - If the statement could not be removed.

rollback

public void rollback()
              throws StoreException
Description copied from interface: SailConnection
Rolls back the SailConnection, discarding any uncommitted changes that have been made in this SailConnection.

Specified by:
rollback in interface SailConnection
Overrides:
rollback in class SailConnectionBase
Throws:
StoreException - If the SailConnection could not be rolled back, or if the connection does not have an active connection.

evaluate

public Cursor<BindingSet> evaluate(QueryModel query,
                                   BindingSet bindings,
                                   boolean includeInferred)
                            throws StoreException
Description copied from interface: SailConnection
Evaluates the supplied TupleExpr on the data contained in this Sail object, using the (optional) dataset and supplied bindings as input parameters.

bindings - A set of input parameters for the query evaluation. The keys reference variable names that should be bound to the value they map to.
includeInferred - Indicates whether inferred triples are to be considered in the query result. If false, no inferred statements are returned; if true, inferred statements are returned if available
Returns:
The TupleQueryResult.
Throws:
StoreException - If the Sail object encountered an error or unexpected situation internally.

clearNamespaces

public void clearNamespaces()
                     throws StoreException
Description copied from interface: SailConnection
Removes all namespace declarations from the repository.

Throws:
StoreException - If the namespaces could not be removed.

getNamespace

public String getNamespace(String prefix)
                    throws StoreException
Description copied from interface: SailConnection
Gets the namespace that is mapped to the specified prefix.

Parameters:
prefix - A namespace prefix.
Returns:
The namespace name that the specified prefix maps to.
Throws:
StoreException

getNamespaces

public Cursor<? extends Namespace> getNamespaces()
                                          throws StoreException
Description copied from interface: SailConnection
Gets the namespaces relevant to the data contained in this Sail object.

Returns:
An iterator over the relevant namespaces, should not contain any duplicates.
Throws:
StoreException - If the Sail object encountered an error or unexpected situation internally.

removeNamespace

public void removeNamespace(String prefix)
                     throws StoreException
Description copied from interface: SailConnection
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:
StoreException - If the namespace prefix could not be removed.

setNamespace

public void setNamespace(String prefix,
                         String name)
                  throws StoreException
Description copied from interface: SailConnection
Sets the prefix of a namespace.

Parameters:
prefix - The new prefix.
name - The namespace name that the prefix maps to.
Throws:
StoreException

size

public long size(Resource subj,
                 URI pred,
                 Value obj,
                 boolean includeInferred,
                 Resource... contexts)
          throws StoreException
Description copied from interface: SailConnection
Returns the number of statements matching the specified pattern.

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 - Indicates whether inferred statements should be counted.
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 in this Sail.
Throws:
StoreException

begin

public void begin()
           throws StoreException
Description copied from interface: SailConnection
Begins a transaction requiring SailConnection.commit() or SailConnection.rollback() to be called to close the transaction.

Specified by:
begin in interface SailConnection
Overrides:
begin in class SailConnectionBase
Throws:
StoreException - If the connection could not start a transaction, or if it already has an active transaction.
See Also:
SailConnection.isAutoCommit()

finalize

protected void finalize()
                 throws Throwable
Overrides:
finalize in class Object
Throws:
Throwable


Copyright © 2001-2009 Aduna. All Rights Reserved.