一旦定义了基本的知识表示语言(KRL),就可以考虑将逻辑形式语言映射为KRL。这两者之间的一个明显区别是量词的处理。逻辑形式包括一些与英语中的量词对应的量化成分,而KRL只允许全称量词和存在量词。乍一看,这两者之间的差异似乎是不可协调的,但是通过扩展KRL的本体以允许集合作为对象,可以明显减少两者之间的差异。
集合是一些对象的汇集,其中每一个对象可以看做一个单元。一般意义上的集合包括有限集合(如由John和Mary构成的集合)和无限集合(如由大于7的所有数字构成的集合),我们在知识表示语言只涉及有限集合。一个集合可以用大括号中的成员列表来表示。例如,{John1,Mary1}指由John1所指对象和Mary1所指对象构成的集合。集合中的元素是没有顺序的,即{John1,Mary1}={Mary1 John1}。我们也允许用常数来表示集合,这样,S1就表示由公式S1={John1,Mary1}定义的集合。完全集合理论还允许集合作为其他集合的元素。在知识表示语言中,我们将不用这样的集合。集合一般用一些属性来表示,形式如{ylPy},表示满足表达式Py的所有对象的集合。例如,男人的集合为{ylMan(y)}。另外,我们引入下面的谓词建立集合之间以及集合和个体之间的关系:
S1⊂S2当且仅当S1中所有的元素也在S2中
x∈S当且仅当x是S的一个元素
在知识表示语言中使用类似集合的对象,我们可以对句子“Some men met at three”生成下面的解释:
ヨM: M ⊂ {x I Man(x)) . Meet1(M,3PM)
即存在男人集合的一个子集M,他们三点钟见面。根据惯例,我们用大写字母表示集合中的所有变量。原则上,集合可以出现在任何一个个体允许出现的地方。不过实际上,一些特定的动词在特定参数位置上只与集合或只与个体搭配。例如,动词“meet”的施事者应该是至少包括两个元素的集合,单个对象的见面是没有意义的。另一些动词与个体搭配,而与集合不搭配;还有一些动词允许与集合和个体搭配。
让我们分析对应于集合的整体性解读和个体性解读的不同公式。句子“Some men bought a suit”有两个不同的解读,其逻辑表达式如下(不考虑时态运算符):
(SOME m1 : (PLUR MAN1)
(A s1 : SUIT1
(BUY1 m1 s1)))
整体性解读可以映射为:
ヨM1 : M1 ⊂ {z I Man(z)} ヨs: Suit(s) . Buy1 (M1, s)