关联数据互联技术研究综述:应用、方法与框架,本文主要内容关键词为:互联论文,技术研究论文,框架论文,方法论文,数据论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
1 关联数据的概念与应用
1.1 关联数据的概念
T.Berners-Lee在2006年提出了“关联数据”(linked data)的概念[1],并制订了关联数据关于内容描述的“四大基本原则”:①使用URI来标识事物(use URIs as names for things);②使用HTTP URI使人们可以访问到这些标识(use HTTP URIs so that people can look up those names);③当有人访问到标识时,提供有用的信息(when someone looks up a name,provide useful information);④尽可能提供关联的URI,以使人们可以发现更多的事物(include links to other URIs so that they can discover more things)。
从技术角度来讲,关联数据可以理解成一组最佳实践的集合[2],它采用RDF(Resource Description Framework)数据模型,利用URI(统一资源标识符)命名数据实体,来发布和部署实例数据和类数据,从而可以通过HTTP协议揭示并获取这些数据,同时强调数据的相互关联、相互联系以及有益于人机理解的语境信息。Wikipedia认为,关联数据用来指代一组采用URI和RDF来实现语义网上的数据、信息及知识的公开、共享与联结的最佳实践。
2007年5月,W3C的关联开放数据(Linking Open Data,LOD)运动正式启动[3],该运动提倡将Web上的开放数据源以RDF的方式发布出来,同时生成数据源之间的RDF链接,以供关联数据浏览器、搜索引擎以及更高级的应用程序使用。很快关联数据概念就流传开来,现在已成为互联网的热门研究领域,从2008年起在年度互联网大会(WWW Conference)上都有关于Linked Data On the Web(LDOW)的专门会议。另外在ISWC(International Semantic Web Conference)、DIST(Data Integration through Semantic Technology)大会上也经常召开专门的会议。2012年4月在法国里昂召开的WWW 2012大会上,就包含了LDOW 2012工作组会议,讨论的话题涉及关联数据的自动关联、分布式异构性以及互操作。
在LOD项目启动后短短的三年中,越来越多的数据拥有者将他们的数据以关联数据的形式发布到Web上。截至2011年9月,LOD已收录295个数据集(见图1)。按数据涉及的主题领域[4]可分为:多媒体(如BBC、CNET、ThomsonReuters),文献出版物(如DBLP、CiteSeer、EPrints、SWC),生命科学(如UniPort、PubMed、CAS、Bio2RDF),地理数据(如GeoNames、LinkedGeoData),社交网络(如Flickr、FaceBook)以及跨领域的数据(如DBPedia、Freebase、YAGO、UMBEL、OpenCyc)。
1.2 关联数据的互联成为首要问题
从关联数据“四项基本原则”可以看出,关联数据的四大基本要素为:URI、HTTP URI、RDF以及RDF链接(RDF link)。RDF链接在Web数据的发现中发挥了重要的作用。根据梅特卡夫定律(Metcalfe's law)[6]:网络结点之间的连接越多,网络的价值则会越大,因此这些关联本身就能产生价值。作为关联数据的实践项目,W3C的关联开放数据运动也强调了RDF链接的重要作用:RDF链接可以让用户通过语义网浏览器(Semantic Web Browser)从一个数据源中的某个数据项导航到另外一个数据源中相关的数据项中。RDF链接同时也可以为语义网搜索引擎所使用,从而为抓取到的数据提供完善的检索和查询功能。另外,由于查询结果是结构化的数据而非指向HTML页面的链接,它们能够被其他的应用程序使用。
图1 LOD数据云图[5]
然而,从2011年9月LOD收录的情况来看[7],295个数据集中包含了310亿条RDF三元组(RDF triples),其中包含有5亿条RDF链接(一个RDF链接本身就是一个RDF三元组)。表1显示出LOD数据集在不同领域中的分布情况。从表1中可以看出,RDF链接在RDF三元组中所占的比重还不到1.6%,这种弱关联性远远不足以支持高级的知识关联发现。
在以上背景下,关联数据的互联(interlinking),即建立跨数据集的数据关联,其方法和技术的研究成为近年来热点话题。在LDOW 2010(WWW 2010 Workshop on Linked Data on the Web)大会上,数据互联成为会议的一大专题(其他的专题包括关联数据发布、基础设施与架构、关联数据应用等)。另外,由COLD 2010(International Workshop on Consuming Linked Data)发布的几大开放问题中[8],居于首位的就是关联数据的互联算法(interlinking algorithm),其次是溯源与信任、数据集动力学、用户界面、分布式查询、评估(见图2)。
图2 COLD 2010发布的关联数据热点话题
此外,在LDOW 2012会议的16个报告中,有三篇文献都涉及关联发现的话题,分别介绍有声电台档案的自动互联、智能城市数据的互联、基于互联视角的数据网络的交互技术、基于VOID对互联数据集的查询等。在COLD 2011会议中,A.Schultz等推出了一款集成化关联发现与集成框架LDIF(Linked Data Integration Framework)[9]。在WWW 2012会议上,A.Schultz又介绍了LDIF的新版本[10]。
与国际上关联数据的研究进展相比,从见诸专业刊物的文章来看,关联数据在国内的研究尚不普及[11],并且仅局限于图书馆情报领域,还未引起计算机领域、数据库领域的广泛重视。基于此背景,本文以关联数据互联技术为研究对象,分别从应用实例、方法、框架三个方面阐述其研究现状。
2 关联数据互联的应用实例
作为全球第一个关联数据化的联合目录,瑞典联合目录(LIBRIS,http://libris.kb.se)可以作为图书馆界关联数据互联的示范应用。LIBRIS自2008年起,发布了来自于170余个成员馆的600万条以上书目记录与25万条规范文档记录的RDF记录,此外还发布了规范记录与书目记录以及规范记录之间的关联[12],甚至包含国会图书馆主题词表数据的关联,见图3(图片来源:http://blog.libris.kb.se/semweb/)。
图3 瑞典联合目录联与国会图书馆主题词表的关联
此前,在DC 2008年会上,P.Miller的Keynotes[13]探讨了图书馆界在语义Web中可以承担的角色,并专门介绍了美国国会图书馆将其主题表(LCSH)以SKOS编码的项目(http://lcsh.info)。从LIBRIS到LCSH.info,是一个典型的跨数据集的数据互联应用。
在媒体领域,LinkedMDB[14]是一个比较实际的跨数据集数据互联的应用实例,LinkedMDB实现了与其他LOD数据集的互联,包括DBpedia/YAGO、Geonames、FlickrWrapper、RDF Book Mashup、Musicbrainz、Revyu.com等,这种关联效果见图4。
图4 LinkedMDB与其他LOD数据集之间的关联[12]
LinkedMDB包含实体233103项,指向其他LOD数据的关联数为162199项,关联数目统计见表2。
在生命科学领域,数据互联的应用较多。如:Diseasome Map[15]应用整合了不同生命科学的数据源,以关联数据的形式发布了4300个紊乱和疾病的基因,并构建了一个紊乱基因关系网络。Linked Life Data[16]整合了UniPort、PubMed、Entrez Gene等20余个数据源,并据此提供了关联式的检索和浏览服务。印第安纳大学的Dong Xiao和Ding Ying等[17]开发了Chem2Bio2RDF Dashboard,该系统集成了化学、生物、药物领域的关联数据,用以发现两个实体或概念之间的路径。美国马里兰大学和委内瑞拉西蒙玻利瓦尔大学的M.E.Vidal和L.Raschid等共同开发了BioNav[18]框架,用以发现药物和疾病之间的关系。
3 关联数据互联方法研究
在关联数据互联方法和算法方面,有一部分研究关注于如何在关联开放数据环境下通过一些自动和半自动的方法来创建数据之间的关联。白海燕等[19]将关联数据之间的关联构建概括为映射关联(owl:sameAs)和非映射关联,并以书目数据关系为例介绍基于规则的关联构建方法。
作为关联数据发布的权威教程,C.Bizer等[20]提出,关联的创建可以采用两种算法:基于模式(pattern)的算法以及基于属性的复杂算法。
3.1 基于模式的算法
该算法比较简单,适用于拥有唯一标识符的资源对象,如DBPedia包含有《哈利·波特与混血王子》图书的RDF描述,并记录该图书的ISBN编号为0747581088,同时由于RDF Book Mashup[21]采用了形如http://www4.wiwiss.fu-berlin.de/bookmashup/books/{ISBN number}的URI模式,那么就可以创建DBPedia与RDF Book Mashup之间的关联,如:
〈http://dbpedia.org/resource/Harry_Potter_and_the_Half_Blood_Prince〉
owl:sameAs
〈http://www4.wiwiss.fu-berlin.de/bookmashup/books/0747581088〉
3.2 基于属性的算法
该算法适用于没有唯一标识符的资源对象,如针对某个地理位置,可以采取涉及该位置的文章标题、经纬度、国家、行政区划、人口等属性信息,建立DBpedia与Geonames之间的地理位置的映射。
Y.Raimond等[22]结合音乐数据集,介绍了自动创建关联的两种途径:基于实体的文本映射(又分为简单文本查找、扩展文本查找)及基于RDF图形相似度计算的映射。
3.2.1 基于实体的文本映射 该方法又分成简单文本查找和扩展文本查找方法。简单文本查找可通过遍历式匹配或者SPARQL WHERE语句来实现,扩展文本查找则借用分类、分面、类型特征、属性特征等进一步对资源进行限定。
作为例子,以下代码表示通过SPARQL语句查询LIBRIS的规范文档数据集,来获取关于William Gibson的规范记录[17]:
3.2.2 基于RDF图形相似度计算的映射 RDF图形相似度计算相对比较复杂,以图5为例,计算RDF图形的相似度可以分解成如下三个步骤:
图5 三个待比对的RDF图形[20]
·标注RDF图形中所有的结点,如表3所示。
·计算每个结点的相似度,计算结果如表4所示。
·根据结点的相似度,计算图的相似度,如表5所示。
邓兰兰等[23]针对同构和异构模式下的关联关系创建技术作了详细的综述。同构模式下的关联创建方法包括单一方法(属性值相似度算法、图形相似度算法等)、组合方法(基本算法聚合、分类模型等),异构模式下的关联创建的主要策略则是先建立异构数据之间的模式映射[24-25],然后再运用同构方法来创建实例之间的关联。此外,A.Nikolov等人介绍了一种通过聚类算法推导出模式级别关联的方法[26]。M.Rowe介绍了如何生成Facebook与Twitter和Myspace.com之间的链接[27]。
可以看出,以上方法最终会涉及属性文本的相似度算法。目前针对属性相似度计算的研究比较成熟:字符串相似度如jaro、jaroWinkler、qGram、概念距离、levenshtein距离、Jaccard、Dice等算法。此外,还有基于TF-IDF及向量空间模型的文档相似度算法、字符串集合相似度算法等。
4 关联发现框架研究
4.1 关联发现框架
由于数据集互联的过程极其复杂,人们开始研究适用于关联数据互联的框架,从而实现关联发现、关联集成任务的自动化和流程化。
首先值得一提的是基于规则的关联发现框架SILK[28-29],SILK允许用户制定SILK-LSL(SILK Link Specification Language)规则文件,并借此自动生成出不同数据集之间的实例级的链接。SILK不仅能够生成数据之间的owl:sameAs关联,也可以生成其他类型的关联,如:DBPedia电影与LinkedMDB导演之间的dbpedia:director关联。原理上,SILK主要通过给定的两个数据集中数据的属性相似度来计算它们之间的关联关系。SILK-LSL支持的相似度算法包括Jaro距离、Jaro-Winkler、Levenshtein算法、q-grams文本相似性计算、文本等价性、数值距离、日期距离等算法。最新版本的SILK推出了SILK workbench,允许用户通过图形化的界面在线完成SILK-LSL配置的定义,并启动关联发现的任务。SILK workbench中的Linkage Rule Editor(关联规则编辑器)如图6所示。
图6 SILK的关联规则编辑器
类似地,O.Hassanzadeh等提出了一款完全针对关系型数据的语义连接发现框架LinQuer(Linkage Query Writer)[30],并且同时提出了一套声明式语言LinQL。
A.C.N.Ngomo等[31]根据三角形不等式,提出了两种高效的近似距离计算方法,并集成多种比对算法构建了关联框架LIMES(Link Discovery Framework for Metric Spaces)。
RDF-AI[32]是另外一款基于用户配置的RDF数据集的融合和互联框架。RDF-AI接受两个RDF数据集作为输入,产生由两个数据集融合形成的新数据集,或者产生它们比对的结果数据集。如图7所示,RDF-AI的架构包括5个相对独立的模块:预处理、匹配、融合、互联、后处理。RDF-AI提供了灵活的配置接口,允许用户定义融合任务的输入和输出。通过对AKT Eprints数据集中的314条记录和Rexa数据集中的2103条记录进行关联,证明通过采取合适的预处理,RDF-AI关联的正确率高达95.9%,这比KnoFuss[33]针对同样的数据集得到的正确率(92%)还要理想。
图7 RDF-AI系统架构
数据互联往往不是一个孤立的过程,它通常会伴随着数据转换、数据融合等任务。基于该思路,LDIF[9]为用户提供了一个关联数据集成处理框架,该框架有效集成了如LDSpider、R2R[34]、SILK、Sieve[35]等关联数据的应用工具,可以帮助用户构建完整的流水线,包括数据采集、Schema映射、标识识别(identity resolution)、质量评估与数据融合、输出这5个步骤。LDIF提供了三种使用模式:单机In-Memory版本、单机RDF库版本以及集群Hadoop版本。图8(图片来源http://www4.wiwiss.fu-berlin.de/bizer/ldif/)显示了LDIF给出的关联数据应用程序的层次架构,从中可以看出,LDIF处于应用层与关联数据层之间,负责数据的访问、集成和存储。
图8 LDIF给出的关联数据应用程序架构
由于中文处理的特殊要求和资源语义化现状的限制,上述通用的发现框架和算法无法在国内的项目中直接应用,但它们对关联开放数据环境下中文语种的资源间的关联发现研究无疑有着极大的借鉴意义。如陶俊等[36]重点研究了RDF映射语言R2R,并基于R2R提出了面向LOD的关联系统VocaR。
4.2 关联发现框架比较
值得一提的是,S.等[37]针对目前流行的一些关联发现工具和框架进行了综述与对比,调研对象涉及RDF-AI、SILK、Knofuss、LinQuer、Interlinking Distributed Social Graphs[27]、Guess What[38]、PoolParty[39]、Grapple User Modeling Framework(GUMPF)[40]、CaMiCatzee、ExpLOD、GNAT这11个工具或系统,重点针对自动化程度、人工参与、适用领域、匹配方法、采用本体、输入形式、输出形式、后处理、数据访问方式这9个方面进行了比较,本文予以摘录并整理,形成表6。
可以看出,各种关联发现框架都实现了自动、半自动的发现方式,在进行RDF资源匹配的时候也分别采取了不同的匹配方法。作为补充,本文从支持理论、任务覆盖面、可配置性以及任务流水线这4个方面针对SILK、RDF-AI、LinQuer、LIMES、LDIF5类流行的框架做出了二次比较(见表7)。
基于以上对比,本文认为,目前流行的这些框架尚存在着如下不足:
●支持的任务类型单一。就目前的调研情况来看,大部分关联发现框架仅关注其中某些任务,如:SILK、RDF-AI以及LIMES,都只是关注于如何实现资源比对(matching),关注于其中的比对规则的表达以及比对算法的优化策略。
●缺乏流水线机制,不支持多次、多路关联发现过程的串接。以根据科研人员发现科学数据和科技文献的关联路径为例,它需要分解成建立“人员—机构”、“文献—人员”、“数据—人员”等多个任务,这些任务之间如何衔接?关联数据集成框架LDIF显然注意到了这一点,将LDSpider、R2R、SILK、Sieve等多个工具引入框架,但由于它没有采用统一的描述理论和配置语言,多个过程之间还存在着明显的隔断,用户仍需要熟悉不同的软件工具,并分别编写遵循不同语法的任务脚本。
●缺乏全局的规划和控制能力。在一个完整的关联数据网络中,发现两个资源之间的关联,从时间上往往需要历经很长的计算过程,从空间上往往需要涉及多类资源结点,甚至覆盖至整个关联数据网络。因此,关联发现往往需要提前进行多步、多路发现路径的规划,而目前的框架明显缺乏全局规划(手动或者自动的)的能力。另外对运行过程中发生的耗时、失败等情况,目前的框架也缺乏有效的控制能力。
5 结语
综上所述,关联数据的互联无论在应用、方法,还是在关联发现框架研究上,都得到了较为充分的发展,应用丰富、方法多样,而且各框架稳定可靠。
然而,本文认为,在应用、方法以及框架方面,关联数据的互联还存在着如下一些问题与不足:
●关联数据的互联应用目前主要局限在媒体、出版与生命科学领域,尚缺乏在其他领域中的成熟范例。以中国科学院科学数据库项目(http://www.csdb.cn)中的青海湖数据库(http://www.qinghailake.csdb.cn)为例,其数据内容涉及地学、生态学、生物学等多种数据,一旦围绕该专题建立起完整的、跨学科的关联数据网络,对高级e-Science应用的开发就很有意义。另外,国内外目前有很多研究关注于科学数据与科技文献的集成与关联服务[41-42],根据《第四范式:数据密集型科学发现》的观点,科学数据与科技文献的互操作具有较大的意义[43]。但根据目前调研的情况来看,还没有在关联数据环境(linked data context)下实现二者关联服务的先例。
●关联数据的互联方法与算法方面,由于关联数据的技术基石是HTTP和RDF,因此现有的方法更多地关注SPARQL的自动构造和查询优化以及基于RDF图的高效路径匹配。随着大数据(big data)的提出,现在已有学者在提“大关联数据”(big linked data)[44]。对应于大数据的3V特征(Volume,Variety,Velocity),大关联数据的互联算法同样需要应对来自于大数据量、语义异构、需要在线快速响应的需求。
●如4.2部分所述,目前的关联发现框架支持的任务类型单一,缺乏流水线机制,而且缺乏全局的规划和控制能力。这种缺陷造成这些关联发现框架只适用于发现路径简单、待关联资源的种类少、关联网络不够复杂的场合,并且需要较多的人工数据整理和任务衔接工作。另外,在规则语言、比对算法模型、鉴别机制、中文信息处理等方面,目前的关联发现框架也存在着改进空间。
综上所述,关联数据的互联应用应进一步扩展至其他领域,构建跨学科领域的关联应用则具有更大的意义。关联数据的互联方法与算法应结合大关联数据的需求,增强对大数据量、语义异构、在线快速响应的支持。新的关联发现框架需要面向任务支持更丰富的任务类型,并提供流水线机制和全局的规划以及流程控制能力。
收稿日期:2013-06-03 修回日期:2013-07-02