APP下载

基于四原则的关联数据发布方法研究

2013-08-31江闪闪郑州大学信息管理系郑州450001

图书馆理论与实践 2013年5期
关键词:三元组结构化关联

●金 燕,江闪闪(郑州大学 信息管理系,郑州 450001)

1 关联数据的概念

关联数据这一概念是由“互联网之父”Tim Berners-Lee在2006年首次提出的。在分析web发展和演化过程的基础上,Tim Berners-Lee提出了当前web环境下急需发展数据web的思想,数据web的核心和关键就是关联数据。下表展现了数据web与传统web的不同。

表 传统Web与数据Web的比较

关于关联数据的概念,维基百科给出的定义是:关联数据是语义网的主题之一,描述了通过可链接的URI方式来发布、分享、连接Web中各类资源的方法。[1]

关联数据通过web将一切web上没有关联的相关数据连接起来,并且可以直接访问数据,是一种简单的语义网实现技术,已经成为推动语义网发展的重要力量之一,在提出之后得到了社会的广泛关注和认可。其意义体现在:① 采用访问web信息资源的URI和RDF统一标准,将现实世界全面映射到网络世界,为不同数据资源的整合和集成提供了稳定可靠的机制,揭示了web资源整合的本质。② 一种Web上的富链接机制将超文本链接转变为超数据链接,为web提供开放数据的存取和链接机制。③ 通过数据万维网的超链接和语义标注可以发现更多与之相关的数据。

2 关联数据的四原则

2.1 关联数据的四个基本原则

关联数据的四原则是Tim Berners-Lee在《关联数据的设计问题》中针对关联数据的构建和实现提出的,这四个原则是:[2]

(1)使用URI作为任何对象的标识名称,即用户可以将web上的任何资源用URI进行标识;

(2)使用HTTPURI使人们可以找到对象的标识名称,即用户在万维网上可以通过HTTP协议连接URI从而找到标识的对象;

(3)访问HTTPURI中的某个标识名称时,可以根据访问标识的URI发现有意义的信息(采用RDF,SPARQL标准),即用户可以通过访问HTTPURI找到有价值的信息,提高信息的利用率;

(4)提供相关的URI链接,以便查询者可以发现更多的对象,即用户通过互联可以发现更多的信息。

这四个基本原则中,最重要的是利用RDF数据模型建立结构化数据并发布到网络上,再链接到不同数据库以便建立关联。RDF对资源的表达是通过一系列的三元组来实现。每个三元组由主语、谓语和对象三个部分组成,主语是URI所标识的资源,对象可以是一个字符串,如字母、日期格式的字符值、数字等,也可以是一个一定程度上与主语有关的其他资源的URI,即RDF链接(RDFLink);谓语表明了主语和对象之间的关系,也可以是URI,比如来自某一词表或URI集合。[3]关联数据的三元组都应该尽可能以URI来表达,以RDF来编码。由此可以通过RDF数据模型把web上存在的大量非结构化数据和采用不同标准的结构化数据转换成遵循统一标准的结构化数据。

2.2 关联数据四原则的现实意义

关联数据的基本概念和四个基本原则揭示了关联数据的核心理念,可以简单高效地实现关联数据的发布。

(1)没有数据类型的限制,在web上发布关联数据只需将发布数据转化为统一结构化的RDF三元组,包括统一命名,统一内容描述机制即可。

(2)利用RDF链接同一数据资源内的各数据项和不同数据资源,建立内容关联机制,包括关联解析、检索和调用机制,发现更多数据对象。

(3)依据关联数据四原则发布关联数据,可以构建一个发布数据的标准,网络中的任何对象通过这个数据标准构建,然后将数据关联起来,通过URI发布在万维网上,既可通过传统的信息发现方式发现相关关联数据,也可根据关联数据中的URI来发现新的关联数据。这可以减少互联网上的冗余数据,使数据得到最大化的使用,从而使互联网信息服务的效率更高。

3 基于四原则的关联数据发布方法

3.1 基于四原则的关联数据发布过程

依据四原则发布关联数据,最主要的是将信息资源用资源描述框架RDF表示出来。RDF一方面提供了一个极其简单的数据模型,另一方面数据量的大小、数据的更新频率和存储方式很适合Web的结构。[4]

3.1.1 用URI对web上所要发布的数据进行标识

(1)用RDF 描述待发布的数据,并将各个实体对象间的关系用RDF 图的形式表示出来。描述要发布的数据时先要统一词汇。这些词汇通常可以从Web 中一些公认的词汇集中选择,如朋友的朋友(FOAF),都柏林核心词汇集(DC); RDFs 核心词汇集(RDFSchema);简单知识组织系统(SKOS);在线语义关联社区(SIOC);项目描述(DOAP);描述艺术家、影集和轨迹的词汇的音乐本体;表示复审的词汇表;描述授权条款的词汇创作共用(CC)[5] 等。根据RDF 图建立RDF 数据模型时,RDF 图要反映出三元组之间的联系

(2)将RDF 图转换成数据页这个环节可以借助D2RQ 平台技术实现,该平台由映射语言、D2R 引擎和D2R 服务器组成。[6]先通过D2RQ 映射语言,支持关系型数据库到RDF 数据转换规则的编写,通过该语言,用户可以定义如何将关系型数据库中的表、列、行、列值、外键值映射成RDF 数据中的类、属性、资源、文本、RDF 链接。然后通过D2R 引擎将用户输入的SPARQL 转换成SQL,提交给关系型数据库管理系统,并将SQL 查询结果封装成RDF 三元组最后,D2R 服务器在D2R 引擎之上提供Web 界面,使浏览器端的用户可以查看数据页。在转换数据项时,要考虑访问数据的时间、数据更新的难易和用户的需求等。一般来说,RDF 文件过大会影响到用户打开时的数据缓存速度。当要发布的文件较大或者描述的是多个数据时,应当将其拆分成几个RDF 文件,以块的形式发布。既可以将整个RDF 图作为一个数据页发布,也可以将每个实体描述项作为一个数据页,还可以把若干实体的描述项作为一个数据页。

(3)用URI 进行标识,为每个数据页指定URI。数据页映射后的RDF 是用XML 表达的三元组。RDF模型中数据是以URI 引用来命名的,上传到web 后,可以为每个数据项指定URI。URI 是web 上访问数据的标识,任何事物都可以有一个唯一的URI 引用。一方面,选取的URI 必须有着规范的名字,其他发布者就可以很信任的在自己的数据库中链接相关资源,另一方面,必须把技术基础设施做到位。选择URI 时需要尽可能的使用HTTP URI 来标识对象,可以受限于技术环境。通常使用三个URI 即一个资源标识符、一个适合HTML 浏览器的信息资源标识符(用一个网页表示)、一个适合RDF 浏览器的信息资源标识符(用RDF 或XML 来表示) 来标记非结构化信息资源。

3.1.2 为每个数据页指定URI 后需要将数据页在web 上表示出来,这个环节需使用HTTP 机制,其中,对于HTML 浏览器来说通常是将RDF 表示的形式作为RDF原代码,或者是将其作为RDF 文件下载下来而不直接显示出来。另外,上传的数据页除了要有RDF 表示形式外,还应有一个合适的HTML 表示形式,有助于理解URI 所指的是什么。

3.1.3 根据HTTPURI中的某个标识名称发现可以链接的数据

RDF 数据模型的主体是RDF 三元组。通过访问HTTP URI,可以发现三元组中主语、谓语和对象的标识名称。无论要描述的对象是结构化数据还是非结构化数据,都可以在RDF 描述的URI 中添加元数据。如为了让用户合法地使用数据,每一个RDF 文件都应包含一个许可其内容可以使用的证书,可以添加诸如dc: date、dc: publisher、dc: license、foaf: topic 等元数据描述数据项。这样,就可以根据HTTP URI 中的某个标识名称发现新的数据。

3.1.4 提供相关的URI链接,以便用户发现更多的数据对象

提供相关的URI 链接是通过添加RDF 链接实现的。数据web 和传统web 有一点不同就是传统的web链接对象是html 文档,数据web 所关联的是数据。RDF 链接能使不同数据发生关联,随RDF 链接浏览整个数据web。在关联数据客户端RDF 的浏览器界面中,用户可以通过RDF 链接,使查询的数据项链接到其他RDF 链接。例如,所要查找的是个人信息数据,通过一个查询界面可以链接到web 上所有有关个人信息的数据,从而可以发现更多潜在的数据对象。

3.2 基于四原则的关联数据发布实例——Facebook的关联数据发布

3.2.1 Facebook简介

Facebook 是美国的一个大学生社交网站,由哈佛大学的Mark Zuckerberg 等学生创建,是当下互联网上最大和增长速度最快的社交网络平台。目前,Facebook在所有以服务于大学生为主要业务的网站中,拥有最多的用户,也是美国排名第一的照片分享站点,其产生的数据量非常巨大。Facebook 在2011 年10 月12 日提出了支持RDF 和关联数据的URIs ,并且将关联数据的API 引入自己的数据库[7]

3.2.2 基于四原则的Facebook关联数据发布

图1 是Facebook 的关联数据架构。在这个架构中可以发现关联数据的核心作用,它处于内部数据库处理机制和外部应用平台之间,当结构化数据经Facebook数据库抽取并转化成RDF 文件之后,先存储于Memcache 存储器中,Facebook 访问者访问Facebook 应用平台时,可以看到提供一个关联数据界面的SPARQL端点,通过此端点查询Facebook 的数据,而在Facebook Web 中关联数据是通过html 浏览器呈现出来的,这个架构明确了Facebook 发布关联数据的过程,是基于关联数据四原则的。

图1 Facebook的关联数据架构

在此针对Facebook的Friends用户界面详细介绍关联数据的发布方法。

(1)从“Friends”这一应用内容中的“FriendsList”页面选取第一部分数据进行发布。“FriendsList”中主要自定义了“姓名”、“网址”、“状态”等字段,对这些字段用URI 进行标识,可以从FOAF中选择术语先进行RDF 描述。图2 是“Friends List”的RDF 表示图。然后将其转换为数据页,转换时要定义“Friends List”的内容模型与FOAF 本体之间的RDF 映射,由于命名空间的前缀默认为“site”,由此,RDF 数据中术语的命名空间为site:http://siteurl/ns#,可以自动获得一个http URI,一般地址默认为http://siteurl/node/nodeno/rdf。在用户浏览器端就可以看到在“Friends List”里有name,networks,status 三个节点,表示出来就是:http://facebook.com/hadoop/name/rdf; http://facebook.com/hadoop/networks/rdf; http://facebook.com/hadoop/status/rdf。

图2 “Friends List”的 RDF表示图

(2)通过HTTP 协议连接“Friends”中字段的URI。用http 协议将“Friends List”的数据页用HTML形式表现出来,HTML 形式的地址默认为:http://siteurl/Friends #。当一个节点创建后,系统会自动赋予一个http URI。一般默认为:http://siteurl/node/nodeno(siteurl) 为站点的URL 地址, 指向Facebook 中“Friends List”的html 文档。由于Facebook 的核心数据集在Hadoop 里,由此“Friends List”站点的内容中的四个节点则生成一系列的URL 地址:http://facebook.com/hadoop/name facebook.com;http://facebook.com/hadoop/networks facebook.com; http://facebook.com/hadoop/statusfacebook.com。

(3)根据HTTP URI 中的其他字段发现可以链接的数据。Facebook 系统自动生成了每个用户的html 文档及其URI 和RDF 数据及其http URI,所有用户的RDF 数据都存储在后台的RDF 仓储之中,例如可以通过Name: Llia Alshanetsky 在本人的应用中发现Notes、Events、Photos、video、Group 等链接的信息,可以添加dc: Topic 来描述这些数据,从而发现更多关于Llia Alshanetsky 的数据

(4)提供与“Friends List”字段相关的URI 链接。在Facebook 中通过API 平台提供“Friends List”字段相关的URI 链接。在API 平台中有很多应用,将里面的信息抽取并转化封装成RDF 文件之后存储于存储器中,在Facebook 中通过API 平台上的应用提供查询“Friends List”字段的端点。同时,在查询端点的前面要建立一个关联数据界面,用户通过此界面就可以进行多种途径的检索,获得“Friends List”字段关联数据, 从而找到用户所需要的数据, 另外,Facebook 站点还建立了自己的SPAQL Endpoint 接口可向远程站点(REMOTE DRUPAL SITE) 其他的网络社区API 提供关联数据服务,从而在整个数据web上可以查到“Friends List”字段中的关联数据,可以获得潜在的“Friends List”信息。

3.3 基于四原则的Facebook关联数据发布的特点

(1)事先定义好站点内容模型与RDF数据模型的映射,在Facebookweb上发布只要将F acebook中用户的数据转化为统一命名,统一内容描述机制的RDF三元组即可。

(2)Facebook中的数据转化为RDF数据后可以保存在专用的RDF数据库中,与原有系统的关系数据库之间在物理上彼此独立,在逻辑上相互映射。

(3)利用产生的RDF去链接Facebook中同一用户数据内各种数据项和链接相关联不同用户的数据,建立用户数据的关联机制(关联解析机制、检索机制、调用机制),为用户数据保存提供方便。且对Facebook的数据量大小和更新频率的影响不大。

[1]kevenlw.数据的万维网[EB/OL].(2009-10-02).[2012-02-15]. http://www.kevenlw.name/archives/1185.

[2]Tim Berners-Lee.Linked Data [EB/OL].(2009-06-18). [2012-02-15].http://www.w3.org/DesignIssues/LinkedData.html.

[3]白海燕.关联数据及DBpedia实例分析[J].现代图书情报技术,2010(3):33-38.

[4]Chris Bizer,etal.Howto Publishlinke ddataontheweb[EB/OL].(2010-02-22).[2012-02-15]http://www4.wiwiss.fu-berlin.de/bizer/pub/Linked Data Tutria l/.

[5]娄秀明.用关联数据技术实现网络知识组织系统的研究[D].上海:华东师范大学,2010.

[6]Tom Heath,Christian Bizer.Linked Data:Evolvingthe Webintoa Global Data Space[EB/OL].[2012-02-02].http://linkeddatabook.com/editions/1.0/.

[7]维基.Facebook研究[J].中国数字电视,2007(11):72-75.

猜你喜欢

三元组结构化关联
不惧于新,不困于形——一道函数“关联”题的剖析与拓展
特征标三元组的本原诱导子
促进知识结构化的主题式复习初探
改进的非结构化对等网络动态搜索算法
结构化面试方法在研究生复试中的应用
左顾右盼 瞻前顾后 融会贯通——基于数学结构化的深度学习
关于余挠三元组的periodic-模
“一带一路”递进,关联民生更紧
一个时态RDF存储系统的设计与实现
奇趣搭配