RDF容器和集合之间的区别?

时间:2013-07-11 08:38:52

标签: containers rdf semantic-web

我从一本书中读到了

  

容器和集合之间的区别在于容器始终是开放的(即,可以通过其他RDF语句添加新成员),并且可以关闭集合。

我不明白这个区别。它说没有新成员可以添加到集合中。如果我将上一个rdf:rest属性的值从rdf:nil更改为_:xyz并添加

,该怎么办?
_:xyz rdf:first <ex:aaa> .
_:xyz rdf:rest rdf:nil .

因此我可以添加新成员_:xyz。那么为什么说集合已经关闭呢?

1 个答案:

答案 0 :(得分:14)

关键区别在于,在Container中,只需断言新的RDF三元组,就可以继续添加新项目。在集合中,您首先必须删除语句,然后才能添加新项目。

这对于RDF推理尤其重要。这很重要,因为RDF推理采用了开放世界假设(OWA),简单地说,只是因为某个事实未知,这并不意味着我们可以认为这个事实是不真实的。

如果你将这个原则应用到容器中,并且你问“容器有多少项”,那么答案必须始终是“我不知道”,因为没有办法确定有多少 unknown 项可能在容器中。但是,如果我们有一个集合,我们会为最后一个项目提供一个明确的标记,因此我们可以肯定地说明该集合包含多少项目 - 可能没有未知的其他项目。