-1

我想知道是否可以编写一个 jess 函数或规则来findall在 Prolog 中运行。

例如,我们有一个类似的 KB

(person (name jason) (school nyu))
(person (name john) (school nyu))
(person (name liz) (school cmu))
...

输入是(school nyu),我们想收集所有喜欢的人的名字[jason,john]

任何意见将不胜感激!

4

1 回答 1

0

您可以使用累积 CE 编写这样的规则,也可以使用 defquery 将其编写为函数。但是,这两种方法都没有按照它真正打算使用的方式使用规则引擎。最好编写一个匹配一个这样的实体并对其进行操作的规则,然后让规则为每次匹配触发一次。

于 2016-12-02T15:40:54.970 回答