Class ServiceClauseBasedSourcePlannerImpl

java.lang.Object
se.liu.ida.hefquin.engine.queryproc.impl.srcsel.SourcePlannerBase
se.liu.ida.hefquin.engine.queryproc.impl.srcsel.ServiceClauseBasedSourcePlannerImpl
All Implemented Interfaces:
SourcePlanner
Direct Known Subclasses:
ExhaustiveSourcePlannerImpl

public class ServiceClauseBasedSourcePlannerImpl extends SourcePlannerBase
This implementation of SourcePlanner does not actually perform query decomposition and source selection but simply assumes queries with SERVICE clauses where, for the moment, all of these SERVICE clauses are of the form "SERVICE uri {...}" (i.e., not "SERVICE var {...}"). Therefore, all that this implementation does is to convert the given query pattern into a logical plan.
  • Constructor Details

    • ServiceClauseBasedSourcePlannerImpl

      public ServiceClauseBasedSourcePlannerImpl(QueryProcContext ctxt)
  • Method Details

    • createSourceAssignment

      protected Pair<LogicalPlan,SourcePlanningStats> createSourceAssignment(org.apache.jena.sparql.algebra.Op jenaOp) throws SourcePlanningException
      Specified by:
      createSourceAssignment in class SourcePlannerBase
      Throws:
      SourcePlanningException
    • createPlan

      protected LogicalPlan createPlan(org.apache.jena.sparql.algebra.Op jenaOp)
    • createPlanForSequence

      protected LogicalPlan createPlanForSequence(org.apache.jena.sparql.algebra.op.OpSequence jenaOp)
    • createPlanForJoin

      protected LogicalPlan createPlanForJoin(org.apache.jena.sparql.algebra.op.OpJoin jenaOp)
    • createPlanForLeftJoin

      protected LogicalPlan createPlanForLeftJoin(org.apache.jena.sparql.algebra.op.OpLeftJoin jenaOp)
    • createPlanForLeftJoin

      protected LogicalPlan createPlanForLeftJoin(org.apache.jena.sparql.algebra.op.OpConditional jenaOp)
    • createPlanForUnion

      protected LogicalPlan createPlanForUnion(org.apache.jena.sparql.algebra.op.OpUnion jenaOp)
    • createPlanForFilter

      protected LogicalPlan createPlanForFilter(org.apache.jena.sparql.algebra.op.OpFilter jenaOp)
    • createPlanForBind

      protected LogicalPlan createPlanForBind(org.apache.jena.sparql.algebra.op.OpExtend jenaOp)
    • createPlanForServicePattern

      protected LogicalPlan createPlanForServicePattern(org.apache.jena.sparql.algebra.op.OpService jenaOp)
    • createPlan

      protected LogicalPlan createPlan(org.apache.jena.sparql.algebra.Op jenaOp, FederationMember fm)
    • createPlanForJoin

      protected LogicalPlan createPlanForJoin(org.apache.jena.sparql.algebra.op.OpJoin jenaOp, FederationMember fm)
    • createPlanForLeftJoin

      protected LogicalPlan createPlanForLeftJoin(org.apache.jena.sparql.algebra.op.OpLeftJoin jenaOp, FederationMember fm)
    • createPlanForLeftJoin

      protected LogicalPlan createPlanForLeftJoin(org.apache.jena.sparql.algebra.op.OpConditional jenaOp, FederationMember fm)
    • createPlanForUnion

      protected LogicalPlan createPlanForUnion(org.apache.jena.sparql.algebra.op.OpUnion jenaOp, FederationMember fm)
    • createPlanForFilter

      protected LogicalPlan createPlanForFilter(org.apache.jena.sparql.algebra.op.OpFilter jenaOp, FederationMember fm)
    • createPlanForBGP

      protected LogicalPlan createPlanForBGP(org.apache.jena.sparql.algebra.op.OpBGP pattern, FederationMember fm)
    • createPlanForBGP

      protected LogicalPlan createPlanForBGP(org.apache.jena.sparql.core.BasicPattern pattern, FederationMember fm)
    • createPlanForBGP

      protected LogicalPlan createPlanForBGP(BGP bgp, FederationMember fm)
    • mergeIntoMultiwayJoin

      protected LogicalPlan mergeIntoMultiwayJoin(LogicalPlan... subPlans)
    • mergeIntoMultiwayJoin

      protected LogicalPlan mergeIntoMultiwayJoin(List<LogicalPlan> subPlans)
    • mergeIntoMultiwayLeftJoin

      protected LogicalPlan mergeIntoMultiwayLeftJoin(LogicalPlan leftSubPlan, LogicalPlan rightSubPlan)
    • mergeIntoMultiwayUnion

      protected LogicalPlan mergeIntoMultiwayUnion(LogicalPlan... subPlans)