Class RemoveUnnecessaryL2gAndG2l

java.lang.Object
se.liu.ida.hefquin.engine.queryproc.impl.loptimizer.heuristics.RemoveUnnecessaryL2gAndG2l
All Implemented Interfaces:
HeuristicForLogicalOptimization

public class RemoveUnnecessaryL2gAndG2l extends Object implements HeuristicForLogicalOptimization
  • Constructor Details

    • RemoveUnnecessaryL2gAndG2l

      public RemoveUnnecessaryL2gAndG2l()
  • Method Details

    • apply

      public LogicalPlan apply(LogicalPlan inputPlan)
      Description copied from interface: HeuristicForLogicalOptimization
      Applies this heuristics to the given plan and returns the resulting, potentially rewritten plan.
      Specified by:
      apply in interface HeuristicForLogicalOptimization
    • checkIfL2gOrG2lNeeded

      protected boolean checkIfL2gOrG2lNeeded(LogicalPlan plan)
      This function is used to check if a l2g or g2l operator is needed. The current implementation assumes that only concepts and roles are being considered in vocabulary mapping and that the data of the federation members is only instance data (i.e., properties appear only in the predicate position of triples and classes appear only in the object position of rdf:type triples).
    • extractTPs

      protected static Set<TriplePattern> extractTPs(LogicalPlan plan)