Non sono sicuro se ho capito la tua domanda, ma utilizzando una combinazione di gruppi di attivazione e le strategie di risoluzione dei conflitti tradizionale potrebbe ottenere quello che ti serve. Ad esempio, diciamo che hai 3 regole, A, B e C. Vuoi usare, diciamo, salienza per dare loro priorità di esecuzione in quell'ordine, e una volta eseguita, nessuna altra regola in quel gruppo dovrebbe essere eseguita . È possibile definire in questo modo:
rule A
salience 30
activation-group "x"
...
rule B
salience 20
activation-group "x"
...
rule C
salience 10
activation-group "x"
...
la salienza garantisce che se A attiva, si sparerà per primo, seguito da B, seguito da C se erano attivati. Il gruppo di attivazione garantisce che, una volta attivata una delle regole, tutte le altre regole attivate in quel gruppo verranno annullate. Quindi, diciamo che nella tua sessione, le regole B e C si attivano, ma non A, allora B sparerà e C sarà annullato.
Si prega di notare che i gruppi di attivazione non impediscono che le regole vengano successivamente riattivate. Annulla solo le attivazioni attualmente in agenda al momento una delle regole nel fuoco di gruppo.
fonte
2012-06-01 16:23:01