7

我读过一本书

容器和集合之间的区别在于容器始终是打开的(即,可以通过额外的 RDF 语句添加新成员)而集合可能是关闭的。

我不太清楚这种区别。它表示不能将新成员添加到集合中。如果我将最后一个rdf:rest属性的值从rdf:nilto 更改_:xyz并添加

_:xyz rdf:first <ex:aaa> .
_:xyz rdf:rest rdf:nil .

因此,我能够添加一个新成员_:xyz。为什么它会说收藏已关闭?

4

1 回答 1

16

关键区别在于,在 Container 中,您可以通过仅断言新的 RDF 三元组来简单地继续添加新项目。在集合中,您首先必须删除一个语句,然后才能添加新项目。

这是一个重要的区别,特别是对于 RDF 推理。这很重要,因为 RDF 推理采用了开放世界假设 (OWA),简而言之,它指出,仅仅因为某个事实不为人所知,这并不意味着我们可以假设该事实是不真实的。

如果你把这个原则应用到一个容器上,并且你问“容器有多少物品”这个问题,答案肯定是“我不知道”,因为没有办法确定有多少未知物品可能在容器中。但是,如果我们有一个集合,我们有一个显式标记最后一个项目,所以我们可以肯定地说这个集合包含多少项目 - 不可能有未知的附加项目。

于 2013-07-11T09:21:59.343 回答