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()
  • Method Details

    • createSourceAssignment

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

      protected LogicalPlan createPlan(org.apache.jena.sparql.algebra.Op jenaOp, boolean mayReduce, QueryProcContext ctx)
    • createPlanForSequence

      protected LogicalPlan createPlanForSequence(org.apache.jena.sparql.algebra.op.OpSequence jenaOp, boolean mayReduce, QueryProcContext ctx)
    • createPlanForJoin

      protected LogicalPlan createPlanForJoin(org.apache.jena.sparql.algebra.op.OpJoin jenaOp, boolean mayReduce, QueryProcContext ctx)
    • createPlanForJoin

      protected LogicalPlan createPlanForJoin(List<org.apache.jena.sparql.algebra.Op> ops, boolean mayReduce, QueryProcContext ctx)
    • createPlanForLeftJoin

      protected LogicalPlan createPlanForLeftJoin(org.apache.jena.sparql.algebra.op.OpLeftJoin jenaOp, boolean mayReduce, QueryProcContext ctx)
    • createPlanForLeftJoin

      protected LogicalPlan createPlanForLeftJoin(org.apache.jena.sparql.algebra.op.OpConditional jenaOp, boolean mayReduce, QueryProcContext ctx)
    • createPlanForMinus

      protected LogicalPlan createPlanForMinus(org.apache.jena.sparql.algebra.op.OpMinus jenaOp, boolean mayReduce, QueryProcContext ctx)
    • createPlanForUnion

      protected LogicalPlan createPlanForUnion(org.apache.jena.sparql.algebra.op.OpUnion jenaOp, boolean mayReduce, QueryProcContext ctx)
    • createPlanForFilter

      protected LogicalPlan createPlanForFilter(org.apache.jena.sparql.algebra.op.OpFilter jenaOp, boolean mayReduce, QueryProcContext ctx)
    • createPlanForBind

      protected LogicalPlan createPlanForBind(org.apache.jena.sparql.algebra.op.OpExtend jenaOp, boolean mayReduce, QueryProcContext ctx)
    • createPlanForUnfold

      protected LogicalPlan createPlanForUnfold(org.apache.jena.sparql.algebra.op.OpUnfold jenaOp, boolean mayReduce, QueryProcContext ctx)
    • createPlanForValues

      protected LogicalPlan createPlanForValues(org.apache.jena.sparql.algebra.op.OpTable jenaOp, QueryProcContext ctx)
    • createPlanForServicePattern

      protected LogicalPlan createPlanForServicePattern(org.apache.jena.sparql.algebra.op.OpService jenaOp, boolean mayReduce, QueryProcContext ctx)
      This function assumes that the given operator comes from a SERVICE clause that did not have a PARAMS part (or an empty one), and it produces a plan with a request operator as root.
    • createPlanForServiceWithParams

      protected LogicalPlan createPlanForServiceWithParams(OpServiceWithParams jenaOp, boolean mayReduce, LogicalPlan subplan, QueryProcContext ctx)
      This function assumes that the given operator comes from a SERVICE clause that had a nonempty PARAMS part, and it produces a plan with a gpAdd operator as root and the given subplan as input to this root operator.
    • createPlanForDistinct

      protected LogicalPlan createPlanForDistinct(org.apache.jena.sparql.algebra.op.OpDistinct jenaOp, QueryProcContext ctx)
    • createPlanForProject

      protected LogicalPlan createPlanForProject(org.apache.jena.sparql.algebra.op.OpProject jenaOp, boolean mayReduce, QueryProcContext ctx)
    • createPlan

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

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

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

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

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

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

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

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

      protected LogicalPlan createPlanForTriplePattern(org.apache.jena.sparql.algebra.op.OpTriple pattern, boolean mayReduce, FederationMember fm)
    • createPlanForBGP

      protected LogicalPlan createPlanForBGP(BGP bgp, boolean mayReduce, FederationMember fm)
    • createPlanForOpTable

      protected LogicalPlan createPlanForOpTable(org.apache.jena.sparql.algebra.op.OpTable opTable)
    • mergeIntoMultiwayJoin

      protected LogicalPlan mergeIntoMultiwayJoin(boolean mayReduce, LogicalPlan... subPlans)
    • mergeIntoMultiwayJoin

      protected LogicalPlan mergeIntoMultiwayJoin(List<LogicalPlan> subPlans, boolean mayReduce)
    • mergeIntoMultiwayLeftJoin

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

      protected LogicalPlan mergeIntoMultiwayUnion(boolean mayReduce, LogicalPlan... subPlans)