Class CanonicalPlanner

  • All Implemented Interfaces:
    IPlanner

    public class CanonicalPlanner
    extends Planner
    Implements the Canonical planner class. It receives a link specification as input and generates an immutable NestedPlan.
    Version:
    1.0
    Author:
    Axel-C. Ngonga Ngomo (ngonga@informatik.uni-leipzig.de), Kleanthi Georgala (georgala@informatik.uni-leipzig.de)
    • Constructor Detail

      • CanonicalPlanner

        public CanonicalPlanner()
        Constructor of the CanonicalPlanner class.
    • Method Detail

      • plan

        public NestedPlan plan​(LinkSpecification spec)
        Generates a NestedPlan for a link specification. If the link specification is null or empty it returns an empty plan. If the link specification is atomic, the planner generates a simple plan that consists of one RUN instruction. If the link specification is complex, firstly it generates a plan for each of the children specifications and sets them as subPlans. Then, it assigns to the plan the corresponding command based on the link specification operator and finally creates a filtering instruction using the filtering expression and threshold of the input link specification.
        Parameters:
        spec - Input link specification
        Returns:
        a NestedPlan of the input link specification
      • isStatic

        public boolean isStatic()
        Returns the status of the planner.
        Returns:
        true
      • normalize

        public LinkSpecification normalize​(LinkSpecification spec)
        Normalization of input link specification.
        Parameters:
        spec - The input link specification
        Returns:
        the normalized link specification