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, QueryProcContext ctxt) protected LogicalPlancreatePlan(org.apache.jena.sparql.algebra.Op jenaOp, FederationMember fm) protected LogicalPlancreatePlanForBGP(org.apache.jena.sparql.algebra.op.OpBGP pattern, FederationMember fm) protected LogicalPlancreatePlanForBGP(org.apache.jena.sparql.core.BasicPattern pattern, FederationMember fm) protected LogicalPlancreatePlanForBGP(BGP bgp, FederationMember fm) protected LogicalPlancreatePlanForBind(org.apache.jena.sparql.algebra.op.OpExtend jenaOp, QueryProcContext ctxt) protected LogicalPlancreatePlanForFilter(org.apache.jena.sparql.algebra.op.OpFilter jenaOp, QueryProcContext ctxt) protected LogicalPlancreatePlanForFilter(org.apache.jena.sparql.algebra.op.OpFilter jenaOp, FederationMember fm) protected LogicalPlancreatePlanForJoin(List<org.apache.jena.sparql.algebra.Op> ops, QueryProcContext ctxt) protected LogicalPlancreatePlanForJoin(org.apache.jena.sparql.algebra.op.OpJoin jenaOp, QueryProcContext ctxt) protected LogicalPlancreatePlanForJoin(org.apache.jena.sparql.algebra.op.OpJoin jenaOp, FederationMember fm) protected LogicalPlancreatePlanForLeftJoin(org.apache.jena.sparql.algebra.op.OpConditional jenaOp, QueryProcContext ctxt) protected LogicalPlancreatePlanForLeftJoin(org.apache.jena.sparql.algebra.op.OpConditional jenaOp, FederationMember fm) protected LogicalPlancreatePlanForLeftJoin(org.apache.jena.sparql.algebra.op.OpLeftJoin jenaOp, QueryProcContext ctxt) protected LogicalPlancreatePlanForLeftJoin(org.apache.jena.sparql.algebra.op.OpLeftJoin jenaOp, FederationMember fm) protected LogicalPlancreatePlanForOpTable(org.apache.jena.sparql.algebra.op.OpTable opTable) protected LogicalPlancreatePlanForSequence(org.apache.jena.sparql.algebra.op.OpSequence jenaOp, QueryProcContext ctxt) protected LogicalPlancreatePlanForServicePattern(org.apache.jena.sparql.algebra.op.OpService jenaOp, 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, 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, FederationMember fm) protected LogicalPlancreatePlanForUnfold(org.apache.jena.sparql.algebra.op.OpUnfold jenaOp, QueryProcContext ctxt) protected LogicalPlancreatePlanForUnion(org.apache.jena.sparql.algebra.op.OpUnion jenaOp, QueryProcContext ctxt) protected LogicalPlancreatePlanForUnion(org.apache.jena.sparql.algebra.op.OpUnion jenaOp, 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(List<LogicalPlan> subPlans) protected LogicalPlanmergeIntoMultiwayJoin(LogicalPlan... subPlans) protected LogicalPlanmergeIntoMultiwayLeftJoin(LogicalPlan leftSubPlan, LogicalPlan rightSubPlan) protected LogicalPlanmergeIntoMultiwayUnion(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
-
createPlanForSequence
protected LogicalPlan createPlanForSequence(org.apache.jena.sparql.algebra.op.OpSequence jenaOp, QueryProcContext ctxt) -
createPlanForJoin
protected LogicalPlan createPlanForJoin(org.apache.jena.sparql.algebra.op.OpJoin jenaOp, QueryProcContext ctxt) -
createPlanForJoin
protected LogicalPlan createPlanForJoin(List<org.apache.jena.sparql.algebra.Op> ops, QueryProcContext ctxt) -
createPlanForLeftJoin
protected LogicalPlan createPlanForLeftJoin(org.apache.jena.sparql.algebra.op.OpLeftJoin jenaOp, QueryProcContext ctxt) -
createPlanForLeftJoin
protected LogicalPlan createPlanForLeftJoin(org.apache.jena.sparql.algebra.op.OpConditional jenaOp, QueryProcContext ctxt) -
createPlanForUnion
protected LogicalPlan createPlanForUnion(org.apache.jena.sparql.algebra.op.OpUnion jenaOp, QueryProcContext ctxt) -
createPlanForFilter
protected LogicalPlan createPlanForFilter(org.apache.jena.sparql.algebra.op.OpFilter jenaOp, QueryProcContext ctxt) -
createPlanForBind
protected LogicalPlan createPlanForBind(org.apache.jena.sparql.algebra.op.OpExtend jenaOp, QueryProcContext ctxt) -
createPlanForUnfold
protected LogicalPlan createPlanForUnfold(org.apache.jena.sparql.algebra.op.OpUnfold jenaOp, 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, 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, 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. -
createPlan
-
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) -
createPlanForTriplePattern
protected LogicalPlan createPlanForTriplePattern(org.apache.jena.sparql.algebra.op.OpTriple pattern, FederationMember fm) -
createPlanForBGP
-
createPlanForOpTable
-
mergeIntoMultiwayJoin
-
mergeIntoMultiwayJoin
-
mergeIntoMultiwayLeftJoin
-
mergeIntoMultiwayUnion
-