|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object felix.optimizer.DMOOptimizer
public class DMOOptimizer
An object of DMOOptimer takes inputs as a DMO, analyzes its
logic plan, and fill in its physical plan. Current version of the
DMOOptimizer will only optimize the materialization trade-off.
Note that, this class does not touch the DB directly, instead
it uses an instance of CostModel
.
Field Summary | |
---|---|
CostModel |
cm
Cost model used to optimize the DMO. |
Constructor Summary | |
---|---|
DMOOptimizer(CostModel _cm)
The constructor. |
Method Summary | |
---|---|
void |
close()
Close the database connection used in this DMOOptimizer. |
java.util.HashMap<tuffy.ra.ConjunctiveQuery,java.util.HashMap<tuffy.mln.Literal,tuffy.ra.ConjunctiveQuery>> |
generateAllPossiblePlans(tuffy.mln.Literal head,
java.util.ArrayList<tuffy.mln.Literal> subgoals,
java.util.ArrayList<java.lang.String> additionalSelList,
java.util.HashMap<java.lang.String,java.lang.String> typeMapping)
Given a literal as goal, a set of literals as subgoals, generate all possible binary decompositions of this set of subgoals. |
java.lang.String |
giveMeTheSignatureOfTwoQuery(java.util.HashMap<tuffy.mln.Literal,tuffy.ra.ConjunctiveQuery> sets)
Returns signature of query set. |
void |
optimizeDMO(ConcurrentOperatorsBucket cob)
Optimize all DMOs appearing in the given ConcurrentOperatorsBucket . |
void |
optimizeMateralization(DataMovementOperator dmo)
Optimize the materialization trade-off of the given DMO. |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public CostModel cm
Constructor Detail |
---|
public DMOOptimizer(CostModel _cm)
_cm
- Method Detail |
---|
public void close()
public void optimizeDMO(ConcurrentOperatorsBucket cob)
ConcurrentOperatorsBucket
.
cob
- public java.lang.String giveMeTheSignatureOfTwoQuery(java.util.HashMap<tuffy.mln.Literal,tuffy.ra.ConjunctiveQuery> sets)
sets
-
public void optimizeMateralization(DataMovementOperator dmo)
dmo
- public java.util.HashMap<tuffy.ra.ConjunctiveQuery,java.util.HashMap<tuffy.mln.Literal,tuffy.ra.ConjunctiveQuery>> generateAllPossiblePlans(tuffy.mln.Literal head, java.util.ArrayList<tuffy.mln.Literal> subgoals, java.util.ArrayList<java.lang.String> additionalSelList, java.util.HashMap<java.lang.String,java.lang.String> typeMapping)
head
- goalsubgoals
- set of subgoalsadditionalSelList
- terms needed to be maintained in the variable list of Q1 and Q2.
By default all variables needed to compute Q from Q1 and Q2 will be automatically maintained,
however, if you want to maintain others, add them in this list.typeMapping
- If you want some variables in Q1 and Q2 have special types (e.g., double instead
of constant ID), put them in this map.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |