|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
public interface IProgram
A program consists of a set of rules and/or programs. Some programs are executed sequentially while others are (at least logically) parallel. A program may also specify the transitive closure of its rules.
| Method Summary | |
|---|---|
boolean |
isClosure()
true iff the fixed point closure of the IProgram
should be computed. |
boolean |
isParallel()
true iff the steps() MAY be executed in parallel. |
int |
stepCount()
The #of steps in the program (non-recursive). |
Iterator<IStep> |
steps()
The sequence of sub-program ISteps. |
IStep[] |
toArray()
An array containing the steps in the program (non-recursive). |
| Methods inherited from interface com.bigdata.relation.rule.IStep |
|---|
getName, getQueryOptions, isRule, toString |
| Method Detail |
|---|
boolean isParallel()
true iff the steps() MAY be executed in parallel.
When false the steps WILL be executed sequentially and
(for mutation) the buffered writes will be flushed after each step.
Note: Sequential execution of a program makes a multi-IRule
program MUCH easier to debug as the rules are executed one by one and the
buffer is flushed after each rule so you can directly see the #of
elements consider by the IRule for each IPredicate in the
tail and the #of ISolutions generated by the IRule.
boolean isClosure()
true iff the fixed point closure of the IProgram
should be computed.
Note: Closure is computed in rounds. The rounds continue until the
IMutableRelation(s) on which the steps are writing reach a fixed
point (no new solutions are added to the relation(s) within a given
round). If a program has a fixed point, then the same closure will be
obtained by either sequential or parallel execution of the steps within
each round and in general parallel execution of the steps is perferred as
it has better performance. However, the steps MAY be executed
sequentially to facilitate debugging.
Iterator<IStep> steps()
ISteps.
int stepCount()
IStep[] toArray()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||