Jess has the ability to call arbitrary functions as part of rule LHS
execution. Among the supplied functions are (or), (and), (not) (>),
and (<). You can create your own, too, very easily; for example,
(between) might look like
(deffunction between (?arg ?lower ?upper)
(return (and (> ?arg ?lower) (< ?arg ?upper))))
The first part of your LHS might look like
(defrule rule-1
?s<- (station (road up)
(state ?X&:(member$ ?X (create$ CALIFORNIA
COLORADO IDAHO ILLINOIS ...))))
I don't know what the 'retrieved' operator does, so I can't translate that.
I think [EMAIL PROTECTED] wrote:
>
>
>
> Hi,
>
> We are investigating JESS for the re-implementation of an existing expert
> system developed in KBMS. We need an opinion from people familiar with JESS
> on how easy or hard it is to represent rules like the following sample:
>
> IF (STATION1.ROAD = UP
> & (STATION1.STATE = CALIFORNIA
> OR STATION1.STATE = COLORADO
> OR STATION1.STATE = IDAHO
> OR STATION1.STATE = ILLINOIS
> OR STATION1.STATE = IOWA
> OR STATION1.STATE = KANSAS
> OR STATION1.STATE = MINNESOTA
> OR STATION1.STATE = MISSOURI
> OR STATION1.STATE = MONTANA
> OR STATION1.STATE = NEVADA
> OR STATION1.STATE = OREGON
> OR STATION1.STATE = TENNESSEE
> OR STATION1.STATE = UTAH
> OR STATION1.STATE = WASHINGTON
> OR STATION1.STATE = WISCONSIN
> OR STATION1.STATE = WYOMING
> OR STATION1.STATE = NEBRASKA
> OR ((RETRIEVED STATIONS INFO.STATE = ARKANSAS)
> OR (CORRIDOR = 'JH' & MILE POST BETWEEN 567 AND 650))
> OR (RETRIEVED STATIONS INFO.STATE = LOUISIANA
> & NOT (CORRIDOR = 'JH' & MILE POST BETWEEN 567 AND 650))
> OR (RETRIEVED STATIONS INFO.STATE = OKLAHOMA
> & NOT (CORRIDOR = 'SW' & MILE POST BETWEEN 421 AND 472))
> OR (RETRIEVED STATIONS INFO.STATE = TEXAS
> & NOT ((CORRIDOR = 'SW' & MILE POST BETWEEN 482 AND 556)
> OR RETRIEVED STATIONS INFO.CIRC7 = 'TP860')))
> & NOT ((CORRIDOR = 'MX' & MILE POST BETWEEN 499 AND 905)
> OR (CORRIDOR = 'PB' & MILE POST BETWEEN 20 AND 62)
> OR (CORRIDOR = 'M ' & MILE POST BETWEEN 10 AND 76))
> & STATION2.ROAD = BNSF
> & STATION2.STATE = COLORADO)
> THEN
> CALL BUILD ROUTE('ATSF116', 'UP', 'DENVER', 'CO', 'BNSF', '', '',
> '', '', '', '', '', '', '', '', '', '');
>
> Does JESS have the ability to handle complex AND, OR, NOT, and BETWEEN?
>
> Thanks,
>
> Morgan
>
>
> ---------------------------------------------------------------------
> To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]'
> in the BODY of a message to [EMAIL PROTECTED], NOT to the
> list. List problems? Notify [EMAIL PROTECTED]
> ---------------------------------------------------------------------
>
>
---------------------------------------------------------
Ernest Friedman-Hill
Distributed Systems Research Phone: (925) 294-2154
Sandia National Labs FAX: (925) 294-2234
Org. 8920, MS 9214 [EMAIL PROTECTED]
PO Box 969 http://herzberg.ca.sandia.gov
Livermore, CA 94550
---------------------------------------------------------------------
To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]'
in the BODY of a message to [EMAIL PROTECTED], NOT to the
list. List problems? Notify [EMAIL PROTECTED]
---------------------------------------------------------------------