I have a rule that is failing to commit. This is the rule:
when {
$t isa person;
$car isa car;
$t2 isa person;
$r ($t, $car) isa ownership;
$r2 ($t2, $car) isa ownership;
}, then {
$car has age 23;
($car, $t2) isa ownership;
};
This is the error that I get after I commit this:
INVALID_ARGUMENT: InvalidKBException-A structural validation error has occurred. Please correct the [`1`] errors found.
The rule [rule-32] does not form a valid clause, as it contains a multi-atom head
. Please check server logs for the stack trace.
All uncommitted data is cleared
What @Jon T said is correct, and therefore the solution specific to your problem is to split the rule into two rules.
Both rules will have an identical
whenclause where thethenclause has exactly one conclusion: