大家好,又见面了,我是你们的朋友全栈君。
引言
语义网(Semantic Web)是一种数据的网络,让数据得以共享,而不仅仅是被应用程序束缚。
但语义网也不仅仅是把数据放在互联网上,而是试图将数据联系起来,并产生数据与现实事物的联系,以方便人与机器阅读与理解这些数据。
The Semantic Web isn’t just about putting data on the web. It is about making links, so that a person or machine can explore the web of data. ——Linked Data Design Issues . Tim Berners-Lee
关联数据(Linked Data)是第一种可行的语义网表达形式,它采用RDF数据模型,利用URI(统一资源标识符)命名数据实体,来发布和部署实例数据和类数据,从而可以通过HTTP协议揭示并获取这些数据,同时强调数据的相互关联、相互联系以及有益于人机理解的语境信息。
Linked data is a set of best practices for publishing and deploying instance and class data using the RDF data model, and uses uniform resource identifiers (URIs) to name the data objects. The approach exposes the data for access via the HTTP protocol, while emphasizing data interconnections, interrelationships and context useful to both humans and machine agents. ——Linked Data FAQ . M.K. Bergman
因为语义网是一项庞大的工程,并相伴着各种困难,使其成为一种长期目标与愿景,而关系数据是一类实践活动,其可行并实用,成为当前语义网实现的一种最佳可行方案。
RDF的特点
资源描述框架(Resource Description Framework),作为XML(Extensible Markup Language)的一种衍生版本,他是关联数据的基本数据模型。蒂姆·伯纳斯-李(Tim Berners-Lee)在设计它的时候面临了以下两个问题:
为了解决这两个问题,RDF有以下一些特点:
实际上,一些RDF版本并非使用XML语言,这里主要指的是初始版本。
一个简单的RDF例子
<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<rdf:Description rdf:about="http://www.w3.org/">
<dc:title>World Wide Web Consortium</dc:title>
</rdf:Description>
</rdf:RDF>
将该RDF例子通过W3C RDF验证服务,会出现以下列表:
Number | Subject | Predicate | Object |
---|---|---|---|
1 | http://www.w3.org/ | http://purl.org/dc/elements/1.1/title | “World Wide Web Consortium” |
这是啥东东?
三元组(Triple),RDF数据模型的基本表现单元。所谓三元组就是:主(Subject)-谓(Predicate)-宾(Object)。
A triple store is designed to store and retrieve identities that are constructed from triplex collections of strings (sequences of letters). These triplex collections represent a subject-predicate-object relationship that more or less corresponds to the definition put forth by the RDF standard. ——Triple Store . Jack Rusher
不同于关系数据,其数据本身没有庞大的联系(这在数据网络如此庞大的数据面前也是不可行的),而是使用类似人类陈述语句(Statement)的方式来存储数据,例如:
可见三元组形式也有强大的数据存储表达潜力,人类正是这种形式的长期受益者。当然像上面这么表述对人类友好,但对机器却不怎么友好,因为这种谓语对于宾语并没有良好的限定,至少机器不这么认为。所以我们应该写成这样的模式:
回到标题,这是什么东东?其表述了下列内容:
别人是如何获得RDF的?
下图说明了这个过程:
也就是说,对于一个HTTP URI可以返回两种表达形式:文档和数据。这样就建立了两种不同的网络,一个利于人类阅读的文档网,另一种是利于机器阅读的数据网。
参考资料
Linked Data Design Issues . Tim Berners-Lee . 2009/06/18
Linked Data FAQ . Structured Dynamic – M.K. Bergman . October 9, 2011
Triple Store . Jack Rusher . 2003/11/13
扩展阅读
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/154744.html原文链接:https://javaforall.cn