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
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 Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected LogicalPlancreatePlan(org.apache.jena.sparql.algebra.Op jenaOp, boolean mayReduce, QueryProcContext ctxt) protected LogicalPlancreatePlan(org.apache.jena.sparql.algebra.Op jenaOp, boolean mayReduce, FederationMember fm) protected LogicalPlancreatePlanForBGP(org.apache.jena.sparql.algebra.op.OpBGP pattern, boolean mayReduce, FederationMember fm) protected LogicalPlancreatePlanForBGP(org.apache.jena.sparql.core.BasicPattern pattern, boolean mayReduce, FederationMember fm) protected LogicalPlancreatePlanForBGP(BGP bgp, boolean mayReduce, FederationMember fm) protected LogicalPlancreatePlanForBind(org.apache.jena.sparql.algebra.op.OpExtend jenaOp, boolean mayReduce, QueryProcContext ctxt) protected LogicalPlancreatePlanForDistinct(org.apache.jena.sparql.algebra.op.OpDistinct jenaOp, QueryProcContext ctxt) protected LogicalPlancreatePlanForFilter(org.apache.jena.sparql.algebra.op.OpFilter jenaOp, boolean mayReduce, QueryProcContext ctxt) protected LogicalPlancreatePlanForFilter(org.apache.jena.sparql.algebra.op.OpFilter jenaOp, boolean mayReduce, FederationMember fm) protected LogicalPlancreatePlanForJoin(List<org.apache.jena.sparql.algebra.Op> ops, boolean mayReduce, QueryProcContext ctxt) protected LogicalPlancreatePlanForJoin(org.apache.jena.sparql.algebra.op.OpJoin jenaOp, boolean mayReduce, QueryProcContext ctxt) protected LogicalPlancreatePlanForJoin(org.apache.jena.sparql.algebra.op.OpJoin jenaOp, boolean mayReduce, FederationMember fm) protected LogicalPlancreatePlanForLeftJoin(org.apache.jena.sparql.algebra.op.OpConditional jenaOp, boolean mayReduce, QueryProcContext ctxt) protected LogicalPlancreatePlanForLeftJoin(org.apache.jena.sparql.algebra.op.OpConditional jenaOp, boolean mayReduce, FederationMember fm) protected LogicalPlancreatePlanForLeftJoin(org.apache.jena.sparql.algebra.op.OpLeftJoin jenaOp, boolean mayReduce, QueryProcContext ctxt) protected LogicalPlancreatePlanForLeftJoin(org.apache.jena.sparql.algebra.op.OpLeftJoin jenaOp, boolean mayReduce, FederationMember fm) protected LogicalPlancreatePlanForMinus(org.apache.jena.sparql.algebra.op.OpMinus jenaOp, boolean mayReduce, QueryProcContext ctxt) protected LogicalPlancreatePlanForOpTable(org.apache.jena.sparql.algebra.op.OpTable opTable) protected LogicalPlancreatePlanForProject(org.apache.jena.sparql.algebra.op.OpProject jenaOp, boolean mayReduce, QueryProcContext ctxt) protected LogicalPlancreatePlanForSequence(org.apache.jena.sparql.algebra.op.OpSequence jenaOp, boolean mayReduce, QueryProcContext ctxt) protected LogicalPlancreatePlanForServicePattern(org.apache.jena.sparql.algebra.op.OpService jenaOp, boolean mayReduce, QueryProcContext ctxt) 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.protected LogicalPlancreatePlanForServiceWithParams(OpServiceWithParams jenaOp, boolean mayReduce, LogicalPlan subplan, QueryProcContext ctxt) 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.protected LogicalPlancreatePlanForTriplePattern(org.apache.jena.sparql.algebra.op.OpTriple pattern, boolean mayReduce, FederationMember fm) protected LogicalPlancreatePlanForUnfold(org.apache.jena.sparql.algebra.op.OpUnfold jenaOp, boolean mayReduce, QueryProcContext ctxt) protected LogicalPlancreatePlanForUnion(org.apache.jena.sparql.algebra.op.OpUnion jenaOp, boolean mayReduce, QueryProcContext ctxt) protected LogicalPlancreatePlanForUnion(org.apache.jena.sparql.algebra.op.OpUnion jenaOp, boolean mayReduce, FederationMember fm) protected LogicalPlancreatePlanForValues(org.apache.jena.sparql.algebra.op.OpTable jenaOp, QueryProcContext ctxt) protected Pair<LogicalPlan, SourcePlanningStats> createSourceAssignment(org.apache.jena.sparql.algebra.Op jenaOp, QueryProcContext ctxt) protected LogicalPlanmergeIntoMultiwayJoin(boolean mayReduce, LogicalPlan... subPlans) protected LogicalPlanmergeIntoMultiwayJoin(List<LogicalPlan> subPlans, boolean mayReduce) protected LogicalPlanmergeIntoMultiwayLeftJoin(LogicalPlan leftSubPlan, LogicalPlan rightSubPlan, boolean mayReduce) protected LogicalPlanmergeIntoMultiwayUnion(boolean mayReduce, LogicalPlan... subPlans) Methods inherited from class se.liu.ida.hefquin.engine.queryproc.impl.srcsel.SourcePlannerBase
createSourceAssignment
-
Constructor Details
-
ServiceClauseBasedSourcePlannerImpl
public ServiceClauseBasedSourcePlannerImpl()
-
-
Method Details
-
createSourceAssignment
protected Pair<LogicalPlan,SourcePlanningStats> createSourceAssignment(org.apache.jena.sparql.algebra.Op jenaOp, QueryProcContext ctxt) throws SourcePlanningException - Specified by:
createSourceAssignmentin classSourcePlannerBase- Throws:
SourcePlanningException
-
createPlan
protected LogicalPlan createPlan(org.apache.jena.sparql.algebra.Op jenaOp, boolean mayReduce, QueryProcContext ctxt) -
createPlanForSequence
protected LogicalPlan createPlanForSequence(org.apache.jena.sparql.algebra.op.OpSequence jenaOp, boolean mayReduce, QueryProcContext ctxt) -
createPlanForJoin
protected LogicalPlan createPlanForJoin(org.apache.jena.sparql.algebra.op.OpJoin jenaOp, boolean mayReduce, QueryProcContext ctxt) -
createPlanForJoin
protected LogicalPlan createPlanForJoin(List<org.apache.jena.sparql.algebra.Op> ops, boolean mayReduce, QueryProcContext ctxt) -
createPlanForLeftJoin
protected LogicalPlan createPlanForLeftJoin(org.apache.jena.sparql.algebra.op.OpLeftJoin jenaOp, boolean mayReduce, QueryProcContext ctxt) -
createPlanForLeftJoin
protected LogicalPlan createPlanForLeftJoin(org.apache.jena.sparql.algebra.op.OpConditional jenaOp, boolean mayReduce, QueryProcContext ctxt) -
createPlanForMinus
protected LogicalPlan createPlanForMinus(org.apache.jena.sparql.algebra.op.OpMinus jenaOp, boolean mayReduce, QueryProcContext ctxt) -
createPlanForUnion
protected LogicalPlan createPlanForUnion(org.apache.jena.sparql.algebra.op.OpUnion jenaOp, boolean mayReduce, QueryProcContext ctxt) -
createPlanForFilter
protected LogicalPlan createPlanForFilter(org.apache.jena.sparql.algebra.op.OpFilter jenaOp, boolean mayReduce, QueryProcContext ctxt) -
createPlanForBind
protected LogicalPlan createPlanForBind(org.apache.jena.sparql.algebra.op.OpExtend jenaOp, boolean mayReduce, QueryProcContext ctxt) -
createPlanForUnfold
protected LogicalPlan createPlanForUnfold(org.apache.jena.sparql.algebra.op.OpUnfold jenaOp, boolean mayReduce, QueryProcContext ctxt) -
createPlanForValues
protected LogicalPlan createPlanForValues(org.apache.jena.sparql.algebra.op.OpTable jenaOp, QueryProcContext ctxt) -
createPlanForServicePattern
protected LogicalPlan createPlanForServicePattern(org.apache.jena.sparql.algebra.op.OpService jenaOp, boolean mayReduce, QueryProcContext ctxt) 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 ctxt) 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 ctxt) -
createPlanForProject
protected LogicalPlan createPlanForProject(org.apache.jena.sparql.algebra.op.OpProject jenaOp, boolean mayReduce, QueryProcContext ctxt) -
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
-
createPlanForOpTable
-
mergeIntoMultiwayJoin
-
mergeIntoMultiwayJoin
-
mergeIntoMultiwayLeftJoin
protected LogicalPlan mergeIntoMultiwayLeftJoin(LogicalPlan leftSubPlan, LogicalPlan rightSubPlan, boolean mayReduce) -
mergeIntoMultiwayUnion
-