org.ilrt.inkling.query
Class QE

java.lang.Object
  |
  +--org.ilrt.inkling.query.QE

public class QE
extends java.lang.Object

A simple, in-memory query engine implementation.
In general, it should not be used directly, but via Graph, like this:

Graph gr = new Graph(null, uri, Util.RDFXML);
gr.load();
java.sql.ResultSet r=gr.askSquish(query);

or for squish queries with 'from' clauses specifying the urls to query, use

Graph gr = new Graph();
java.sql.ResultSet r=gr.askSquish(query);


or if you want to access the query (ComplexQuery) itself, do it like this:

ComplexQuery cq=(ComplexQuery)SquishParser.parse(query);
cq.getGraphs().addElement(ug);
QE qe=new QE();

java.sql.ResultSet r=qe.executeQuery(cq);


Field Summary
 java.util.Hashtable constraints
           
 java.util.Vector variables
           
 
Constructor Summary
QE()
           
QE(java.lang.Object source, java.lang.String handler)
           
 
Method Summary
 boolean constraintCheck(TreeNode tn, Query t)
          constraints method - gets a constraint from a triple and returns a boolean if it matches.
 void createIndex(GraphInterface results1, Query t1)
           
 java.sql.ResultSet executeQuery(ComplexQuery cq)
          executeQuery is called with a ComplexQuery object this is basically a graph but with variables and optionally constraints and 'graphs' ('from' stuff) It returns a java.sql.Resultset.
 void fillConstraints(java.util.Vector constraints)
          Just puts constraints in a more useful format
 java.util.Vector listVariables(java.util.Vector triples)
           
 java.util.Vector listVariablesRaw(java.util.Vector triples)
          A list of all the variables used
static void main(java.lang.String[] args)
           
 GraphInterface query(Query t, java.lang.Object source)
          Makes a query of an RDF database and returns the results as a graph (GraphInterface) subject-, predicate- and object- variables are the variable names.
 void toResultSet(TreeNode tn, java.util.Hashtable row)
          little recursive method for climbing the resultset tree
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

variables

public java.util.Vector variables

constraints

public java.util.Hashtable constraints
Constructor Detail

QE

public QE(java.lang.Object source,
          java.lang.String handler)

QE

public QE()
Method Detail

main

public static void main(java.lang.String[] args)

query

public GraphInterface query(Query t,
                            java.lang.Object source)
Makes a query of an RDF database and returns the results as a graph (GraphInterface) subject-, predicate- and object- variables are the variable names. subject, predicate and object can be null

createIndex

public void createIndex(GraphInterface results1,
                        Query t1)

listVariables

public java.util.Vector listVariables(java.util.Vector triples)

listVariablesRaw

public java.util.Vector listVariablesRaw(java.util.Vector triples)
A list of all the variables used

executeQuery

public java.sql.ResultSet executeQuery(ComplexQuery cq)
executeQuery is called with a ComplexQuery object this is basically a graph but with variables and optionally constraints and 'graphs' ('from' stuff) It returns a java.sql.Resultset.

toResultSet

public void toResultSet(TreeNode tn,
                        java.util.Hashtable row)
little recursive method for climbing the resultset tree

constraintCheck

public boolean constraintCheck(TreeNode tn,
                               Query t)
constraints method - gets a constraint from a triple and returns a boolean if it matches. little bit rough around the edges but seems to work ok.

fillConstraints

public void fillConstraints(java.util.Vector constraints)
Just puts constraints in a more useful format