Previous topic  Top  Next topic  Print this Topic

Wellfounded Evaluation


OntoBroker is able to deal with rules which contain rule cycles over a negated literal. In order to evaluate a query over these rules OntoBroker must use a special evaluation strategy called "well-founded evaluation". A well-founded evaluation needs much more time and should be avoided if possible. You can also dissolve cycles using negations and aggregations. If you must use such rules you need to set the following configuration switch:

WellfoundedEvaluation = on

However, you should be aware of the performance penalty for such ontologies ("unstratified models").

A typical example of an unstratified model is


male(?X) :- person(?X) AND NOT female(?X).

female(?X) :- person(?X) AND NOT male(?X).

Here it is not clear which rule to evaluate first. If you query for "person" the result is "a", but if you query for "male" or "female", the result set is empty. The reason is a cycle over negations. This rule graph can be displayed by setting the switch "VisualizeStratificationProblemDetails=on" and starting OntoBroker with "WellfoundedEvaluation=off". If OntoBroker then detects such cycles the cycles are displayed.