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

java.lang.Object
  extended by uk.ac.bbk.dcs.automed.qproc.reformulate.CompositeViewMap
      extended by uk.ac.bbk.dcs.automed.qproc.reformulate.LAVInvRulesViewMap

public class LAVInvRulesViewMap
extends CompositeViewMap

Class containing LAV composite views between a single source schema and a single target schema. LAV views are constructed from ADD, EXTEND, RENAME and IDENTITY atomic views. The ADD and EXTEND atomic views need to be processed further before these could be used to form composite views. Currently we used Inverse Rules algorithm as described in the following paper:

           P.J. McBrien and A. Poulovassilis. P2P query reformulation over Both-as-View
           data transformation rules. In Proc of DBISP2P 2006.
 

Author:
Lucas Zamboulis, Sandeep Mittal

Field Summary
 
Fields inherited from class uk.ac.bbk.dcs.automed.qproc.reformulate.CompositeViewMap
_instanceCache, _logger, _name, _qpc, _sourceSchema, _targetSchema, _viewMap
 
Constructor Summary
protected LAVInvRulesViewMap(Schema source, Schema target, QueryProcessorConfiguration qpc)
          This constructor is called from CompositeViewMap class getInstance() method.
 
Method Summary
protected  void buildViews()
          Constructs the composite views
protected  boolean searchAndReplace(Cell c, java.util.Map[] maps, java.util.Set vkSet)
          LAV view construction may not find all the constructs in target schema for the constructs in the source schema.
 
Methods inherited from class uk.ac.bbk.dcs.automed.qproc.reformulate.CompositeViewMap
buildViews, composeView, computeName, getFinalConstructs, getInstance, getName, getSourceSchema, getTargetSchema, getViewMap, populateViewMap, showInstanceCache, showViewMap, updateSchemaRef
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LAVInvRulesViewMap

protected LAVInvRulesViewMap(Schema source,
                             Schema target,
                             QueryProcessorConfiguration qpc)
                      throws BuildViewException
This constructor is called from CompositeViewMap class getInstance() method. Do not otherwise.

Parameters:
source - Source Schema
target - Target Schema
qpc - Query Processor configuration
Throws:
BuildViewException
Method Detail

buildViews

protected void buildViews()
                   throws BuildViewException
Constructs the composite views

Specified by:
buildViews in class CompositeViewMap
Throws:
BuildViewException

searchAndReplace

protected boolean searchAndReplace(Cell c,
                                   java.util.Map[] maps,
                                   java.util.Set vkSet)
                            throws BuildViewException
LAV view construction may not find all the constructs in target schema for the constructs in the source schema. This is a limitation of the LAV query reformulation technique. Hence this method has been overridden to catch such an exception.

Overrides:
searchAndReplace in class CompositeViewMap
Parameters:
c - the root of the IQL query
Throws:
BuildViewException