我刚开始学习 RDF,我的问题是:空白节点的目的是什么?
例子:
ex:John foaf:knows _:p1
_:p1 foaf:birthDate 04-21
这意味着约翰认识一个出生于 04-21 的人。
但我无法理解其目的。
我刚开始学习 RDF,我的问题是:空白节点的目的是什么?
例子:
ex:John foaf:knows _:p1
_:p1 foaf:birthDate 04-21
这意味着约翰认识一个出生于 04-21 的人。
但我无法理解其目的。
想象一下,您认识一个有 3 个孩子的人(让我们称他为 Derek)。你见过其中一个孩子,他是个男孩。你可以说:
ex:derek ex:hasChild _:b1 .
_:b1 a ex:Boy .
这意味着德里克有一个男孩。你可以告诉你的朋友 Khadim。现在你的朋友遇到了 Derek 和他的一个孩子。孩子是个男孩。所以卡迪姆可以说:
ex:derek ex:hasChild _:b2 .
_:b2 a ex:Boy .
这意味着德里克有一个男孩。它确认并等同于您的陈述。但是,如果你给你见过的男孩一个标识符,它会是:
ex:derek ex:hasChild ex:theBoyIHaveSeen .
ex:theBoyIHaveSeen a ex:Boy .
那么你的朋友 Khadim 会说:
ex:derek ex:hasChild ex:theBoyYourFriendHasSeen .
ex:theBoyYourFriendHasSeen a ex:Boy .
这并不能证实你在说什么,因为你不知道你见过的男孩是不是同一个。然而你会同意德里克有一个男孩的事实。因此,使用 URI,您实际上是在表达不同的东西。
对于您的简单示例,空白节点的原因是您对 04-21 出生的这个人一无所知,除了约翰认识他或她。您没有足够的知识给他/她一个正确的 URI 并简单地添加两个已知语句。
空白节点是没有 URI 作为其标识符的节点。一个简单的问题来了,为什么我们不给/使用那个节点的 URI,简单的原因是节点详细信息 (URI) 对我们的文档/rdf 没有太大的链接/重要性。如果特定节点详细信息直接或间接链接到我们的内容,那么我们应该为其提供/使用 URI。