uk.ac.bbk.dcs.automed.qproc.reformulate
Class QueryReformulator

java.lang.Object
  extended by uk.ac.bbk.dcs.automed.qproc.reformulate.QueryReformulator
All Implemented Interfaces:
QueryReformulationProvider

public class QueryReformulator
extends java.lang.Object
implements QueryReformulationProvider

Responsible for reformulating a query along AutoMed pathways (GAV, LAV or BAV). Reformulation logic is the same irrespective of the reformulation technique(GAV, BAV, LAV). This is because the functionality to create composite views takes care of providing the correct set of views to the reformulation class. Query reformulator is constructed as an empty instance. When using the reformulate() method, the source schema, target schema and the query processor configuration is provided. Because of caching of composite and atomics views at lower levels, its very cheap to have any number of instances of this class and just use reformulate method whenever needed.

Author:
Sandeep Mittal, Lucas Zamboulis

Field Summary
protected  java.util.logging.Logger _logger
           
 
Constructor Summary
QueryReformulator()
          Constructs an instance of this class.
 
Method Summary
static void main(java.lang.String[] args)
           
 void reformulate(ASG query, Schema source, Schema[] targets, java.lang.String integrationSemantics, QueryProcessorConfiguration qpc)
          Reformulate an IQL query based on a given configuration
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_logger

protected java.util.logging.Logger _logger
Constructor Detail

QueryReformulator

public QueryReformulator()
Constructs an instance of this class.

Method Detail

reformulate

public void reformulate(ASG query,
                        Schema source,
                        Schema[] targets,
                        java.lang.String integrationSemantics,
                        QueryProcessorConfiguration qpc)
                 throws QueryReformulationException
Description copied from interface: QueryReformulationProvider
Reformulate an IQL query based on a given configuration

Specified by:
reformulate in interface QueryReformulationProvider
Parameters:
query - an ASG object of an IQL query
integrationSemantics - Semantics of how to combine results from various target databases.
qpc - a {@link QueryProcessingConfiguration) object specific for query reformulation
Throws:
QueryReformulationException

main

public static void main(java.lang.String[] args)
                 throws java.lang.Exception
Throws:
java.lang.Exception