The tests require using a test construct ... (defrule locality-street (and (agreement (of-type "locality")(of-value ?ov)(with-type "street")(with-value ?wv)) (potential-element (type "locality")(value ?locality)) (potential-element (type "street")(value ?street)) (test (eq ?ov ?locality)) (test (eq ?wv ?street)) ) => (assert (locality-street-match (locality-value ?locality)(street-value ?street) ) ) )
You can also get rid of the (and ... ). Results with the changed code and using (watch all) and executing a (run) are: Jess> (batch "..//..//t1.clp") ==> Focus MAIN ==> f-0 (MAIN::initial-fact) MAIN::locality-street: +1+1+1+1+1+1+2+1+2+2+2+t ==> f-1 (MAIN::potential-element (type "locality") (value "south perth")) ==> f-2 (MAIN::potential-element (type "locality") (value "wembley")) ==> f-3 (MAIN::potential-element (type "locality") (value "bentley")) ==> f-4 (MAIN::potential-element (type "locality") (value "floreat")) ==> f-5 (MAIN::potential-element (type "locality") (value "osborne park")) ==> f-6 (MAIN::potential-element (type "street") (value "marlow")) ==> f-7 (MAIN::potential-element (type "street") (value "coode")) ==> f-8 (MAIN::potential-element (type "street") (value "jutland")) ==> f-9 (MAIN::potential-element (type "street") (value "grantham")) ==> f-10 (MAIN::potential-element (type "street") (value "giles")) ==> f-11 (MAIN::agreement (of-type "locality") (of-value "south perth") (with-type "street") (with-value "coode")) ==> Activation: MAIN::locality-street : f-11, f-1, f-7,, ==> f-12 (MAIN::agreement (of-type "locality") (of-value "wembley") (with-type "street") (with-value "marlow")) ==> Activation: MAIN::locality-street : f-12, f-2, f-6,, ==> f-13 (MAIN::agreement (of-type "locality") (of-value "dalkeith") (with-type "street") (with-value "jutland")) ==> f-14 (MAIN::agreement (of-type "locality") (of-value "wembley") (with-type "street") (with-value "grantham")) ==> Activation: MAIN::locality-street : f-14, f-2, f-9,, ==> f-15 (MAIN::agreement (of-type "locality") (of-value "floreat") (with-type "street") (with-value "marlow")) ==> Activation: MAIN::locality-street : f-15, f-4, f-6,, <Fact-15> Jess> (run) FIRE 1 MAIN::locality-street f-15, f-4, f-6,, ==> f-16 (MAIN::locality-street-match (locality-value "floreat") (street-value "marlow")) FIRE 2 MAIN::locality-street f-14, f-2, f-9,, ==> f-17 (MAIN::locality-street-match (locality-value "wembley") (street-value "grantham")) FIRE 3 MAIN::locality-street f-12, f-2, f-6,, ==> f-18 (MAIN::locality-street-match (locality-value "wembley") (street-value "marlow")) FIRE 4 MAIN::locality-street f-11, f-1, f-7,, ==> f-19 (MAIN::locality-street-match (locality-value "south perth") (street-value "coode")) <== Focus MAIN 4 Bob Orchard National Research Council Canada Conseil national de recherches Canada Institute for Information Technology Institut de technologie de l'information 1200 Montreal Road, Building M-50 M50, 1200 chemin Montréal Ottawa, ON, Canada K1A 0R6 Ottawa (Ontario) Canada K1A 0R6 (613) 993-8557 (613) 952-0215 Fax / télécopieur [EMAIL PROTECTED] Government of Canada | Gouvernement du Canada -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Matthew J Hutchinson Sent: Monday, July 30, 2007 2:48 PM To: jess-users@sandia.gov Subject: JESS: No rules firing Hi, I have tried loading the following code with the batch command, then (run)ing the whole lot, unfortunately my rule is not firing. I was expecting the rule to fire, and as a result there should be several new locality-street-match facts. The code includes: ----------------------------------------------- (reset) (watch activations) (deftemplate potential-element (slot type)(slot value) ) (deftemplate agreement (slot of-type)(slot of-value)(slot with-type)(slot with-value) ) (deftemplate locality-street-match (slot locality-value)(slot street-value) ) (defrule locality-street (and (agreement (of-type "locality")(of-value ?ov)(with-type "street")(with-value ?wv)) (potential-element (type "locality")(value ?locality)) (potential-element (type "street")(value ?street)) (eq ?ov ?locality) (eq ?wv ?street) ) => (assert (locality-street-match (locality-value ?locality)(street-value ?street) ) ) ) (assert (potential-element (type "locality")(value "south perth") ) ) (assert (potential-element (type "locality")(value "wembley") ) ) (assert (potential-element (type "locality")(value "bentley") ) ) (assert (potential-element (type "locality")(value "floreat") ) ) (assert (potential-element (type "locality")(value "osborne park") ) ) (assert (potential-element (type "street")(value "marlow") ) ) (assert (potential-element (type "street")(value "coode") ) ) (assert (potential-element (type "street")(value "jutland") ) ) (assert (potential-element (type "street")(value "grantham") ) ) (assert (potential-element (type "street")(value "giles") ) ) (assert (agreement (of-type "locality")(of-value "south perth")(with-type "street")(with-value "coode") ) ) (assert (agreement (of-type "locality")(of-value "wembley")(with-type "street")(with-value "marlow") ) ) (assert (agreement (of-type "locality")(of-value "dalkeith")(with-type "street")(with-value "jutland") ) ) (assert (agreement (of-type "locality")(of-value "wembley")(with-type "street")(with-value "grantham") ) ) (assert (agreement (of-type "locality")(of-value "floreat")(with-type "street")(with-value "marlow") ) ) ----------------------------------------------- then I (run) it. Any ideas? - thank you so much. Cheers, Matt -- Matthew Hutchinson Ph.D. Candidate Department of Spatial Sciences Curtin University of Technology GPO Box U1987 Perth, Western Australia 6845 Visiting Scholar Department of Geography and Planning University of Akron Akron, Ohio USA