RDF链接和普通链接的区别

4
Linked Data使用RDF链接的意义是什么?与Web页面中的普通链接相比有何不同?在RDF的情况下,一个RDF可以链接到位于不同位置的不同资源,并且可以使用解除引用URI检索该RDF等。这与Web页面爬虫所做的事情完全相似。那么,在语义Web的链接数据概念中有什么新东西呢?我的意思是它只是为RDF做了这件事。
3个回答

3

“链接”在“链接数据”中与“HTML超链接”中的“链接”相似,但在RDF中有两种不同的链接。

首先,您有谓词链接,这是RobV所讲的。想象一下Stack Overflow中的用户页面。该页面与每个用户的个人资料页面之间都有链接:

so:users --> sousers:rajan-sthapit

同样地,你在提问时与你的个人资料之间存在一个链接:
soq:difference-rdf-links-and-normal-links  --> sousers:rajan-sthapit

你可以理解这些链接的含义,因为你懂英文并且页面的文本足够清晰,但自动化工具无法区分这两个链接之间的任何差异。使用RDF,你可以有谓词链接来区分这两种情况:
stackoverflow.com  vocab:member  sousers:rajan-sthapit .
soq:difference-rdf-links-and-normal-links  vocab:askedBy  sousers:rajan-sthapit .

在这里,我甚至可以将Stack Overflow本身与其成员连接起来。我不需要将列表链接到成员,因为Users页面只是一种人为的组织信息的方式。谓词链接还可以将实体与原子值(如整数或日期)相关联(“普通链接”无法做到这一点)。

其次,您有URI链接。正如William Greenly所说,这与早期Web中的URI并没有什么不同,事实上它们被爬虫用于获取带有三元组的文档、索引它们、查找更多的URI、解引用它们、获取更多的三元组、索引它们等等。但是,由于谓词链接的存在,情况并不仅如此。正如RobV提到的那样,基于使用的谓词,爬虫或其他工具可以决定是否查找URI。此外,由于谓词也是URI,RDF应用程序可以查找这些URI并找到有用的信息。例如,查找vocab:member,我可以找到:

vocab:member  rdfs:range  foaf:Person .

根据之前的例子,我推断出:

sousers:rajan-sthapit  rdf:type  foaf:Person .

然后我可以查找URI foaf:Person 并找到:

foaf:Person  rdfs:subClassOf  foaf:Agent .

并再次推断:

sousers:rajan-sthapit  rdf:type  foaf:Agent .

1
RDF链接和普通链接的主要区别在于,RDF链接是强类型的。虽然标准的HTML确实提供了一些机制来为链接分配有限数量的类型(例如<link rel="stylesheet" href="style.css" />),但这些类型都是预定义的,意义狭窄。
RDF允许您使用任何想要的类型来表示链接,其中链接的类型本身可以由某个词汇表定义。这更加强大,因为它允许您表达仅在单独的HTML中无法实现的链接类型。
在爬虫方面,这使您能够编写更为智能的爬虫,只跟踪您真正关心的链接类型。

1

语义Web URI和当前Web URI之间没有区别,除了在网页中使用的URI通常受到HTML标准定义的词汇表的限制。话虽如此,RDFa和其他诸如微数据之类的东西允许您扩展那些术语的词汇表。

如果您更关心将Web与语义Web进行比较,则不同之处在于语义Web更多地涉及在数据库中找到的数据。碰巧RDF是表示该数据的方式(您不会使用HTML来表示它,而是用于以人类可读的格式呈现它)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接