KIABORA
- Rule Set Analyzer -
Help?
Display structures:
- Rule base
- Displays each rule as well as its ID.
- Graph of Rule dependencies
- Lists all edges between rules in the
graph of rule dependencies (GRD). An edge from
R1 to R2 means that R2 depends on R1
(i.e., there exists a fact base F such that an application of R1 to F
trigger an application of R2 which effectively adds new atoms). All the piece-unifiers that support rule dependencies may also be displayed.
- Strongly connected components in the GRD
-
Lists the rules in each strongly connected components (scc).
- Graph of GRD strongly connected components
-
Lists all edges between scc.
This graph is mostly used to combine abstract properties.
- Graph of predicate positions
-
Lists all edges of the Graph of predicate positions. A special edge is represented by ~>.
Display the properties of:
- Each rule
- The properties of each rule
independently from the others are displayed in an array.
- Each strongly connected component in the GRD
- The properties of each scc of
the GRD are displayed in an array.
- Entire rule base
- The properties of the entire rule base are displayed in an array.
Check properties:
Select which properties are to be displayed and used to check decidability. More information about rule classes here.
Combining abstract classes:
If the rule base is recognized as decidable, Kiabora proposes ways of processing the rules according to the abstract properties fes, gbts and fus. The fes and fus properties are respectively associated with the forward and the backward chaining paradigms. Algorithms are known for gbts classes, however to the best of our knowledge, no implemented algorithm is available (except for specific description logics).
When decidability is found, Kiabora outputs two ways of partitioning the rule base while keeping the completeness of CQ answering. Each solution corresponds to a priority given to fes or to fus: it maximizes the number of strongly connected components of the GRD processed as fes or as fus.