Re: JESS: Nested not conditional element with slots referring to facts

"Henrique Lopes Cardoso" <[email protected]>
Newsgroups gmane.comp.java.jess
Message-ID <17018_1279719734_o6LDfmvi017312_20100720210437.14146ceh3um6hkrc@webmail.fe.up.pt>
Actually, asserts do work, because (deffacts) are added to working  
memory by a call to (reset). This is wy I am calling (facts) before  
(run), to make sure facts are in working memory as intended.

Anyway, I tried (assert)ing them one by one and it still does not work  
as expected.

It must be something else.

Henrique


Citando Wolfgang Laun <[email protected]>:

> When (deffacts) is evaluated to build the facts, (fact-id) won't
> return a fact since only the (reset) inserts
> the defined facts. You'll have to use dynamic insertion with (assert)
> to insert a fact referring to another
> fact.
>
> -W
>
> On 20 July 2010 19:23, Henrique Lopes Cardoso <[email protected]> wrote:
>> Hi,
>>
>> I have just reproduced the example of section 6.10 of the Jess manual:
>>
>>    (defrule forall-example
>>        (not (and (a ?x)
>>                  (not (b ?x)) ) )
>>        =>
>>        (printout t "whassup?" crlf) )
>>
>>    (deffacts qwe
>>        (a 1)
>>    ;    (a 2)
>>        (b 1) )
>>
>>    (reset) (facts) (run)
>>
>> So in this case, if I comment out fact (a 2), the rule stops firing.
>> But then I tried to implement the following rule:
>>
>>    (defrule r
>>        (not (and ?x <- (a ?)   ; variable binding
>>                  (not (b ?x)) ) )   ; check if there is a b referring
>> to the a fact
>>        =>
>>        (printout t "sure thing!" crlf) )
>>
>>    (deffacts qwe
>>        (a 1)
>>    ;    (a 2)
>>        (b (fact-id 1)) )   ; fact b referring to fact (a 1)
>>
>>    (reset) (facts) (run)
>>
>> It's quite similar to the previous one, but now I am inspecting if fact
>> b contains a reference to fact a.
>> In this case the rule does not cease to fire when I comment out (a 2).
>>
>> Am I missing something?
>>
>> Thanks,
>>
>> Henrique
>>
>>
>>
>> --------------------------------------------------------------------
>> 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].
>> --------------------------------------------------------------------
>>
>>
>
>
>
>
> --------------------------------------------------------------------
> 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].
> --------------------------------------------------------------------
>
>






--------------------------------------------------------------------
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].
--------------------------------------------------------------------
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.