0

rdf 三元组“Picasso's first name is Pablo” as http://example.org/Picasso foaf:firstName "Pablo" 为什么需要 foaf,在 :firstName 前面?。似乎很清楚 :firstName 指的是 Pablo。":firstName" 可以理解为指代别的东西吗?如果 foaf 或“http://xmlns.com/foaf/0.1/”丢失,它会产生错误吗?

4

2 回答 2

1

foaf(friend of a friend) 只是在包含谓词firstName/的 rdf 三元组中引用的标准方式,lastName并且http://xmlns.com/foaf/0.1/是它的 URI。但是,您可以选择任何有意义的 URI 来表示firstName. 但是,请注意,当您的数据在其他应用程序之间共享时,您应该使用其他应用程序可以理解和识别的通用内容。所以foaf会是正确的选择。

于 2021-08-20T15:28:56.230 回答
1

RDF 就是试图清楚地描述资源。

如果您仅使用firstName(不带前缀)-作为一个人,我可以猜到您的意思,但作为计算机则不清楚(也许您的意思是在确定最终项目名称之前给项目的名字?)。

在 RDF 中,我们希望每种用法都有不同的 URI,因此很清楚正在使用哪种类型的名字,例如http://xmlns.com/foaf/0.1/firstNamevs. http://example.com/project/firstName

所以这个扩展的三元组和你的完全一样:http://example.org/Picasso http://xmlns.com/foaf/0.1/firstName "Pablo"

URI 很长,因此人们更容易为每个 URI 使用昵称——这就是可读前缀的来源。您需要指定哪个昵称映射到哪个基本 URI。

从技术上讲,您可以决定指定其他类似的foobar意思http://xmlns.com/foaf/0.1/(例如foobar:firstName),但 FOAF 广为人知,因此大多数人使用foaf:firstName.

在您的示例中,您在屏幕上显示的是foaf:firstName,但是向您显示它的系统将在某个地方定义foaf:实际代表的内容,即http://xmlns.com/foaf/0.1/

于 2021-09-08T12:23:21.400 回答