This is rather like a compensating transaction (ie "undo") and is necessary 
when say communicating with a system that is external to the rules engine 
itself. If it were within the rule engine I could just use a logical condition).

One solution might be to hold a rerference to the original fact (in another) 
and have a rule that fires when the referenced fact no longer exists. For 
example: 

    (?bind ?a (assert A))

    (assert B ?a)

Now If I say:

    (retract ?a)

How would I write a rule that says:

    if there is a (B ?a)
    such that ?a doesn't exist

It's relatively simple in JRules but that doesn't necessary make it the right 
thing to do :-)

So, does this actually make sense? If so, how do I achieve this? If not, what 
are my options?

Cheers,

Simon

--------------------------------------------------------------------
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