uk.ac.bbk.dcs.automed.qproc.reformulate
Class QueryReformulator
java.lang.Object
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
|
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
_logger
protected java.util.logging.Logger _logger
QueryReformulator
public QueryReformulator()
- Constructs an instance of this class.
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 queryintegrationSemantics - 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