Два правила A и B : - логический эквивалент A или B (не xor).
Вы не можете ссылаться на другое правило, но вы можете определять запросы и вызывать два (или более) запроса в одном и том же состоянии LHS.
Однако общая схема вашей логики может сделать совершенно другой подход более целесообразным, когда совпадения различных правил становятся осязаемыми путем вставки в виде производных фактов, известных как обслуживание истины.
rule A when ... then
insertLogical(new Fired("A"));
end
rule B when ... then
insertLogical(new Fired("B"));
end
rule AorB when
Fired(rule == "A" || rule == "B") // other patterns for other combinations, e.g. &&
then
...
end
Для уточнения рекомендаций потребуется более подробная информация.
Это хорошо работает для моей ситуации. Я пытаюсь моделировать состояние системы. Таким образом, я смогу захватить и уведомить Drools о состоянии системы с правилами, а затем сделать выводы позже. –