Thank you , works fine!
Regards Hans

Jason Morris wrote:
> 
> Yep, that works too, of course.  And it is the preferred way of doing it.
> My bad.
> 
> On Nov 14, 2007 1:23 PM, Robert Kirby <[EMAIL PROTECTED]> wrote:
> 
>>  How about
>>
>> (defrule find_it2
>>    (things (Id ?pId)(elements $? ?elementName $?))
>>    (otherthing (one_Element ?elementName))
>>    =>
>>    (printout t "found it:" ?pId crlf))
>>
>> which is described at the end of *6.4. Matching in Multislots*
>> <http://herzberg.ca.sandia.gov/jess/docs/70/rules.html#multimatch>?
>>
>> Bob Kirby
>>
>>
>> At 09:15 AM 11/14/2007, Jason Morris wrote:
>>
>> Hi Hans,
>>
>> Try this solution:
>>
>> (clear)
>> (watch all)
>>
>> (deftemplate things
>>    (slot Id)
>>    (multislot elements))
>> (deftemplate otherthing
>>      (slot one_Element))
>>
>> (deffacts init
>>     (things (Id 1) (elements a b c))
>>     (otherthing (one_Element a)))
>>
>> ;Get all Ids of things
>> ;Where AElement of elements equals one_Element
>>
>> (defrule find_it
>>    (things (Id ?pId)(elements $?elements))
>>    (otherthing (one_Element ?foo&:(member$ ?foo ?elements)))
>>  =>
>>    (printout t crlf "Found it: " ?pId crlf crlf))
>>
>> ; Program
>> (reset)
>> (run)
>>
>> /** OUTPUT
>> MAIN::find_it: +1+1+1+1+2+t
>>  ==> Focus MAIN
>>  ==> f-0 (MAIN::initial-fact)
>>  ==> f-1 (MAIN::things (Id 1) (elements a b c))
>>  ==> f-2 (MAIN::otherthing (one_Element a))
>> ==> Activation: MAIN::find_it :  f-1, f-2
>> FIRE 1 MAIN::find_it f-1, f-2
>>
>> Found it: 1
>>
>>  <== Focus MAIN
>> **/
>>
>> Cheers,
>> Jason
>>
>> -----------------------------------------------------------
>> Jason Morris
>> Morris Technical Solutions LLC
>>  http://www.morris-technical-solutions.com
>>
>> On Nov 14, 2007 10:43 AM, sotski <[EMAIL PROTECTED]> wrote:
>>
>> Hey all!
>> I have a newbie question. I read the Answers to the "matching in two
>> multislots of two different templates" post.
>> I have very similiar problem but not the same ;-) I simplify the problem
>> for
>> you:
>> ;;Templates:
>> (deftemplate things
>>    (slot Id)
>>    (multislot elements))
>> (deftemplate otherthing
>>      (slot one_Element))
>>
>> now I want to write a rule which does the following:
>>
>> get all Ids of things
>> where AElement of elements equals one_Element
>>
>> I wrote a rule:
>>
>> (defrule find_it
>>    (things (Id ?pId)(elements $?elementName))
>>    (otherthing (one_Element ?foo))
>>    (test (eq ($?elementName ?foo))
>>  =>
>>    (printout t "found it:" ?pId crlf))
>>
>> But it doesen't fire.
>> I assert facts from java and they are of type RU.SYMBOL
>>
>> Thx for your help
>> Bye
>> Hans
>> --
>> View this message in context:
>> http://www.nabble.com/matching-problem-tf4805951.html#a13749159
>> Sent from the Jess mailing list archive at Nabble.com.
>>
>>  --------------------------------------------------------------------
>> 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]
>> --------------------------------------------------------------------
>>
>>
>>
>>
>>
> 
> 
> -- 
> -----------------------------------------------------------
> Jason Morris
> Morris Technical Solutions LLC
> http://www.morris-technical-solutions.com
> 
> 

-- 
View this message in context: 
http://www.nabble.com/matching-problem-tf4805951.html#a13767483
Sent from the Jess mailing list archive at Nabble.com.

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