org.openrdf.repository.sail
Class SailRepository

java.lang.Object
  extended by org.openrdf.repository.sail.SailRepository
All Implemented Interfaces:
Repository

public class SailRepository
extends Object
implements Repository

An implementation of the Repository interface that operates on a (stack of) Sail object(s). The behaviour of the repository is determined by the Sail stack that it operates on; for example, the repository will only support RDF Schema or OWL semantics if the Sail stack includes an inferencer for this.

Creating a repository object of this type is very easy. For example, the following code creates and initializes a main-memory store with RDF Schema semantics:

 Repository repository = new RepositoryImpl(new ForwardChainingRDFSInferencer(new MemoryStore()));
 repository.initialize();
 
Or, alternatively:
 Sail sailStack = new MemoryStore();
 sailStack = new ForwardChainingRDFSInferencer(sailStack);
 
 Repository repository = new Repository(sailStack);
 repository.initialize();
 

Author:
Arjohn Kampman

Constructor Summary
SailRepository(Sail sail)
          Creates a new repository object that operates on the supplied Sail.
 
Method Summary
 SailRepositoryConnection getConnection()
          Opens a connection to this repository that can be used for querying and updating the contents of the repository.
 File getDataDir()
          Get the directory where data and logging for this repository is stored.
 Sail getSail()
          Gets the Sail object that is on top of the Sail stack that this repository operates on.
 ValueFactory getValueFactory()
          Gets a ValueFactory for this Repository.
 void initialize()
          Initializes this repository.
 boolean isWritable()
          Checks whether this repository is writable, i.e.
 void setDataDir(File dataDir)
          Set the directory where data and logging for this repository is stored.
 void shutDown()
          Shuts the repository down, releasing any resources that it keeps hold of.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SailRepository

public SailRepository(Sail sail)
Creates a new repository object that operates on the supplied Sail.

Parameters:
sail - A Sail object.
Method Detail

getDataDir

public File getDataDir()
Description copied from interface: Repository
Get the directory where data and logging for this repository is stored.

Specified by:
getDataDir in interface Repository
Returns:
the directory where data for this repository is stored.

setDataDir

public void setDataDir(File dataDir)
Description copied from interface: Repository
Set the directory where data and logging for this repository is stored.

Specified by:
setDataDir in interface Repository
Parameters:
dataDir - the directory where data for this repository is stored

initialize

public void initialize()
                throws RepositoryException
Description copied from interface: Repository
Initializes this repository. A repository needs to be initialized before it can be used.

Specified by:
initialize in interface Repository
Throws:
RepositoryException - If the initialization failed.

shutDown

public void shutDown()
              throws RepositoryException
Description copied from interface: Repository
Shuts the repository down, releasing any resources that it keeps hold of. Once shut down, the repository can no longer be used until it is re-initialized.

Specified by:
shutDown in interface Repository
Throws:
RepositoryException

getSail

public Sail getSail()
Gets the Sail object that is on top of the Sail stack that this repository operates on.

Returns:
A Sail object.

isWritable

public boolean isWritable()
                   throws RepositoryException
Description copied from interface: Repository
Checks whether this repository is writable, i.e. if the data contained in this repository can be changed. The writability of the repository is determined by the writability of the Sail that this repository operates on.

Specified by:
isWritable in interface Repository
Throws:
RepositoryException

getValueFactory

public ValueFactory getValueFactory()
Description copied from interface: Repository
Gets a ValueFactory for this Repository.

Specified by:
getValueFactory in interface Repository
Returns:
A repository-specific ValueFactory.

getConnection

public SailRepositoryConnection getConnection()
                                       throws RepositoryException
Description copied from interface: Repository
Opens a connection to this repository that can be used for querying and updating the contents of the repository. Created connections need to be closed to make sure that any resources they keep hold of are released. The best way to do this is to use a try-finally-block as follows:
 Connection con = repository.getConnection();
 try {
        // perform operations on the connection
 }
 finally {
        con.close();
 }
 

Specified by:
getConnection in interface Repository
Returns:
A connection that allows operations on this repository.
Throws:
RepositoryException - If something went wrong during the creation of the Connection.


Copyright © 2001-2008 Aduna. All Rights Reserved.