Jess multislot问题

时间:2013-09-27 03:27:28

标签: jess

这是一项家庭作业,但我很难在网上找到好的jess信息。我正在尝试使用多时隙来解决问题,但我找不到任何关于如何匹配不同值的信息。我有这个:

(deftemplate patient (slot name)(multislot symptoms))

(deffacts init 
(patient (name john) (symptoms very-high-fever cough)))

我怎样才能将左手与高热相匹配?如果我知道非常高烧是第一个症状,这是有效的,但我不能确定,所以如果非常高烧是其中一种症状,我需要能够匹配。

(defrule high-fever
(patient (name ?n)(symptoms very-high-fever ?))
=>
(printout t ?n " has a high fever." crlf))

我已经尝试了各种场地约束的组合,但我似乎无法做到正确,网上任何事都没有给我任何线索。

感谢。

1 个答案:

答案 0 :(得分:0)

在要匹配的项目之前和之后使用空白多字段;他们匹配零个或多个项目。所以,像

(patient (name ?n) (symptoms $? very-high-fever $?))

将匹配任何位置的极高热症状的患者。