Hi Dr Hill,

Thank you very much for your reply. I should have done more research before
doing this project, looks like I'm in big trouble now... 

Could you please help me to suggest a suitable method to get these facts out
of Jess? My Java program passes a "user" fact with health information to
Jess for processing. Afterwhich "recommended exercises" facts will be
created. I need to find a way for Java to pull up these facts and display
them in a table format in Java GUI.

Thank you so very much again
Rick

Below is a sample of the real facts created in the Jess working memory after
processing 
1 match-cardio-machine fact
2 program-toning facts
9 match-muscle-machine facts

***************************************************************************************

(match-cardio-machine 
        (purpose cardio) 
        (station C1 C2 C8 C9))

(program-toning 
        (ident condition)
        (dura 3)        (rm 25) (rep 10-15)     (set 1) (rest 0.5)      
(explanation "This is the
conditioning stage"))

(program-toning 
        (ident improve)
        (dura 6)        (rm 30) (rep 15-20)     (set 2-3)       (rest 0.5-1)    
(explanation "This is
the improving stage"))

(match-muscle-machine   (body-part arms-upperfront)     (station A2 A5 A7))
(match-muscle-machine   (body-part arms-upperback)      (station A2 A9 A10))
(match-muscle-machine (body-part shoulders)             (station A4 W3 C6))
(match-muscle-machine   (body-part chest)               (station O1))   
(match-muscle-machine   (body-part abs)                 (station O5 O3))
(match-muscle-machine   (body-part back)                (station L3 L5))
(match-muscle-machine   (body-part butt)                (station A2 L0 L9))
(match-muscle-machine   (body-part legs-upperfront)     (station X10 T10))
(match-muscle-machine   (body-part legs-upperback)      (station D2))

****************************************************************************************
Below is their template

(deftemplate match-cardio-machine
        (slot purpose)
        (multislot station)     );;close

(deftemplate program-toning
        (slot ident)
        (slot dura)
        (slot rm)
        (slot rep)
        (slot set)
        (slot rest)
        (slot explanation)      );;close

(deftemplate match-muscle-machine
        (slot body-part)
        (multislot station)     );;close

**********************************************************************************



Ernest Friedman-Hill wrote:
> 
> No, you can't. This was asked on this very list just a few weeks ago;  
> see here for the explanation:
> 
> http://www.mail-archive.com/[email protected]/msg09159.html
> 
> On Mar 20, 2007, at 11:52 PM, ricktee wrote:
> 
>>
>> Hi Dr Hill,
>> I just read your eg on queries at
>> http://herzberg.ca.sandia.gov/jess/docs/61/language.html#queries
>>
>> Im wonder if it's possible to search query via the fact's name  
>> instead of
>> its slots and multislots
>>
>>
>> *****This is my "program-cardio" and "user" fact template
>> (deftemplate program-cardio
>> (slot ident)
>> (slot stageA-intesity%)
>> (slot stageA-duration-wks)
>>      (slot stageB-intesity%)
>>      (slot stageB-duration-wks)      );;close
>>
>> (deftemplate user
>> (slot answer)        );;close
>>
>>
>> ****this is my rule that asserts "program-cardion" fact if the user  
>> answer
>> is "poor"
>> (defrule recommend-program-poor
>> (user (answer poor))
>> => (assert (program-cardio   (ident cardio-low)      
>>                              (stageA-intesity% 30)   (stageA-duration-wks 3)
>>                              (stageB-intesity% 50)   (stageB-duration-wks 
>> 5)))
>> (printout t " Jess: recommends low-cardio running schedule " )       );close
>>
>>
>> ****** This is my query search taken from
>> http://herzberg.ca.sandia.gov/jess/docs/61/language.html#queries
>> (defquery search
>> (declare (variables  ?tofind ))
>> (program-cardio (ident ?tofind)
>>      (stageA-intesity% ?a-int)       (stageA-duration-wks ?a-wks)
>>      (stageB-intesity% ?b-int)       (stageB-duration-wks ?b-wks)))
>>
>>
>> I try to replace  "program-cardio" with ?tofind but I will get an  
>> error. Is
>> there a way for me to query facts via its own name? like
>>
>> (defquery search
>> (declare (variables  ?tofind ))
>> ( ?tofind (ident ?id)
>>      (stageA-intesity% ?a-int)       (stageA-duration-wks ?a-wks)
>>      (stageB-intesity% ?b-int)       (stageB-duration-wks ?b-wks)))
>>
>> below is the java code to run it, I need to replace "cardio-low"  with
>> "program-cardio"
>>
>> //...
>>              engine.store("RESULT", engine.runQuery("search",
>>                         new ValueVector().add(new Value("cardio-low" ,
>> RU.ATOM))));
>>
>>              engine.executeCommand("(store RESULT (run-query search
>> cardio-low))");
>>              
>>              // Fetch the result (an Iterator).
>>              Iterator e = (Iterator)
>> engine.fetch("RESULT").externalAddressValue(null);
>> //...
>>
>> Thank you very much
>> rick
>>
> 
> ---------------------------------------------------------
> Ernest Friedman-Hill
> Advanced Software Research          Phone: (925) 294-2154
> Sandia National Labs                FAX:   (925) 294-2234
> PO Box 969, MS 9012                 [EMAIL PROTECTED]
> Livermore, CA 94550                 http://www.jessrules.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]
> --------------------------------------------------------------------
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Retrieve-Fact-from-Java-tf3432213.html#a9596326
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