Thank you Nil, I'll do that. - ivan -
pet, 4. ožu 2022. u 06:35 'Nil Geisweiller' via opencog < [email protected]> napisao je: > Hi Ivan, > > thanks for your report, it looks like a pattern matcher bug. > > Ideally what you'd do is > > 1. Try to minimize it even further, if possible (you could start by > removing the rewriting term and use GetLink instead of BindLink, etc) > 2. Test it using the guile interpreter directly > 3. Create a github issue on the atomspace repository (as is contains the > pattern matcher code, which is likely the source of the problem). > > Also, maybe you should use ChoiceLink, I'm not sure of the current > status, but in > > https://wiki.opencog.org/w/ChoiceLink > > it is said that > > """ > Caution: At this time, PresentLink is incompletely implemented, and the > above combination of PresentLink and OrLink does not work. If this is > what you want to do, use ChoiceLink instead! (If this seems too > burdensome for some reason, open a github issue or complain loudly on > the mailing list if you need this to work.) > """ > > Nil > > On 3/2/22 19:10, Ivan V. wrote: > > Hi all, > > > > I'm composing some use examples of Atomspace via CogServer, and I'm > > encountering some strange behavior. If I enter: > > > > *;John attends college > > (Evaluation > > (Predicate "Attends college") > > (List > > (Concept "John"))) > > > > ;trigger graph rewriting > > (cog-execute! > > (Bind > > ;if X attends school or X attends college > > (Or > > (Evaluation > > (Predicate "Attends school") > > (List > > (Variable "$X"))) > > > > (Evaluation > > (Predicate "Attends college") > > (List > > (Variable "$X")))) > > > > ;then X is a student > > (Evaluation > > (Predicate "Is student") > > (List > > (Variable "$X")))))* > > > > I get unexpected output: > > > > *(SetLink)* > > > > On the other hand, if I enter: > > > > *;John attends college > > (Evaluation > > (Predicate "Attends college") > > (Concept "John")) > > > > ;trigger graph rewriting > > (cog-execute! > > (Bind > > ;if X attends school or X attends college > > (Or > > (Evaluation > > (Predicate "Attends school") > > (Variable "$X")) > > > > (Evaluation > > (Predicate "Attends college") > > (Variable "$X"))) > > > > ;then X is a student > > (Evaluation > > (Predicate "Is student") > > (Variable "$X"))))* > > > > then the output is expectedly: > > * > > * > > *(SetLink > > (EvaluationLink > > (PredicateNode "Is student") > > (ConceptNode "John")))* > > > > The only difference is in presence of ListLink in the first example, or > > in absence of it in the second. > > > > Is this behavior intended, or the output in the first example is not > > correct? > > > > Thank you for attention, > > - ivan - > > ** > > > > -- > > You received this message because you are subscribed to the Google > > Groups "opencog" group. > > To unsubscribe from this group and stop receiving emails from it, send > > an email to [email protected] > > <mailto:[email protected]>. > > To view this discussion on the web visit > > > https://groups.google.com/d/msgid/opencog/CAB5%3Dj6V7v4%3DBXDxfRUE8mX7JdsYd-batKHq%3DwzqDbCUR%3D1F_oQ%40mail.gmail.com > > < > https://groups.google.com/d/msgid/opencog/CAB5%3Dj6V7v4%3DBXDxfRUE8mX7JdsYd-batKHq%3DwzqDbCUR%3D1F_oQ%40mail.gmail.com?utm_medium=email&utm_source=footer > >. > > -- > You received this message because you are subscribed to the Google Groups > "opencog" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/opencog/83a7fd06-dec4-18eb-a9e2-ac6d03baa0f4%40gmail.com > . > -- You received this message because you are subscribed to the Google Groups "opencog" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/opencog/CAB5%3Dj6WLxLrJiS8twoFRF0k7-hfG4jWczc76vKBkHAOn5vMrqw%40mail.gmail.com.
