Class ByPieceAndVariableCoreProcessor

java.lang.Object
fr.inria.rules.integraal.core.ByPieceAndVariableCoreProcessor
All Implemented Interfaces:
CoreProcessor<FactBase>

public class ByPieceAndVariableCoreProcessor extends Object implements CoreProcessor<FactBase>
Compute the core of a fact base with an algorithm that computes the core by removing a variable in the atom set and try to retract the piece that contains this variable into the fact base Based on the algorithm presented in "Efficient Core Computation in Data Exchange", p.9:41, by G. Gottlob and A. Nash
Author:
Guillaume Pérution-Kihli
  • Constructor Details

    • ByPieceAndVariableCoreProcessor

      public ByPieceAndVariableCoreProcessor()
      Creates a core processor using the default generic query evaluator.
    • ByPieceAndVariableCoreProcessor

      public ByPieceAndVariableCoreProcessor(FOQueryEvaluator<FOFormula, ? super FactBase> evaluator)
      Creates a core processor using the provided query evaluator.
      Parameters:
      evaluator - the evaluator used to test retractions during core computation
  • Method Details

    • computeCore

      public void computeCore(FactBase fb, Set<Variable> frozenVariables)
      Description copied from interface: CoreProcessor
      Compute the core of a fact base by removing all the redundant atoms in it, in considering the frozen variables as constants, these variables must belong to the core.
      Specified by:
      computeCore in interface CoreProcessor<FactBase>
      Parameters:
      fb - the writable data on which we want to compute the core
      frozenVariables - Variables that will be treated as constants