Package weka.experiment
Class InstanceQuery
- java.lang.Object
-
- weka.experiment.DatabaseUtils
-
- weka.experiment.InstanceQuery
-
- All Implemented Interfaces:
java.io.Serializable
,OptionHandler
,RevisionHandler
public class InstanceQuery extends DatabaseUtils implements OptionHandler
Convert the results of a database query into instances. The jdbc driver and database to be used default to "jdbc.idbDriver" and "jdbc:idb=experiments.prp". These may be changed by creating a java properties file called DatabaseUtils.props in user.home or the current directory. eg:jdbcDriver=jdbc.idbDriver jdbcURL=jdbc:idb=experiments.prp
Command line use just outputs the instances to System.out.
Valid options are:-Q <query> SQL query to execute.
-S Return sparse rather than normal instances.
-U <username> The username to use for connecting.
-P <password> The password to use for connecting.
-D Enables debug output.
- Version:
- $Revision: 11887 $
- Author:
- Len Trigg (trigg@cs.waikato.ac.nz)
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class weka.experiment.DatabaseUtils
BOOL, BYTE, DATE, DOUBLE, EXP_INDEX_TABLE, EXP_RESULT_COL, EXP_RESULT_PREFIX, EXP_SETUP_COL, EXP_TYPE_COL, FLOAT, INTEGER, LONG, PROPERTY_FILE, SHORT, STRING, TEXT, TIME, TIMESTAMP
-
-
Constructor Summary
Constructors Constructor Description InstanceQuery()
Sets up the database drivers
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String[]
getOptions()
Gets the current settings of InstanceQueryjava.lang.String
getQuery()
Get the query to execute against the databasejava.lang.String
getRevision()
Returns the revision string.boolean
getSparseData()
Gets whether data is to be returned as a set of sparse instancesjava.util.Enumeration
listOptions()
Returns an enumeration describing the available optionsstatic void
main(java.lang.String[] args)
Test the class from the command line.java.lang.String
queryTipText()
Returns the tip text for this propertyInstances
retrieveInstances()
Makes a database query using the query set through the -Q option to convert a table into a set of instancesInstances
retrieveInstances(java.lang.String query)
Makes a database query to convert a table into a set of instancesvoid
setOptions(java.lang.String[] options)
Parses a given list of options.void
setQuery(java.lang.String q)
Set the query to execute against the databasevoid
setSparseData(boolean s)
Sets whether data should be encoded as sparse instancesjava.lang.String
sparseDataTipText()
Returns the tip text for this property-
Methods inherited from class weka.experiment.DatabaseUtils
arrayToString, close, close, connectToDatabase, createExperimentIndex, createExperimentIndexEntry, createResultsTable, databaseURLTipText, debugTipText, disconnectFromDatabase, execute, experimentIndexExists, getDatabaseURL, getDebug, getKeywords, getKeywordsMaskChar, getPassword, getResultFromTable, getResultSet, getResultsTableName, getSupportedCursorScrollType, getUsername, isConnected, isCursorScrollable, isCursorScrollSensitive, isKeyword, maskKeyword, passwordTipText, processKeyString, putResultInTable, select, setDatabaseURL, setDebug, setKeywords, setKeywordsMaskChar, setPassword, setUsername, tableExists, translateDBColumnType, typeName, update, usernameTipText
-
-
-
-
Method Detail
-
listOptions
public java.util.Enumeration listOptions()
Returns an enumeration describing the available options- Specified by:
listOptions
in interfaceOptionHandler
- Returns:
- an enumeration of all options
-
setOptions
public void setOptions(java.lang.String[] options) throws java.lang.Exception
Parses a given list of options. Valid options are:-Q <query> SQL query to execute.
-S Return sparse rather than normal instances.
-U <username> The username to use for connecting.
-P <password> The password to use for connecting.
-D Enables debug output.
- Specified by:
setOptions
in interfaceOptionHandler
- Parameters:
options
- the list of options as an array of strings- Throws:
java.lang.Exception
- if an option is not supported
-
queryTipText
public java.lang.String queryTipText()
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
setQuery
public void setQuery(java.lang.String q)
Set the query to execute against the database- Parameters:
q
- the query to execute
-
getQuery
public java.lang.String getQuery()
Get the query to execute against the database- Returns:
- the query
-
sparseDataTipText
public java.lang.String sparseDataTipText()
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
setSparseData
public void setSparseData(boolean s)
Sets whether data should be encoded as sparse instances- Parameters:
s
- true if data should be encoded as a set of sparse instances
-
getSparseData
public boolean getSparseData()
Gets whether data is to be returned as a set of sparse instances- Returns:
- true if data is to be encoded as sparse instances
-
getOptions
public java.lang.String[] getOptions()
Gets the current settings of InstanceQuery- Specified by:
getOptions
in interfaceOptionHandler
- Returns:
- an array of strings suitable for passing to setOptions()
-
retrieveInstances
public Instances retrieveInstances() throws java.lang.Exception
Makes a database query using the query set through the -Q option to convert a table into a set of instances- Returns:
- the instances contained in the result of the query
- Throws:
java.lang.Exception
- if an error occurs
-
retrieveInstances
public Instances retrieveInstances(java.lang.String query) throws java.lang.Exception
Makes a database query to convert a table into a set of instances- Parameters:
query
- the query to convert to instances- Returns:
- the instances contained in the result of the query, NULL if the SQL query doesn't return a ResultSet, e.g., DELETE/INSERT/UPDATE
- Throws:
java.lang.Exception
- if an error occurs
-
main
public static void main(java.lang.String[] args)
Test the class from the command line. The instance query should be specified with -Q sql_query- Parameters:
args
- contains options for the instance query
-
getRevision
public java.lang.String getRevision()
Returns the revision string.- Specified by:
getRevision
in interfaceRevisionHandler
- Overrides:
getRevision
in classDatabaseUtils
- Returns:
- the revision
-
-