On 03/07/12 14:51, [email protected] wrote:
When I want to make sure that a certain rules is executed before another one I am storing them in seperate rules files, instatiate a RuleReasoner per file and pass the inferred model on to next reasoner.Therefore I'd like to know if it is possible to define rules that, only if true, invoke other rules or to define nested rules (in forward chaining mode) like this: [rule: (?x :hasY ?y) (?y :hasZ ?z) -> (?x :hasZ ?z) [rule2: (?x :hasP ?p) (?p :hasA ?a) -> (?x :hasA ?a) ] ]
No there's no built-in support for general rule stratification, layering or conditional chaining.
If you only have two layers you can make one layer forward rules and the other layer backward.
Beyond that you have to cascade infmodels together as you are doing. Dave [Sorry for slow reply, been largely off-grid for a week.]
