在CLIPS中使用查找事实

时间:2017-04-02 04:10:17

标签: clips expert-system

我有一个事实

(is-started TRUE)

我想找出是否存在

的事实
(any-factp ((?is (is-started TRUE))) TRUE)

但是这给了我is-started的缺失函数声明。

如何判断any-factp是否存在这一事实?

1 个答案:

答案 0 :(得分:1)

可以使用名为隐含的隐式定义的多字段插槽访问隐含的deftemplate事实的字段:

CLIPS> (assert (is-started TRUE))
<Fact-1>
CLIPS> (any-factp ((?f is-started)) TRUE)
TRUE
CLIPS> (any-factp ((?f is-started)) (eq ?f:implied (create$ TRUE)))
TRUE
CLIPS> (any-factp ((?f is-started)) (eq ?f:implied (create$)))
FALSE
CLIPS>