我想知道是否可以编写jess函数或规则以在prolog中表现 findall
。
例如,我们有一个KB,例如
(person (name jason) (school nyu))
(person (name john) (school nyu))
(person (name liz) (school cmu))
...
输入是(school nyu)
,我们要收集所有人的名称像[jason,john]
任何评论都将不胜感激!
您可以使用累加的CE编写这样的规则,也可以使用fefquery编写作为函数。不过,这两种方法都以规则引擎的方式真正打算使用规则引擎。最好编写与一个这样的实体匹配并在其上行动的规则,然后让每场比赛的规则发射一次。