com.hp.hpl.jena.db
Interface IDBConnection

All Known Implementing Classes:
DBConnection

public interface IDBConnection

Encapsulate the specification of a jdbc connection, mostly used to simplify the calling pattern for ModelRDB factory methods.

Version:
$Revision: 1.1 $ on $Date: 2003/04/25 02:56:52 $
Author:
csayers (based on earlier code by der)

Method Summary
 void cleanDB()
          Clear all RDF information from the database.
 void close()
          Close the jdbc connection
 boolean containsDefaultModel()
          Test if a default model is contained in the database.
 boolean containsModel(java.lang.String name)
          Test if a given model is contained in the database.
 ExtendedIterator getAllModelNames()
          Retrieve a list of all models in the database
 java.sql.Connection getConnection()
          Return the jdbc connection or null if we no longer have access to a connection.
 Model getDatabaseProperties()
          Returns a Jena Model containing database properties.
 java.lang.String getDatabaseType()
          Get the database type.
 Model getDefaultModelProperties()
          Retrieve a default set of model customization properties The returned default set of properties is suitable for use in a call to ModelRDB.create(..., modelProperties);
 com.hp.hpl.jena.db.impl.IRDBDriver getDriver()
          Get the database-specific driver For this to work, it needs to know the type of database being used.
 com.hp.hpl.jena.db.impl.IRDBDriver getDriver(java.lang.String layout, java.lang.String database)
          Deprecated. As of Jena 2.0 this call should not be used. Instead specify the database type when constructing a DBConnection and then pass that connection to the GraphRDB. There is no longer any need for applications to interact with the IRDBDriver. To customize the database configuration/layout use the formatDB(propertyModel) call.
 boolean isFormatOK()
          Return true if the database seems to be formated for RDF storage.
 void setDatabaseProperties(Model propertyModel)
          Sets database-specific properties.
 void setDatabaseType(java.lang.String databaseType)
          Set the database type manually.
 void setDriver(com.hp.hpl.jena.db.impl.IRDBDriver driver)
          Set the IRDBDriver to use for this connection.
 

Method Detail

getConnection

public java.sql.Connection getConnection()
                                  throws java.sql.SQLException
Return the jdbc connection or null if we no longer have access to a connection.

Throws:
java.sql.SQLException

close

public void close()
           throws java.sql.SQLException
Close the jdbc connection

Throws:
java.sql.SQLException

cleanDB

public void cleanDB()
             throws java.sql.SQLException
Clear all RDF information from the database. This is equivalent to (but faster than) calling ModelRDB.clear() on every model in the database.

Throws:
java.sql.SQLException

isFormatOK

public boolean isFormatOK()
                   throws RDFRDBException
Return true if the database seems to be formated for RDF storage. This is not an integrity check this is simply a flag recording that a base level table exists. Any access errors are treated as the database not being formated.

Throws:
RDFRDBException

setDatabaseProperties

public void setDatabaseProperties(Model propertyModel)
                           throws RDFRDBException
Sets database-specific properties. These properties may only be set before the first Model has been stored in the database. After that point, the database structure is frozen. Use the properties to optionally customize the database - this won't change the results you see when using the graph interface, but it may alter the speed with which you get them or the space required by the database. The properties must form a complete and consistent set. The easist way to get a complete and consistent set is to call getDBProperties(), modify it, and then use that as an argument in the call to format(). Note that some implementations may choose to delay actually peforming the formatting operation until at least one Graph is constructed in the database. Throws an exception if the database cannot be suitably formatted. A database may only be formatted once. Attempting to reformat a database causes an exception (use isFormatOK() if you need to test).

Parameters:
propertyModel - is a Model describing the database parameters
Throws:
RDFRDBException
Since:
Jena 2.0

getDatabaseProperties

public Model getDatabaseProperties()
                            throws RDFRDBException
Returns a Jena Model containing database properties. These describe the optimization/layout for the database. If the database has not been formatted, then a default set of properties is returned. Otherwise the actual properties are returned. The returned Model is a copy, modifying it will have no immediate effect on the database.

Throws:
RDFRDBException
Since:
Jena 2.0

setDatabaseType

public void setDatabaseType(java.lang.String databaseType)
Set the database type manually. This is not for public use (it is preferable to specify it in the constructor) - included here to handle older code, which didn't use the new constructor.

Since:
Jena 2.0

getDefaultModelProperties

public Model getDefaultModelProperties()
                                throws RDFRDBException
Retrieve a default set of model customization properties The returned default set of properties is suitable for use in a call to ModelRDB.create(..., modelProperties);

Returns:
Model containing default properties
Throws:
RDFRDBException

getDatabaseType

public java.lang.String getDatabaseType()
Get the database type.

Returns:
String database type, or null if unset
Since:
Jena 2.0

getAllModelNames

public ExtendedIterator getAllModelNames()
                                  throws RDFRDBException
Retrieve a list of all models in the database

Returns:
Iterator over String names for graphs.
Throws:
RDFDBException
RDFRDBException
Since:
Jena 2.0

containsModel

public boolean containsModel(java.lang.String name)
                      throws RDFRDBException
Test if a given model is contained in the database.

Parameters:
name - the name of a model which may be in the database
Returns:
Boolean true if the model is contained in the database
Throws:
RDFDBException
RDFRDBException
Since:
Jena 2.0

containsDefaultModel

public boolean containsDefaultModel()
                             throws RDFRDBException
Test if a default model is contained in the database. A default model is a model for which no specific name was specified. (One that was created by calling ModelRDB.createModel without specifying a name).

Returns:
Boolean true if the model is contained in the database
Throws:
RDFDBException
RDFRDBException
Since:
Jena 2.0

getDriver

public com.hp.hpl.jena.db.impl.IRDBDriver getDriver()
                                             throws RDFRDBException
Get the database-specific driver For this to work, it needs to know the type of database being used. That may be specified in the constructor (preferred) or done later by using the setDatabaseType method (for backward compatability).

Throws:
RDFRDBException

setDriver

public void setDriver(com.hp.hpl.jena.db.impl.IRDBDriver driver)
Set the IRDBDriver to use for this connection. Useful to enable external drivers to be registered outside of the standard driver package.


getDriver

public com.hp.hpl.jena.db.impl.IRDBDriver getDriver(java.lang.String layout,
                                                    java.lang.String database)
                                             throws RDFRDBException
Deprecated. As of Jena 2.0 this call should not be used. Instead specify the database type when constructing a DBConnection and then pass that connection to the GraphRDB. There is no longer any need for applications to interact with the IRDBDriver. To customize the database configuration/layout use the formatDB(propertyModel) call.

Helper function to locate and instantiate the driver class corresponding to a given layout and database name Throws an RDFRDBexception if the driver can't be instantiated

Throws:
RDFRDBException


Copyright © 2001-2003 Hewlett-Packard. All Rights Reserved.