APP下载

关联数据技术实例解剖及其应用展望

2014-04-16新乡医学院三全学院图书馆河南新乡453003

科技视界 2014年13期
关键词:维基百科三元组数据源

冯 帆(新乡医学院三全学院 图书馆,河南 新乡 453003)

0 引言

随着网络变得越来越快的发展,万维网开始与我们的日常生活息息相关,成为我们生活的一部分,在万维网中人们越来越渴望直接获取原始数据,建立全球性信息空间,而目前未在在万维网中并没有明确提供一个范式将全球信息中的数据连接起来,直到2006关联数据的提出给我们带来了一线曙光使得我们建立全球性有序的信息空间成为可能。

关联数据的概念是由Tim Berners-Lee提出的,它是一种简单的语义网实现技术,它的基本原理是利用RDF数据模型建立结构化数据发布于网络上再联接到不同数据库便于建立关联。其重要价值在于通过RDF(资源描述框架)数据模型,把互联网上存在的大量非结构化数据和采用不同标准的结构化数据转换成遵循统一标准的结构化数据。RDF对资源的表达是通过一系列的三元组来实习。每个三元组有主语、谓语和对象三个部分组成,构成一个声明。主语是URI所标识的资源,对象可以是一个字符串,如字母、时间、数字等,也可以是一个URI是与主语有关的其他资源的标识符,即RDF链接(RDF Link);谓词表明了主语和对象之间的关系,谓词也可以是URI,比如来自某一词表或URI集合。关联数据的三元组都应该尽可能的以URI来表达,以RDF来编码。

1 关联数据的涵义核心思想和基本原则

对于关联数据在维基百科中的定义是:关联数据是语义网的主题之一,描述了通过可链接的URI方式来发布、分享、连接Web中各类资源的方法。 而Tim Berners-Lee 2006年在Linked Data一文中提出了管理数据的概念和关联数据四个原则,并在2009年的TED大会上,将关联数据进一步阐述为:关联数据是一箱箱数据,当通过开放标准关联到一起时,从中可以萌发出很多新事物和新应用[1]。其中关联数据的四个原则为:①使用URI作为网络对象的名称;②使用HTTP URI机制直接访问对象;③当访问时,以RDF形式提供有用信息;④尽可能多的提供相关URI链接,使人民发现更多信息。

通过以上关联数据的基本概念和基本原则则可以概括出关联数据的核心理念为:让Web代理通过简单通用的HTTP URI规范直接访问文档中的“数据”。所以,在实现技术上关联数据要遵循两个基本点:描述和链接。通过描述可以实现统一格式化数据,使机器能自动发现和确认,链接也应支持机器自动连接。从而发布关联数据从技术上来说应遵循两条原则:第一,在万维网上发布或将数据转化为统一结构化的RDF三元组,包括统一命名,统一内容描述机制;第二,利用RDF链接同一数据源内各数据和链接不同数据源,即建立内容关联机制,包括关联解析机制、检索机制、调用机制。

2 关联数据发布技术及主要工具

关联数据是语义网中的一种新技术,其基本原则决定了关联数据的实现应独立于现有的任何具体技术和工具,只是和相关的Web标准有关。Bizer C.Cyganiak.R和Heath T[2]指出,发布关联数据时应需要考虑以下三个问题:数据量的大小、数据的更新频率和数据的存储方式。如果数据量很小(几百条RDF或更少),可以采用静态RDF文件,通过手工或软件自动转换(静态发布);如果数据量很大,则需要将它们放入RDF库中,并通过相应的服务器(如Pubby等)作为关联数据服务的前端。如果数据的更新频率很大,需要引入更新机制或在请求数据时根据原始数据在线生产RDF数据。

不同形式的数据发布为关联数据需要不同的技术工具,目前比较著名的工具有以下几种:

(1)对于以数据库方式存储的数据,需转换工具将其转换为统一格式RDF三元组。主要工具有D2RQ[3]平台、Virtuoso Universal Server[4]、Triplify[5]等。

(2)D2RQ平台由映射语言、D2R引擎和D2R服务器组成。D2RQ映射语言[6]支持从关系型数据库到RDF数据转换规则的编写,通过该语言,用户可以定义如何将关系型数据库中的表、列、行、列值、外键值映射成RDF数据中的类、属性、资源、文本、RDF链接。D2R引擎将用户输入的SPARQL转换成SQL提交给关系型数据库管理系统,并将SQL查询结果封装成RDF三元组。D2R服务器基于D2R引擎之上提供了Web界面,浏览器用户可以查看数据网页。如图1:

图1 D2RQ平台体系结构[3]

(3)如果数据内容是API或者OAI-PMH协议格式,可以利用OAI2LOD Server[7]建立一个“转换”封装器,封装器将HTTP URI分配给由API提供的非信息资源,当被参引的URI请求为Application/RDF+XML时,封装器能够将客户端的请求转换为相应的API,并将API请求的结果转换为RDF格式并发送回客户端。

(4) 如果是通用格式 Excel,CSV等, 可以使用 JPEG2RDF[8],MARC/MODS2RDF[9],Email2RDF[10]等转换工具;也可以远程调用已有的API,如用RDF Book Mashup调用“亚马逊 API”来获取图书信息。

3 利用Drupal发布关联数据

Drupal诞生于2001年,2008年正式推出了对关联数据的支持功能,2011年1月,Drupal7正式发布,RDF相关模块是Drupal7的核心模块。Drupal在互联网发布关联数据主要概括为以下两个方面:

(1)数据RDF化Drupal发布关联数据的前提是将自身结构化数据的RDF化。Drupal作为一个内容管理系统,可管理任意不同的内容类型,每种内容类型都有自己的结构化数据。在Drupal中,基于某个内容类型创建的实例叫做节点,例如,博客在Drupal中作为一种内容类型,博客的标题是这个内容类型的一个字段,某作者写的一篇博文就是一个节点。Drupal将内容类型、字段、节点分别映射到RDF三元组模型中的 “类”、“属性” 和 “对象”:”site:blog a rdfs:class;tdfs:label“blog””;”site:Title rdf:Property;rdfs;label“Title””。 当定义好站点的内容模型后,系统会自动生成基于RDFS的本地词汇表,命名空间的前缀默认为“site”,地址默认为http://siteurl/ns#,当一个节点创建后,系统会自动赋予一个http URI,一般默认为:http://siteurl/node/nodeno(siteurl为站点的URL地址,nodeno为系统按内容节点创建时间顺序自动生成的流水号),指向该博文的html文档。同时,系统工业会自动生成该博文的RDF数据,RDF数据中术语的命名空间为“site:http://siteurl/ns#”,RDF数据也自动获得一个http URI,一般默认为“http://siteurl/node/nodeno/rdf”, Drupal利用 Apache访问 http://siteurl/node/nodeno/rdf,可返回RDF数据,并且人工可以浏览RDF数据的全貌。Drupal通过这样的机制将站点所有内容那个自动转换为基于RDF数据模型的语义数据,并自动获得HTTP URI,发布在网上。

(2)RDF 数据间的链接

RDF数据的特征就是可以开放、可利用、可关联,不仅可以链接统一数据源中的资源,还可以与其他数据源链接,似的用户能跟随RDF链接浏览整个数据WEB。

Drupal在建立本地RDF时,建立了类似于超文本链接的链接机制,将字段值设为站点内的另一个节点,个节点通过字段节点来建立关联。具体实现如下:字段被映射为一个RDF属性,节点被转换成RDF数据实例,各RDF数据实例之间就通过RDF属性建立关联。如下图2所示。

图2 各RDF数据实例建立关联

目前,Web上最常用的开放利用RDF数据的方式Web上公开的SPARQL查询终端。Drupal在本地提供了SPARQL查询终端,同时Drupal支持RDF数据批量导入和导出RDF数据集,在本地站点管理后台,可导入来自其他数据源的RDF数据。

4 DBpedia发布关联数据

DBpedia它是在万维网中的Wikipedia中对大量的结构化的信息提取,允许你访问复杂的查询连接在维基百科网站中资料各种数据集。简单的说就是DBpedia是从维基百科的词条里抽取结构化数据,以提供更准确和更直接的维基百科搜索,并可使其他数据集与维基百科在数据节点上相链接。从而可以使它更容易在维基百科上用于新的、有趣的方式与大量的数据进行链接,进而建立新导航、链接和改善百科全书本身。

目前在DBpedia知识库中有超过364万的东西,包括416000人,526000个座位,音乐专辑,60000电影、17500视频游戏,共有169000家机构,183000种和5400的疾病。并且 DBpedia数据集的标签和内容有自己的特点,这些东西有97种不同的语言,并且链接到图片的链接,外部的网页还链接到其他RDF数据集,因此,由10亿块信息组成其中3.85亿的人中提取的英文版本维基百科和大约6.65亿提取和其他语言版本的链接外部的数据集。DBpedia的知识库和其它的相比具有很多优点,它有大量的现有知识基础,涵盖多个领域,代表了真正的社区协议,它的自动进化其实质为维基百科的变化,所以说Dbpedia做到了真正意义上的数据关联。

在DBpedia关联数据发布首先也要进行进行结构化数据抽取并RDF化。其具体工作流程如下图3所示为:页面收集器(PageCollection)是本地或远程Wikipedia文章源的抽象;目标器(Destination)存储或设置是否链接抽取RDF三元组;抽取器(Extractor)将特定的Wiki标记转换为三元组;解析器(Parsers)通过识别数据类型、不同单元之间的转换值和将标记拆分为列表来支持抽取器。抽取业务将页面收集、抽取和目标器组成一个工作流。结构化数据经抽取并转换为RDF文件之后,存储在Openlink virtuoso存储器重,它能够提供SPARQL端点。在使用过程中用户可以浏览DBpedia数据集,并且通过RDF链接到其他数据集如 GeoNames、RDF BookMashup或者是 DBLP Bibliography而获得更多的信息等结构化数据经抽取并转化成RDF文件之后,存储于OpenLinkVirtuoso存储器中,它能够提供SPARQL端点。为了获得关联数据视图,在SPARQL端点前面还部署了Pubby,能够为SPARQL端点提供一个关联数据界面,用户通过此界面就可以进行多种途径的检索,从而找到自己所需要的数据。

图3 DBpedia关联数据工作流程

此外,DBpedia与许多大规模的数据集合本体(如美国人口统计、GeoNames、DBLP Bibliography等)实现管理与互操作。由于广泛的主题覆盖面,DBpedia具有与各类大型数据集的通用数据,因此,被各种数据集首选为关联目标,同时DBpedia又作为各数据集的中介,彼此相互关联。如图显示了与DBpedia相关联的数据集(2011.9.11),总计多大10亿个RDF三元组,620万到其他的RDF数据集的外部链接。通过这些RDF链接,用户可以从一个DBpedia的计算机科学家链接到其在DBLP数据库中的出版物;从一个DBpedia图书看到来自RDF Book Mashup的书评和售价;或者从一个DBpedia中的乐队到由MusicBrainz提供的乐队歌曲。

5 关联数据的应用

关联数据的应用目前在国内集中在图书馆领域,关联数据它为图书馆的资源发现服务提供了良好的途径,它创造了把图书馆的资源和外部世界相互连接起来的机会,可以增强和扩展图书馆的发现平台,以及支持图书馆在学术交流环境下作为创建者和出版者的作用,具体来讲关联数据是可以提供多个分布式异构数据源整合的关联的访问,将来自不同数据源的同一个对象进行整合,返回给用户关于该对象的所有相关信息的统一视图。然而,在国外已经扩展到各个领域,例如娱乐领域,由于在万维网上我们大众获取的最多信息就是在娱乐生活方面关联数据在此方面的应用将会大大提升对人们生活的影响力。

我们就拿国外的BBC为例,它创立于1920年,电台业务开播于创立当天,并首次于1930年播出电视节目。BBC目前有32种语言的国际服务,8个全国电视频道,1个高清频道,很多地方频道,10个国家电台,40多个地方电台。在1994年建立了同行业最早的网站:bbc.co.uk。通过以上信息的介绍所有这些历史,积累了难以想象的资料和素材,使它必须再次领先世界,建立最先进的语义媒体库:支持知识搜索,能够自动向机器提供服务。作为广播电视公司,节目是它最大的资源。传统上,网站只是做节目推广。现在三网合一,可以用来发布、推送、组织和存档节目。BBC一直在寻求这样的技术,能够将BBC千万小时的节目及相关资源,组织成一个脑库,成为人类记忆的一部分。整合对于因此进行关联数据的整合对于BBC未来的发展起着不可估量的作用,如下图4就是实现BBC内部数据关联的过程。

图4 BBC实现关联数据的过程

通过关联数据之后可以看出网站和数据的可用性大大增强,用户体验得到巨大提升,SEO效果明显,甚至可以到每个资源,查准率、可点击性和可传播性都获得很大提高,可以看出整个网站是一个API平台,采用了RESTful发布,与Web无缝集成,保证了链接的永久性和数据的开放性,系统各组成部分松散耦合,互相联系却互不干扰,整个系统成为一个不断增长的有机体,从而带动了它的健康发展。

[1]Berners-Lee T.Linked Data[EB/OL].[2010-01-20].http://www.w3.org/DesignIssues/LinkedData.htm.

[2]BizerC,Cyganiak R,HeathT.How to Publish Linked Data on the Web[EB/OL].[2010-02-22].http://www4.wiwiss.fu-berlin.de/bizer/pub/LinkedDataTutorial/20070727/.

[3]The D2RQ Platform[EB/OL].[2009-08-10].http://www4.wiwiss.fu-berlin.de/bizer/D2RQ/spec/.

[4]OpenLink software[EB/OL].[2010-02-22].http://virtuoso.openlinksw.com/.

[5]triplify.org:Overview[EB/OL].[2012-09-12].http://triplify.org/.

[6]D2RQ映射语言的Schema定义[EB/OL].[2010-09-12].http://www4.wiwiss.fuberlin.de/bizer/d2rq/0.1/.

[7]Haslhofer,B.,Schandl,B.The OAI2LOD Server:Exposing OAI-PMH Metadata as Linked Data[C]//Proceedings of the 1st Workshop about Linked Data on the Web(LDOW2008)Beijing China.

[8]JPEG_RDFizer-SMILE[EB/OL].[2010-09-12].http://simile.mit.edu/wiki/JPEG_RDFizer.

[9]MARC/MODS RDFizer-SMILE[EB/OL].[2010-09-12].http://simile.mit.edu/wiki/MARC/MODS_RDFizer.

[10]RDF Book Mashup-Serving RDF Descriptions of Your Books[EB/OL].[2010-09-12].http://www4.wiwiss.fu-berlin.de/bizer/bookmashup/index.html.

猜你喜欢

维基百科三元组数据源
维基百科影响司法
基于带噪声数据集的强鲁棒性隐含三元组质检算法*
维基百科青年
特征标三元组的本原诱导子
关于余挠三元组的periodic-模
Web 大数据系统数据源选择*
基于不同网络数据源的期刊评价研究
基于真值发现的冲突数据源质量评价算法
APP
三元组辐射场的建模与仿真