Hans,
I checked the docs and as Edson says it should work without the exists( ).
Strange that never worked for me.

Maybe we all learn something if you can carve out a test-case.
Strange.

--I

Am 31.07.2008 um 19:29 schrieb [EMAIL PROTECTED]:

Ingomar,

I tried this, and indeed that worked. I was surprised, as I thought "not" was meant more to mean that a fact inside its parentheses did not exist, rather than a logical negation, which is the way you used it in your example. However, if I do what you said, it does work exactly how I expected "not" alone to work.

Thanks!
-Hans

-------------- Original message --------------
From: Ingomar Otter <[EMAIL PROTECTED]>

Hans,
If you change "not NegativeResult()" to "not (exits
NegativeResult())" this should result in the expected behaviour.

Cheers,
Ingomar

Am 31.07.2008 um 17:19 schrieb [EMAIL PROTECTED]:

How is "not" supposed to work with insertLogical? Assume I have two
different rules whose conditions are mutually exclusive, like the
following:
rule "Rule One"
when
not NegativeResult()
then
insertLogical(new ApplicantStatus("Approved"));
end
rule "Rule Two"
when
NegativeResult()
then
insertLogical(new ApplicantStatus("Denied"));
end
Assume that the above two rules are the only way an ApplicantStatus
fact can be inserted into working memory. I would expect, after all
rules are run, that it would be impossible for there to be one
ApplicantStatus with "Approved" as its reason, and another with
"Denied" as its reason, in the working memory.
I would expect that, before any NegativeResult is inserted, that
rule one could run, and insert an ApplicantStatus fact with an
"Approved" reason. Then, after a NegativeResult is inserted, that
rule two could run, and insert an ApplicantStatus fact with a
"Denied" reason. At this point I would expect that the original
ApplicantStatus fact, with an "Approved" reason, would be retracted,
since the conditions under which it was inserted are no longer true.
This is not what I am observing, however. I am finding
ApplicantStatus facts with both reasons in working memory at the end
of the rules run. Should "not" work as I expect with regard to
inserting a fact via insertLogical()? Or is this a known limitation,
or simply the way it is designed to work?
Thanks,
-Hans_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users

_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users

_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users

Reply via email to