Previous topic  Top  Next topic  Print this Topic



This evaluation method checks the program characteristics and decides which evaluation method (BottomUp, MagicSet, DisjunctiveMagicSet or DynamicFiltering) should be used for a specific query. Some of the characteristics which will be checked are:

Is the program bottomup evaluable?
Does the program contain function symbols?
Does the program contain stratified or wellfounded negations?
Do we need to create explanations?
Do the rules have disjunctions in the head?
How many rules are in the program?
How selective is the query?

Typically "choose" will select an appropriate evaluation method, so setting. You have to be aware that “choose” uses heuristics to decide on an evaluation method. Heuristics can fail. So it may be the case that “choose” does not find the optimal evaluation strategy.