Well thats the question, imagine i have 2 rules. The second rule depends on the first rule. For example:
(deftemplate person
(slot name (type STRING))
(slot age (type STRING))
)
(deffacts start
(person(name "Mike")(age "20"))
(person(name "Laura")(age "22"))
(person(name "Dean")(age "22"))
(person(name "Charlie")(age "22"))
)
(defrule filterage
(person (name ?n)(age ?a))
(test (eq ?a "22"))
=>
(assert (is-equal-to-22 ?n))
)
(defrule creategroup
(is-equal-to-22 ?c)
=>
(assert (is-in-22-years-old-group ?c))
)
And as expected the second rule fires any time it has something from rule 1.
So, how can i make the second rule wait till all persons are created, without using declare salience