Ernest Friedman-Hill
Fri, 13 Nov 2009 10:05:26 -0800
On Nov 13, 2009, at 12:20 PM, Michael Welter wrote:
Can't a list be passed to defquery? (deftemplate myfact (slot a) (slot b) (multislot c) ) (deffacts f1 (myfact (a 1)(b 1)(c (create$ p q c))) (myfact (a 1)(b 2)(c (create$ p q r))) (myfact (a 1)(b 3)(c (create$ p q z))) ) (defquery q1 (declare (variables ?pa ?pc)) ; $?pc throws an error (myfact (a ?pa) (b ?b) (c $?v&:(eq $?v $?pc)) ; won't work ;(c $?v&:(eq (nth$ 1 $?v) ?pc)) ; works ) ) (defrule r1 (initial-fact) => (try (bind ?result (run-query* q1 1 (create$ p q r))) catch (printout t "query failed" crlf) ) (while (?result next) do (printout t "b: " (?result getString b) crlf) ) ) Thanks --------------------------------------------------------------------To unsubscribe, send the words 'unsubscribe jess-users y...@address.com'in the BODY of a message to majord...@sandia.gov, NOT to the list(use your own address!) List problems? Notify owner-jess-us...@sandia.gov .--------------------------------------------------------------------
--------------------------------------------------------- Ernest Friedman-Hill Informatics & Decision Sciences Phone: (925) 294-2154 Sandia National Labs PO Box 969, MS 9012 ejfr...@sandia.gov Livermore, CA 94550 http://www.jessrules.com -------------------------------------------------------------------- To unsubscribe, send the words 'unsubscribe jess-users y...@address.com' in the BODY of a message to majord...@sandia.gov, NOT to the list (use your own address!) List problems? Notify owner-jess-us...@sandia.gov. --------------------------------------------------------------------