Jess 中的事实表示
1. 工作内存与事实类型概述
当调用 reset
时, deffacts
中的事实会被断言。这是首次在工作内存中设置产品目录,以及在工作内存被清除后恢复它的便捷方式。
Jess 的工作内存存储在一个具有多个索引的复杂数据结构中,因此搜索工作内存是一个非常快速的操作。工作内存类似于关系数据库,而单个事实就像数据库表中的行。Jess 提供了三种不同类型的事实,每种类型都有其独特的结构,并且以不同的方式进行索引和使用:
- 无序事实(Unordered facts) :是工作内存的主力。它类似于关系数据库表中的一行,每个命名的数据字段对应于表的列。例如:
(person (name "John Q. Public") (age 34) (height 5 10) (weight 170))
在断言无序事实时,可以按任意顺序指定槽位,并且不需要包含每个槽位。
- 有序事实(Ordered facts) :缺乏命名字段的结构,只是一个简短的扁平列表。适用于不需要结构的简单信息。例如,用有序事实表示相同的“person”数据:
(person "John Q. Public" 34 5 10 170)
- 影子事实(Shadow facts)