RDF 中的空白节点

ria*_*iad 3 rdf blank-nodes

我刚开始学习 RDF,我的问题是:空白节点的目的是什么?

例子:

ex:John   foaf:knows       _:p1
_:p1      foaf:birthDate   04-21
Run Code Online (Sandbox Code Playgroud)

这意味着约翰认识一个出生于 04-21 的人。

但我无法理解目的。

Rha*_*and 5

对于您的简单示例,空白节点的原因是您对这个出生于 04-21 的人一无所知,除了约翰认识他或她。您没有足够的知识来给他/她一个正确的 URI 并简单地添加两个已知的语句。


Ant*_*ann 5

想象一下,你认识一个有 3 个孩子的人(让我们称他为德里克)。你见过其中一个孩子,他是个男孩。你可以说:

ex:derek  ex:hasChild  _:b1 .
_:b1  a  ex:Boy .
Run Code Online (Sandbox Code Playgroud)

这意味着德里克有一个男孩。你可以告诉你的朋友卡迪姆。现在你的朋友遇到了德里克和他的一个孩子。孩子是个男孩。所以卡迪姆可以说:

ex:derek  ex:hasChild  _:b2 .
_:b2  a  ex:Boy .
Run Code Online (Sandbox Code Playgroud)

这意味着德里克有一个男孩。它确认并等同于您的陈述。然而,如果你给你见过的男孩一个标识符,它会是:

ex:derek  ex:hasChild   ex:theBoyIHaveSeen .
ex:theBoyIHaveSeen  a  ex:Boy .
Run Code Online (Sandbox Code Playgroud)

那么你的朋友 Khadim 会说:

ex:derek   ex:hasChild   ex:theBoyYourFriendHasSeen .
ex:theBoyYourFriendHasSeen  a  ex:Boy .
Run Code Online (Sandbox Code Playgroud)

这并不能证实你所说的,因为你不知道你看到的男孩是否是同一个。然而,你会同意德里克有一个男孩的事实。因此,使用 URI,您实际上是在表达不同的东西。