CLIPS发现事实不起作用

时间:2013-03-30 12:32:19

标签: clips

我在CLIPS(6.3)中有以下deftemplates:

(deftemplate A ( slot a ) (slot b) )
(deftemplate forSearch (slot property)(slot value))

我需要从输入中读取(property, value)对,然后找到A位中property的值为value的事实(defrule r2 (forSearch (property ?c)(value ?d)) (A (?c ?d)) => (printout t "debug" crlf) )

如果我这样做:

[PRNTUTIL2] Syntax Error:  Check appropriate syntax for deftemplate patterns.

ERROR:
(defrule MAIN::r2
   (forSearch (property ?c) (value ?d))
   (A (?c

我收到以下错误:

{{1}}

我现在该怎么办?

1 个答案:

答案 0 :(得分:0)

您必须在规则的模式匹配部分写入插槽名称。

正确的sintax是:

(defrule r2
     (forSearch (property ?c)(value ?d))
     (A (a ?c) (b ?d))
     =>
     (printout t "debug" crlf)
)

我不明白你想要完成什么,我知道它已经很晚了,但希望它有所帮助。