Uses of Interface
se.liu.ida.hefquin.engine.queryplan.logical.LogicalPlan
Packages that use LogicalPlan
Package
Description
- 
Uses of LogicalPlan in se.liu.ida.hefquin.engine.queryplan.logical
Subinterfaces of LogicalPlan in se.liu.ida.hefquin.engine.queryplan.logicalModifier and TypeInterfaceDescriptioninterfaceinterfaceinterfaceinterfaceMethods in se.liu.ida.hefquin.engine.queryplan.logical that return LogicalPlanModifier and TypeMethodDescriptionstatic LogicalPlanLogicalPlanUtils.createPlanWithBinaryJoin(LogicalPlan subPlan1, LogicalPlan subPlan2) Creates aLogicalPlanwith aLogicalOpJoinas root operator and the given plans as its two subplans.static LogicalPlanLogicalPlanUtils.createPlanWithBinaryUnion(LogicalPlan subPlan1, LogicalPlan subPlan2) Creates aLogicalPlanwith aLogicalOpUnionas root operator and the given plans as its two subplans.static LogicalPlanLogicalPlanUtils.createPlanWithMultiwayJoin(List<LogicalPlan> subPlans) Creates aLogicalPlanwith aLogicalOpMultiwayJoinas root operator and the given plans as its subplans.static LogicalPlanLogicalPlanUtils.createPlanWithMultiwayJoin(LogicalPlan... subPlans) Creates aLogicalPlanwith aLogicalOpMultiwayJoinas root operator and the given plans as its subplans.static LogicalPlanLogicalPlanUtils.createPlanWithMultiwayUnion(List<LogicalPlan> subPlans) Creates aLogicalPlanwith aLogicalOpMultiwayUnionas root operator and the given plans as its subplans.static LogicalPlanLogicalPlanUtils.createPlanWithMultiwayUnion(LogicalPlan... subPlans) Creates aLogicalPlanwith aLogicalOpMultiwayUnionas root operator and the given plans as its subplans.static LogicalPlanLogicalPlanUtils.createPlanWithSubPlans(LogicalOperator rootOp, List<LogicalPlan> subPlans) Creates aLogicalPlanwith the given operator as root operator and the plans given in the list as subplans.static LogicalPlanLogicalPlanUtils.createPlanWithSubPlans(LogicalOperator rootOp, LogicalPlan... subPlans) Creates aLogicalPlanwith the given operator as root operator and the given plans as subplans.LogicalPlan.getSubPlan(int i) Returns the i-th sub-plan of this plan, where i starts at index 0 (zero).LogicalPlanWithUnaryRoot.getSubPlan()Convenience method that always should return the same as what is returned by callinggetSubPlan(int)with a value of 0.LogicalPlanWithBinaryRoot.getSubPlan1()Convenience method that always should return the same as what is returned by callinggetSubPlan(int)with a value of 0.LogicalPlanWithBinaryRoot.getSubPlan2()Convenience method that always should return the same as what is returned by callinggetSubPlan(int)with a value of 1.Methods in se.liu.ida.hefquin.engine.queryplan.logical that return types with arguments of type LogicalPlanModifier and TypeMethodDescriptionLogicalPlanWithNaryRoot.getSubPlans()Convenience method that always should return an iterator over the same sub-plans that can be accessed viagetSubPlan(int).Methods in se.liu.ida.hefquin.engine.queryplan.logical with parameters of type LogicalPlanModifier and TypeMethodDescriptionstatic intLogicalPlanUtils.countSubplans(LogicalPlan plan) static LogicalPlanLogicalPlanUtils.createPlanWithBinaryJoin(LogicalPlan subPlan1, LogicalPlan subPlan2) Creates aLogicalPlanwith aLogicalOpJoinas root operator and the given plans as its two subplans.static LogicalPlanLogicalPlanUtils.createPlanWithBinaryUnion(LogicalPlan subPlan1, LogicalPlan subPlan2) Creates aLogicalPlanwith aLogicalOpUnionas root operator and the given plans as its two subplans.static LogicalPlanLogicalPlanUtils.createPlanWithMultiwayJoin(LogicalPlan... subPlans) Creates aLogicalPlanwith aLogicalOpMultiwayJoinas root operator and the given plans as its subplans.static LogicalPlanLogicalPlanUtils.createPlanWithMultiwayUnion(LogicalPlan... subPlans) Creates aLogicalPlanwith aLogicalOpMultiwayUnionas root operator and the given plans as its subplans.static LogicalPlanLogicalPlanUtils.createPlanWithSubPlans(LogicalOperator rootOp, LogicalPlan... subPlans) Creates aLogicalPlanwith the given operator as root operator and the given plans as subplans.static booleanLogicalPlanUtils.isSourceAssignment(LogicalPlan plan) Returns true if the given logical plan is a source assignment.voidLogicalPlanWalker.LogicalWalkerVisitor.walk(LogicalPlan plan) static voidLogicalPlanWalker.walk(LogicalPlan plan, LogicalPlanVisitor beforeVisitor, LogicalPlanVisitor afterVisitor) Method parameters in se.liu.ida.hefquin.engine.queryplan.logical with type arguments of type LogicalPlanModifier and TypeMethodDescriptionstatic LogicalPlanLogicalPlanUtils.createPlanWithMultiwayJoin(List<LogicalPlan> subPlans) Creates aLogicalPlanwith aLogicalOpMultiwayJoinas root operator and the given plans as its subplans.static LogicalPlanLogicalPlanUtils.createPlanWithMultiwayUnion(List<LogicalPlan> subPlans) Creates aLogicalPlanwith aLogicalOpMultiwayUnionas root operator and the given plans as its subplans.static LogicalPlanLogicalPlanUtils.createPlanWithSubPlans(LogicalOperator rootOp, List<LogicalPlan> subPlans) Creates aLogicalPlanwith the given operator as root operator and the plans given in the list as subplans. - 
Uses of LogicalPlan in se.liu.ida.hefquin.engine.queryplan.logical.impl
Classes in se.liu.ida.hefquin.engine.queryplan.logical.impl that implement LogicalPlanModifier and TypeClassDescriptionclassclassclassclassMethods in se.liu.ida.hefquin.engine.queryplan.logical.impl that return LogicalPlanModifier and TypeMethodDescriptionLogicalPlanWithBinaryRootImpl.getSubPlan(int i) LogicalPlanWithNaryRootImpl.getSubPlan(int i) LogicalPlanWithNullaryRootImpl.getSubPlan(int i) LogicalPlanWithUnaryRootImpl.getSubPlan()LogicalPlanWithUnaryRootImpl.getSubPlan(int i) LogicalPlanWithBinaryRootImpl.getSubPlan1()LogicalPlanWithBinaryRootImpl.getSubPlan2()Methods in se.liu.ida.hefquin.engine.queryplan.logical.impl that return types with arguments of type LogicalPlanConstructors in se.liu.ida.hefquin.engine.queryplan.logical.impl with parameters of type LogicalPlanModifierConstructorDescriptionLogicalPlanWithBinaryRootImpl(BinaryLogicalOp rootOp, LogicalPlan subPlan1, LogicalPlan subPlan2) LogicalPlanWithNaryRootImpl(NaryLogicalOp rootOp, LogicalPlan... subPlans) LogicalPlanWithUnaryRootImpl(UnaryLogicalOp rootOp, LogicalPlan subPlan) Constructor parameters in se.liu.ida.hefquin.engine.queryplan.logical.impl with type arguments of type LogicalPlanModifierConstructorDescriptionLogicalPlanWithNaryRootImpl(NaryLogicalOp rootOp, List<LogicalPlan> subPlans)  - 
Uses of LogicalPlan in se.liu.ida.hefquin.engine.queryplan.utils
Fields in se.liu.ida.hefquin.engine.queryplan.utils with type parameters of type LogicalPlanModifier and TypeFieldDescriptionprotected final Map<LogicalPlan, PhysicalPlan> LogicalToPhysicalPlanConverterImpl.Worker.convertedSubPlansMethods in se.liu.ida.hefquin.engine.queryplan.utils with parameters of type LogicalPlanModifier and TypeMethodDescriptionLogicalToPhysicalPlanConverter.convert(LogicalPlan lp, boolean keepMultiwayJoins) LogicalToPhysicalPlanConverterImpl.convert(LogicalPlan lp, boolean keepMultiwayJoins) LogicalToPhysicalPlanConverterImpl.Worker.convert(LogicalPlan lp, boolean keepMultiwayJoins) protected List<PhysicalPlan> LogicalToPhysicalPlanConverterImpl.Worker.convertChildren(LogicalPlan lp, boolean keepMultiwayJoins) Converts the sub-plans of the given logical plan (if any) and returns a list of the resulting physical plans.voidTextBasedLogicalPlanPrinterImpl.planWalk(LogicalPlan plan, int planNumber, int planLevel, int numberOfSiblings, TextBasedLogicalPlanPrinterImpl.OpPrinter opPrinter, String rootOpIndentString) This method recursively goes through a plan, and appends specific strings to a print stream.voidLogicalPlanPrinter.print(LogicalPlan plan, PrintStream out) Prints the given plan to the given stream.voidTextBasedLogicalPlanPrinterImpl.print(LogicalPlan plan, PrintStream out)  - 
Uses of LogicalPlan in se.liu.ida.hefquin.engine.queryproc
Methods in se.liu.ida.hefquin.engine.queryproc that return LogicalPlanModifier and TypeMethodDescriptionQueryPlanningStats.getResultingLogicalPlan()QueryPlanningStats.getResultingSourceAssignment()LogicalOptimizer.optimize(LogicalPlan inputPlan, boolean keepNaryOperators) Methods in se.liu.ida.hefquin.engine.queryproc that return types with arguments of type LogicalPlanModifier and TypeMethodDescriptionSourcePlanner.createSourceAssignment(Query query) The logical plan returned by this method is a source assignment (see Definition 8 of our FedQPL paper); that is, the only types of operators that it contains are request operators (), multiway joins (invalid reference
LogicalOpRequest), and multiway unions (invalid reference
LogicalOpMultiwayJoin).invalid reference
LogicalOpMultiwayUnionMethods in se.liu.ida.hefquin.engine.queryproc with parameters of type LogicalPlanModifier and TypeMethodDescriptionLogicalOptimizer.optimize(LogicalPlan inputPlan, boolean keepNaryOperators) PhysicalOptimizer.optimize(LogicalPlan initialPlan)  - 
Uses of LogicalPlan in se.liu.ida.hefquin.engine.queryproc.impl.loptimizer
Methods in se.liu.ida.hefquin.engine.queryproc.impl.loptimizer that return LogicalPlanModifier and TypeMethodDescriptionApplyVocabularyMappings.apply(LogicalPlan inputPlan) Rewrites an initial logical plan into a second plan which incorporates translations of local to global vocabulary and request-operator rewriting.HeuristicForLogicalOptimization.apply(LogicalPlan inputPlan) Applies this heuristics to the given plan and returns the resulting, potentially rewritten plan.HeuristicsBasedLogicalOptimizerImpl.optimize(LogicalPlan inputPlan, boolean keepNaryOperators) static LogicalPlanApplyVocabularyMappings.rewriteReqOf(SPARQLGraphPattern pattern, FederationMember fm) Creates a logical plan where all requests are TriplePatternRequests for use when a federation member's interface is a TPF-server.static LogicalPlanApplyVocabularyMappings.rewriteToUseLocalVocabulary(LogicalPlan inputPlan) Rewrites the given logical plan with a request operator as root into a logical plan that uses the local vocabulary of the federation member of the request.Methods in se.liu.ida.hefquin.engine.queryproc.impl.loptimizer with parameters of type LogicalPlanModifier and TypeMethodDescriptionApplyVocabularyMappings.apply(LogicalPlan inputPlan) Rewrites an initial logical plan into a second plan which incorporates translations of local to global vocabulary and request-operator rewriting.HeuristicForLogicalOptimization.apply(LogicalPlan inputPlan) Applies this heuristics to the given plan and returns the resulting, potentially rewritten plan.HeuristicsBasedLogicalOptimizerImpl.optimize(LogicalPlan inputPlan, boolean keepNaryOperators) static LogicalPlanApplyVocabularyMappings.rewriteToUseLocalVocabulary(LogicalPlan inputPlan) Rewrites the given logical plan with a request operator as root into a logical plan that uses the local vocabulary of the federation member of the request. - 
Uses of LogicalPlan in se.liu.ida.hefquin.engine.queryproc.impl.loptimizer.heuristics
Fields in se.liu.ida.hefquin.engine.queryproc.impl.loptimizer.heuristics declared as LogicalPlanModifier and TypeFieldDescriptionfinal LogicalPlanCardinalityBasedJoinOrderingBase.AnnotatedLogicalPlan.planThe wrappedLogicalPlan.Methods in se.liu.ida.hefquin.engine.queryproc.impl.loptimizer.heuristics that return LogicalPlanModifier and TypeMethodDescriptionCardinalityBasedJoinOrderingBase.apply(LogicalPlan inputPlan) FilterPushDown.apply(LogicalPlan inputPlan) GreedyBasedReordering.apply(LogicalPlan inputPlan) MergeRequests.apply(LogicalPlan inputPlan) PullUpLtgOverJoin.apply(LogicalPlan inputPlan) PullUpLtgOverUnion.apply(LogicalPlan inputPlan) PushJoinUnderUnionWithRequests.apply(LogicalPlan inputPlan) RemovePairsOfG2lAndL2g.apply(LogicalPlan inputPlan) RemoveUnnecessaryL2gAndG2l.apply(LogicalPlan inputPlan) UnionPullUp.apply(LogicalPlan inputPlan) protected LogicalPlanFilterPushDown.applyToPlanWithFilterAsRootOperator(LogicalOpFilter filterOp, LogicalPlan subPlanUnderFilter, LogicalPlan inputPlan) protected LogicalPlanGreedyBasedReordering.constructBinaryPlan(List<QueryAnalyzer> selectedSubPlans) protected LogicalPlanFilterPushDown.createPlanAfterPushingInSubPlan(LogicalOpFilter parentFilterOp, UnaryLogicalOp childOp, LogicalPlan subPlanUnderChildOp, LogicalPlan inputPlan) protected LogicalPlanFilterPushDown.createPlanForAddOpUnderFilter(LogicalOpFilter parentFilterOp, UnaryLogicalOp childOp, LogicalPlan subPlanUnderChildOp, LogicalPlan inputPlan) Assumes that the given child operator is either aLogicalOpTPAdd, aLogicalOpTPOptAdd, aLogicalOpBGPAdd, aLogicalOpBGPOptAdd, aLogicalOpGPAdd, or aLogicalOpGPOptAdd.protected LogicalPlanFilterPushDown.createPlanForBindUnderFilter(LogicalOpFilter filterOp, LogicalOpBind bindOp, LogicalPlan subPlanUnderBind, LogicalPlan inputPlan) protected LogicalPlanFilterPushDown.createPlanForFilterUnderFilter(LogicalOpFilter parentFilterOp, LogicalOpFilter childFilterOp, LogicalPlan subPlanUnderChildFilterOp) protected LogicalPlanFilterPushDown.createPlanForJoinUnderFilter(LogicalOpFilter filterOp, LogicalPlan subPlanUnderFilter, LogicalPlan inputPlan) protected LogicalPlanFilterPushDown.createPlanForL2GOrG2LUnderFilter(LogicalOpFilter parentFilterOp, UnaryLogicalOp childOp, LogicalPlan subPlanUnderChildOp, LogicalPlan inputPlan) Assumes that the given child operator is either aLogicalOpLocalToGlobalor aLogicalOpGlobalToLocal.protected LogicalPlanFilterPushDown.createPlanForMultiwayLeftJoinUnderFilter(LogicalOpFilter filterOp, LogicalPlan subPlanUnderFilter, LogicalPlan inputPlan) protected LogicalPlanFilterPushDown.createPlanForRequestUnderFilter(LogicalOpFilter filterOp, LogicalOpRequest<?, ?> reqOp, LogicalPlan inputPlan) protected LogicalPlanFilterPushDown.createPlanForRightJoinUnderFilter(LogicalOpFilter filterOp, LogicalPlan nonoptSubPlan, LogicalPlan optSubPlan, LogicalPlan inputPlan) protected LogicalPlanFilterPushDown.createPlanForUnionUnderFilter(LogicalOpFilter filterOp, LogicalPlan subPlanUnderFilter) protected LogicalPlanMergeRequests.createPlanWithSingleRequestOp(org.apache.jena.sparql.syntax.Element elmt, SPARQLEndpoint fm) protected LogicalPlanMergeRequests.createPlanWithSingleRequestOp(SPARQLGraphPattern p, SPARQLEndpoint fm) protected static LogicalPlanPullUpLtgOverUnion.extractLtgOverNaryOp(LogicalPlan inputPlan) static LogicalPlanMergeRequests.mergeBindIntoSPARQLEndpointRequest(LogicalOpBind bindOp, SPARQLEndpoint ep, SPARQLRequest req) static LogicalPlanMergeRequests.mergeFilterIntoSPARQLEndpointRequest(LogicalOpFilter filterOp, SPARQLEndpoint ep, SPARQLRequest req) protected LogicalPlanMergeRequests.mergeOptPatternsIntoRequest(List<SPARQLGraphPattern> optPatterns, SPARQLEndpoint fm, SPARQLRequest req) protected LogicalPlanMergeRequests.mergePatternIntoRequest(SPARQLGraphPattern p, FederationMember fm, SPARQLRequest req) protected LogicalPlanMergeRequests.mergeSPARQLRequestsViaJoin(FederationMember fm, List<LogicalPlan> reqPlans) Assumes that the given list contains at list two plans and that all plans in the list consist only of a request operator.protected LogicalPlanMergeRequests.mergeSPARQLRequestsViaJoin(FederationMember fm, SPARQLRequest req1, SPARQLRequest req2) protected LogicalPlanMergeRequests.mergeSPARQLRequestsViaUnion(SPARQLEndpoint fm, List<LogicalPlan> reqPlans) protected LogicalPlanMergeRequests.mergeSPARQLRequestsViaUnion(SPARQLEndpoint fm, SPARQLRequest req1, SPARQLRequest req2) protected LogicalPlanFilterPushDown.pushToNonOptSubPlan(org.apache.jena.sparql.expr.ExprList filterExprsWithoutAND, LogicalPlan nonoptSubPlan, org.apache.jena.sparql.expr.ExprList toBeKept) protected LogicalPlanGreedyBasedReordering.reorderSubPlans(LogicalPlan inputPlan) protected LogicalPlanPushJoinUnderUnionWithRequests.rewrite(LogicalPlan unionPlan, List<LogicalPlan> subPlansAsInput) UnionPullUp.rewritePlanWithJoinOverUnion(List<LogicalPlan> plansWithUnionRoot, List<LogicalPlan> plansWithNonUnionRoot) Based on the assumptions that i) the plans in the given lists have all been subplans of a join and ii) the given list of union-rooted plans is nonempty, pulls the unions out of these union-rooted plans by joining all their subplans with one another, and also with all the plans given in the other list (plansWithNonUnionRoot).UnionPullUp.rewritePlanWithUnaryRootAndUnionChild(UnaryLogicalOp rootOp, LogicalPlan subPlan) Based on the assumption that the given subplan has a union operator as its root operator, this function pulls up that union by pushing the given unary operator to be the root of each of the children of the union.UnionPullUp.rewritePlanWithUnionRootAndUnionChild(List<LogicalPlan> plansWithUnionRoot, List<LogicalPlan> plansWithNonUnionRoot) Based on the assumptions that i) the plans in the given lists have all been subplans of a union and ii) the given list of union-rooted plans is nonempty, merges all these union-rooted plans (plansWithUnionRoot) into a single union-root plan that has all the subplans of the given union-rooted plans as its subplans, together with all the plans given in the other list (plansWithNonUnionRoot).Methods in se.liu.ida.hefquin.engine.queryproc.impl.loptimizer.heuristics with parameters of type LogicalPlanModifier and TypeMethodDescriptionCardinalityBasedJoinOrderingBase.apply(LogicalPlan inputPlan) FilterPushDown.apply(LogicalPlan inputPlan) GreedyBasedReordering.apply(LogicalPlan inputPlan) MergeRequests.apply(LogicalPlan inputPlan) PullUpLtgOverJoin.apply(LogicalPlan inputPlan) PullUpLtgOverUnion.apply(LogicalPlan inputPlan) PushJoinUnderUnionWithRequests.apply(LogicalPlan inputPlan) RemovePairsOfG2lAndL2g.apply(LogicalPlan inputPlan) RemoveUnnecessaryL2gAndG2l.apply(LogicalPlan inputPlan) UnionPullUp.apply(LogicalPlan inputPlan) protected LogicalPlanFilterPushDown.applyToPlanWithFilterAsRootOperator(LogicalOpFilter filterOp, LogicalPlan subPlanUnderFilter, LogicalPlan inputPlan) static booleanRemovePairsOfG2lAndL2g.checkIfG2lAndL2gPairsRemovable(LogicalPlan plan) If a pair of g2l and l2g operators use the same vocabulary mapping, these two operators can be omittedprotected booleanRemoveUnnecessaryL2gAndG2l.checkIfL2gOrG2lNeeded(LogicalPlan plan) This function is used to check if a l2g or g2l operator is needed.static booleanPullUpLtgOverJoin.checkIfLtgCanBeExtractedOverJoin(LogicalPlan inputPlan) Check if l2g operator can be pulled up over join by checking: i) the root operator is a join (binary or multiway), ii) every subplan under this join has an l2g operator as its root, iii) all these l2g operators have the same vocab.mapping, and iv) that vocab.mapping is an "equivalence-only" mapping.static booleanPullUpLtgOverUnion.checkIfLtgCanBeExtractedOverUnion(LogicalPlan unionPlan) Check if l2g operator can be pulled up over union by checking: i) the root operator is a union (binary or multiway), ii) every subplan under this join has an l2g operator as its root, and iii) all these l2g operators have the same vocab.mappingprotected LogicalPlanFilterPushDown.createPlanAfterPushingInSubPlan(LogicalOpFilter parentFilterOp, UnaryLogicalOp childOp, LogicalPlan subPlanUnderChildOp, LogicalPlan inputPlan) protected LogicalPlanFilterPushDown.createPlanForAddOpUnderFilter(LogicalOpFilter parentFilterOp, UnaryLogicalOp childOp, LogicalPlan subPlanUnderChildOp, LogicalPlan inputPlan) Assumes that the given child operator is either aLogicalOpTPAdd, aLogicalOpTPOptAdd, aLogicalOpBGPAdd, aLogicalOpBGPOptAdd, aLogicalOpGPAdd, or aLogicalOpGPOptAdd.protected LogicalPlanFilterPushDown.createPlanForBindUnderFilter(LogicalOpFilter filterOp, LogicalOpBind bindOp, LogicalPlan subPlanUnderBind, LogicalPlan inputPlan) protected LogicalPlanFilterPushDown.createPlanForFilterUnderFilter(LogicalOpFilter parentFilterOp, LogicalOpFilter childFilterOp, LogicalPlan subPlanUnderChildFilterOp) protected LogicalPlanFilterPushDown.createPlanForJoinUnderFilter(LogicalOpFilter filterOp, LogicalPlan subPlanUnderFilter, LogicalPlan inputPlan) protected LogicalPlanFilterPushDown.createPlanForL2GOrG2LUnderFilter(LogicalOpFilter parentFilterOp, UnaryLogicalOp childOp, LogicalPlan subPlanUnderChildOp, LogicalPlan inputPlan) Assumes that the given child operator is either aLogicalOpLocalToGlobalor aLogicalOpGlobalToLocal.protected LogicalPlanFilterPushDown.createPlanForMultiwayLeftJoinUnderFilter(LogicalOpFilter filterOp, LogicalPlan subPlanUnderFilter, LogicalPlan inputPlan) protected LogicalPlanFilterPushDown.createPlanForRequestUnderFilter(LogicalOpFilter filterOp, LogicalOpRequest<?, ?> reqOp, LogicalPlan inputPlan) protected LogicalPlanFilterPushDown.createPlanForRightJoinUnderFilter(LogicalOpFilter filterOp, LogicalPlan nonoptSubPlan, LogicalPlan optSubPlan, LogicalPlan inputPlan) protected LogicalPlanFilterPushDown.createPlanForUnionUnderFilter(LogicalOpFilter filterOp, LogicalPlan subPlanUnderFilter) protected abstract int[]CardinalityBasedJoinOrderingBase.estimateCardinalities(LogicalPlan[] plans) Implementations of this function determine or estimate the cardinality of each of the given plans.protected int[]CardinalityBasedJoinOrderingWithRequests.estimateCardinalities(LogicalPlan[] plans) protected List<LogicalOpRequest<?, ?>> CardinalityBasedJoinOrderingWithRequests.extractAllRequestOps(LogicalPlan plan) Extracts all request operators from the given plan such that the resulting list of these operators will be ordered in the order in which the operators can be found by a depth-first traversal of the given plan.protected List<LogicalOpRequest<?,?>>[] CardinalityBasedJoinOrderingWithRequests.extractAllRequestOps(LogicalPlan[] plans) Extracts all request operators from the given list of plans such that, for each of the plans, the resulting list of these operators is ordered in the order in which the operators can be found by a depth-first traversal of the plan.protected static LogicalPlanPullUpLtgOverUnion.extractLtgOverNaryOp(LogicalPlan inputPlan) protected static Set<TriplePattern> RemoveUnnecessaryL2gAndG2l.extractTPs(LogicalPlan plan) booleanUnionPullUp.hasUnionRoot(LogicalPlan plan) protected LogicalPlanFilterPushDown.pushToNonOptSubPlan(org.apache.jena.sparql.expr.ExprList filterExprsWithoutAND, LogicalPlan nonoptSubPlan, org.apache.jena.sparql.expr.ExprList toBeKept) protected voidCardinalityBasedJoinOrderingBase.reorder(LogicalPlan[] plans) Changes the order of the subplans in the given array by using the greedy algorithm described above for this class.protected LogicalPlanGreedyBasedReordering.reorderSubPlans(LogicalPlan inputPlan) protected LogicalPlanPushJoinUnderUnionWithRequests.rewrite(LogicalPlan unionPlan, List<LogicalPlan> subPlansAsInput) UnionPullUp.rewritePlanWithUnaryRootAndUnionChild(UnaryLogicalOp rootOp, LogicalPlan subPlan) Based on the assumption that the given subplan has a union operator as its root operator, this function pulls up that union by pushing the given unary operator to be the root of each of the children of the union.Method parameters in se.liu.ida.hefquin.engine.queryproc.impl.loptimizer.heuristics with type arguments of type LogicalPlanModifier and TypeMethodDescriptionprotected LogicalPlanMergeRequests.mergeSPARQLRequestsViaJoin(FederationMember fm, List<LogicalPlan> reqPlans) Assumes that the given list contains at list two plans and that all plans in the list consist only of a request operator.protected LogicalPlanMergeRequests.mergeSPARQLRequestsViaUnion(SPARQLEndpoint fm, List<LogicalPlan> reqPlans) protected LogicalPlanPushJoinUnderUnionWithRequests.rewrite(LogicalPlan unionPlan, List<LogicalPlan> subPlansAsInput) UnionPullUp.rewritePlanWithJoinOverUnion(List<LogicalPlan> plansWithUnionRoot, List<LogicalPlan> plansWithNonUnionRoot) Based on the assumptions that i) the plans in the given lists have all been subplans of a join and ii) the given list of union-rooted plans is nonempty, pulls the unions out of these union-rooted plans by joining all their subplans with one another, and also with all the plans given in the other list (plansWithNonUnionRoot).UnionPullUp.rewritePlanWithUnionRootAndUnionChild(List<LogicalPlan> plansWithUnionRoot, List<LogicalPlan> plansWithNonUnionRoot) Based on the assumptions that i) the plans in the given lists have all been subplans of a union and ii) the given list of union-rooted plans is nonempty, merges all these union-rooted plans (plansWithUnionRoot) into a single union-root plan that has all the subplans of the given union-rooted plans as its subplans, together with all the plans given in the other list (plansWithNonUnionRoot).protected voidMergeRequests.separateSubPlansOfMultiwayOps(List<LogicalPlan> subPlans, Map<FederationMember, List<LogicalPlan>> reqOnlyPlansPerFedMember, List<LogicalPlan> nonReqSubPlans) protected voidMergeRequests.separateSubPlansOfMultiwayOps(List<LogicalPlan> subPlans, Map<FederationMember, List<LogicalPlan>> reqOnlyPlansPerFedMember, List<LogicalPlan> nonReqSubPlans) Constructors in se.liu.ida.hefquin.engine.queryproc.impl.loptimizer.heuristics with parameters of type LogicalPlan - 
Uses of LogicalPlan in se.liu.ida.hefquin.engine.queryproc.impl.loptimizer.heuristics.utils
Fields in se.liu.ida.hefquin.engine.queryproc.impl.loptimizer.heuristics.utils declared as LogicalPlanMethods in se.liu.ida.hefquin.engine.queryproc.impl.loptimizer.heuristics.utils that return LogicalPlanMethods in se.liu.ida.hefquin.engine.queryproc.impl.loptimizer.heuristics.utils with parameters of type LogicalPlanModifier and TypeMethodDescriptionprotected Set<TriplePattern> QueryAnalyzer.extractTPsAndRecordFms(LogicalPlan plan) Constructors in se.liu.ida.hefquin.engine.queryproc.impl.loptimizer.heuristics.utils with parameters of type LogicalPlan - 
Uses of LogicalPlan in se.liu.ida.hefquin.engine.queryproc.impl.planning
Methods in se.liu.ida.hefquin.engine.queryproc.impl.planning that return LogicalPlanModifier and TypeMethodDescriptionQueryPlanningStatsImpl.getResultingLogicalPlan()QueryPlanningStatsImpl.getResultingSourceAssignment()Constructors in se.liu.ida.hefquin.engine.queryproc.impl.planning with parameters of type LogicalPlanModifierConstructorDescriptionQueryPlanningStatsImpl(long overallQueryPlanningTime, long sourcePlanningTime, long logicalOptimizationTime, long physicalOptimizationTime, SourcePlanningStats sourcePlanningStats, LogicalPlan resultingSourceAssignment, LogicalPlan resultingLogicalPlan, PhysicalPlan resultingPhysicalPlan, PhysicalOptimizationStats queryOptimizationStats)  - 
Uses of LogicalPlan in se.liu.ida.hefquin.engine.queryproc.impl.poptimizer
Methods in se.liu.ida.hefquin.engine.queryproc.impl.poptimizer with parameters of type LogicalPlan - 
Uses of LogicalPlan in se.liu.ida.hefquin.engine.queryproc.impl.poptimizer.evolutionaryAlgorithm
Methods in se.liu.ida.hefquin.engine.queryproc.impl.poptimizer.evolutionaryAlgorithm with parameters of type LogicalPlanModifier and TypeMethodDescriptionprotected static intTerminationCriterionBase.countNumOfOps(LogicalPlan plan) TerminationCriterionFactory.createInstance(LogicalPlan plan) Creates a new instance of the corresponding termination criterion, which is initialized based on the given logical plan, and returns that new instance.EvolutionaryAlgorithmQueryOptimizer.optimize(LogicalPlan initialPlan) Constructors in se.liu.ida.hefquin.engine.queryproc.impl.poptimizer.evolutionaryAlgorithm with parameters of type LogicalPlanModifierConstructorDescriptionTerminateByDistancePercAvg(double percAvgThreshold, LogicalPlan plan) TerminateByDistancePercAvgDynamicG(double percAvgThreshold, LogicalPlan plan) TerminateByDistancePercBest(double percBestThreshold, LogicalPlan plan) TerminateByDiversityDistBest(double distBestThreshold, double topK, LogicalPlan plan) TerminateByDiversityDistMax(double distMaxThreshold, LogicalPlan plan) TerminateByDiversityRelStDev(double relStDevThreshold, LogicalPlan plan) TerminatedByCostValue(double costValueThreshold, LogicalPlan plan) TerminatedByNumberOfGenerations(int generationThreshold, LogicalPlan plan)  - 
Uses of LogicalPlan in se.liu.ida.hefquin.engine.queryproc.impl.poptimizer.randomized
Methods in se.liu.ida.hefquin.engine.queryproc.impl.poptimizer.randomized with parameters of type LogicalPlanModifier and TypeMethodDescriptionIterativeImprovementBasedQueryOptimizer.optimize(LogicalPlan initialPlan) SimulatedAnnealing.optimize(LogicalPlan initialPlan) TwoPhaseQueryOptimizer.optimize(LogicalPlan initialPlan)  - 
Uses of LogicalPlan in se.liu.ida.hefquin.engine.queryproc.impl.srcsel
Methods in se.liu.ida.hefquin.engine.queryproc.impl.srcsel that return LogicalPlanModifier and TypeMethodDescriptionprotected LogicalPlanExhaustiveSourcePlannerImpl.createPlan(org.apache.jena.sparql.algebra.Op jenaOp) protected LogicalPlanServiceClauseBasedSourcePlannerImpl.createPlan(org.apache.jena.sparql.algebra.Op jenaOp) protected LogicalPlanServiceClauseBasedSourcePlannerImpl.createPlan(org.apache.jena.sparql.algebra.Op jenaOp, FederationMember fm) protected LogicalPlanExhaustiveSourcePlannerImpl.createPlanForBGP(org.apache.jena.sparql.algebra.op.OpBGP bgpOp) protected LogicalPlanServiceClauseBasedSourcePlannerImpl.createPlanForBGP(org.apache.jena.sparql.algebra.op.OpBGP pattern, FederationMember fm) protected LogicalPlanServiceClauseBasedSourcePlannerImpl.createPlanForBGP(org.apache.jena.sparql.core.BasicPattern pattern, FederationMember fm) protected LogicalPlanServiceClauseBasedSourcePlannerImpl.createPlanForBGP(BGP bgp, FederationMember fm) protected LogicalPlanServiceClauseBasedSourcePlannerImpl.createPlanForBind(org.apache.jena.sparql.algebra.op.OpExtend jenaOp) protected LogicalPlanServiceClauseBasedSourcePlannerImpl.createPlanForFilter(org.apache.jena.sparql.algebra.op.OpFilter jenaOp) protected LogicalPlanServiceClauseBasedSourcePlannerImpl.createPlanForFilter(org.apache.jena.sparql.algebra.op.OpFilter jenaOp, FederationMember fm) protected LogicalPlanServiceClauseBasedSourcePlannerImpl.createPlanForJoin(org.apache.jena.sparql.algebra.op.OpJoin jenaOp) protected LogicalPlanServiceClauseBasedSourcePlannerImpl.createPlanForJoin(org.apache.jena.sparql.algebra.op.OpJoin jenaOp, FederationMember fm) protected LogicalPlanServiceClauseBasedSourcePlannerImpl.createPlanForLeftJoin(org.apache.jena.sparql.algebra.op.OpConditional jenaOp) protected LogicalPlanServiceClauseBasedSourcePlannerImpl.createPlanForLeftJoin(org.apache.jena.sparql.algebra.op.OpConditional jenaOp, FederationMember fm) protected LogicalPlanServiceClauseBasedSourcePlannerImpl.createPlanForLeftJoin(org.apache.jena.sparql.algebra.op.OpLeftJoin jenaOp) protected LogicalPlanServiceClauseBasedSourcePlannerImpl.createPlanForLeftJoin(org.apache.jena.sparql.algebra.op.OpLeftJoin jenaOp, FederationMember fm) protected LogicalPlanServiceClauseBasedSourcePlannerImpl.createPlanForSequence(org.apache.jena.sparql.algebra.op.OpSequence jenaOp) protected LogicalPlanServiceClauseBasedSourcePlannerImpl.createPlanForServicePattern(org.apache.jena.sparql.algebra.op.OpService jenaOp) protected LogicalPlanServiceClauseBasedSourcePlannerImpl.createPlanForUnion(org.apache.jena.sparql.algebra.op.OpUnion jenaOp) protected LogicalPlanServiceClauseBasedSourcePlannerImpl.createPlanForUnion(org.apache.jena.sparql.algebra.op.OpUnion jenaOp, FederationMember fm) protected LogicalPlanExhaustiveSourcePlannerImpl.createRequestSubPlan(org.apache.jena.graph.Triple tp, FederationMember fm) protected LogicalPlanExhaustiveSourcePlannerImpl.createSubPlanForTP(org.apache.jena.graph.Triple tp) protected LogicalPlanServiceClauseBasedSourcePlannerImpl.mergeIntoMultiwayJoin(List<LogicalPlan> subPlans) protected LogicalPlanServiceClauseBasedSourcePlannerImpl.mergeIntoMultiwayJoin(LogicalPlan... subPlans) protected LogicalPlanServiceClauseBasedSourcePlannerImpl.mergeIntoMultiwayLeftJoin(LogicalPlan leftSubPlan, LogicalPlan rightSubPlan) protected LogicalPlanServiceClauseBasedSourcePlannerImpl.mergeIntoMultiwayUnion(LogicalPlan... subPlans) Methods in se.liu.ida.hefquin.engine.queryproc.impl.srcsel that return types with arguments of type LogicalPlanModifier and TypeMethodDescriptionprotected Pair<LogicalPlan, SourcePlanningStats> ServiceClauseBasedSourcePlannerImpl.createSourceAssignment(org.apache.jena.sparql.algebra.Op jenaOp) protected abstract Pair<LogicalPlan, SourcePlanningStats> SourcePlannerBase.createSourceAssignment(org.apache.jena.sparql.algebra.Op jenaOp) final Pair<LogicalPlan, SourcePlanningStats> SourcePlannerBase.createSourceAssignment(Query query) Methods in se.liu.ida.hefquin.engine.queryproc.impl.srcsel with parameters of type LogicalPlanModifier and TypeMethodDescriptionprotected LogicalPlanServiceClauseBasedSourcePlannerImpl.mergeIntoMultiwayJoin(LogicalPlan... subPlans) protected LogicalPlanServiceClauseBasedSourcePlannerImpl.mergeIntoMultiwayLeftJoin(LogicalPlan leftSubPlan, LogicalPlan rightSubPlan) protected LogicalPlanServiceClauseBasedSourcePlannerImpl.mergeIntoMultiwayUnion(LogicalPlan... subPlans) Method parameters in se.liu.ida.hefquin.engine.queryproc.impl.srcsel with type arguments of type LogicalPlanModifier and TypeMethodDescriptionprotected LogicalPlanServiceClauseBasedSourcePlannerImpl.mergeIntoMultiwayJoin(List<LogicalPlan> subPlans)