关于RDF的一些思考

这一部分就不准备用英语了,因为在这段时间的学习和查找过程中,发现关于RDF(Resource Description Framework)的中文资料较少,并且质量也不是特别高。希望我的思考能给这相关方面的初学者带来帮助。由于自己也是初学,水平有限,欢迎交流。


这里有最基本的语法常识,也有很多详细介绍,后面我会从中提炼出一些重要的来。
W3C教程之RDF

W3C给它的定义

RDF 是一个框架,用来描述网络资源,诸如网页的标题、作者、修改日期、内容以及版权信息等。

在我看来,简单的说,RDF数据库就是关系型数据库的最大竞争对手。
共同点:他们都是为了存储数据而活
不同点:RDF,相较于关系型,它是另一种建立和表示数据关系的一种方式。


众所周知,关系型数据库是用 来维系数据的整体性。如一个成绩单,一份财务报表。通过key来提取所需要的数据。

然而,RDF则是通过URI(Uniform Resource Identifier)来联系所有的数据元组,元组就是数据的基本单位。通过 URI 来提取数据,当然还可以添加一些宾语或者主语来限定(取决于我们要提取的东西)。

Web上可用的每种资源 - HTML文档、图像、视频片段、程序等 - 由一个通用资源标志符(Uniform Resource Identifier, 简称"URI")进行定位---搜狗百科

RDF主要有5种表示方式;

1.RDF/XML
例如要表示一列数据:Empire Burlesque(title) Bob Dylan(artist) USA(country) Columbia(company) 10.90(price) 1985(year)---取自W3C

rdf:about="http://www.recshop.fake/cd/Empire Burlesque">
Bob Dylan
USA
Columbia
10.90
1985

主体:rdf:about="http://www.recshop.fake/cd/Empire Burlesque
谓体:artist,country。。。(一般是URI形式)
宾语:USA,Columbia。。。
之前提到的元组就是由这三部分组成。
通常,主体和谓体是资源形式(URI),宾语可以是资源,也可以如上面所示,为属性值。

关于RDF的一些思考_第1张图片
Data structure

2.三元组(Turtle)
例如要表示之前的信息:
“Bob Dylan”
这种形式更加容易理解,也是很多时候我们提取数据时的理想格式,适用于Sparql查询。

3.N-3元组(N-Triples)
N-Triples 的定义

格式举例 取自wiki

  .
   "N-Triples"@en-US .
   _:art .
   _:dave .
 _:art   .
 _:art  "Art Barstow".
 _:dave   .
 _:dave  "Dave Beckett".

对它确实没有太多研究。

4.N-Quads
定义
简单的说,是上一个类型的子集,主要用于RDF图的表达

5.JSON-LD
定义
基于json的一种格式

优点

1.XML是用来传输数据的语言,用JavaScript就可以将其添加进HTML。所以利用XML可以很好地将RDF和web端连接在一起。
2.RDF利用URI来链接数据,它的所有资源形式的主体和谓体都可以作为一个新的主体或者是谓体。并且,视频,图片程序等资源都可以被检索到。对于一个query,RDF数据库将能提供所有的相关数据而不受表单的限制。

实例

在澳大利亚昆士兰大学的一群教授,开发了一个RDF数据库,叫做Ontology-driven Data repository,针对表型组学的研究(phenomics)。全称叫做PODD。
因为科学家对data分析需求的特殊性,他们对数据的提取不能受限于表单的数量,所以一个全新的数据库就这样诞生了。(本体论简介)

你可能感兴趣的:(关于RDF的一些思考)