我刚开始学习 RDF,我的问题是:空白节点的目的是什么?
例子:
ex:John foaf:knows _:p1
_:p1 foaf:birthDate 04-21
Run Code Online (Sandbox Code Playgroud)
这意味着约翰认识一个出生于 04-21 的人。
但我无法理解目的。
想象一下,你认识一个有 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,您实际上是在表达不同的东西。