I think that Chirag wrote:

>>I do not want the previous rules fired, even though they may have
activation records.

If a (rule A) is activated and you want a particular (rule B) to remove it
from the agenda, simply have (rule B) make some assertion that invalidates
the pattern match that first activated (rule A).  (Rule A) will then be
removed from the agenda.  You need to use salience, (set-strategy), or some
other conflict resolution to ensure that (rule B) fires before (rule A).

>>...How would I do this?

One easy way is to use a "control pattern" -- an ordered fact that simply
acts as a constraint on the entire LHS of a rule.  For example:

(defrule controlled-rule
?control <- (control-fact)
;; add your other fact patterns here
=>
;; add what actions you want done here
(retract ?control)
(assert (next-control-fact))) ;; this will activate other rules

BTW - Facts activate rules, not the other way around.

Cheers,
-JM
------------------------

Jason Morris
Morris Technical Solutions
[EMAIL PROTECTED]
www.morristechnicalsolutions.com
fax/phone: 503.692.1088

--------------------------------------------------------------------
To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]'
in the BODY of a message to [EMAIL PROTECTED], NOT to the list
(use your own address!) List problems? Notify [EMAIL PROTECTED]
--------------------------------------------------------------------

Reply via email to