丁 楠 (浙江大学图书馆 浙江杭州 310028)
潘有能 (浙江大学公共管理学院信息资源管理系 浙江杭州 310028)
关联数据可被视为语义网的一种实现方式,它使得来自于不同来源的数据相互关联,从而促进了万维网的发展。关联数据的出现不仅对当前的超文本网络进行了扩展,同时也对当前网络上纷繁混乱的信息资源进行甄别、选择和定位。[1]随着大量的数据集被转换为关联数据,建构在其基础上的应用技术也随之出现,聚合技术(Mashup)就是其中最为重要的一种。目前已有的信息聚合技术主要面向传统的万维网,而基于关联数据的信息聚合技术主要面向语义网,关注的焦点在信息本身而不是承载信息的页面或是信息的访问接口API,聚合的对象直接深入到细粒度级的具有语义信息的实体。
图书馆拥有多年累积的高质量数据,包含大量值得揭示和参照复用的有价值的内容实体,但是这些内容实体都隐藏在书目记录内部,缺乏独立标识和结构化描述,挖掘其相互之间的隐含关系需要大量的人力,[2]更难以和外部数据源建立实体级别的链接。基于关联数据的信息聚合技术可以帮助图书馆和全球数据网络建立链接,拓展图书馆的资源和服务,使图书馆和其它相关领域的数据和应用进行协同,从而提升图书馆的价值。
关联数据是国际互联网协会(W3C)推荐的一种用来发布和联接各类数据、信息和知识的标准,它希望在现有的万维网基础上,建立一个映射所有自然、社会和精神世界的数据网络,通过对事物及其相互关系进行机器可读的描述,使互联网进化为一个富含语义的、互联互通的知识海洋,从而使任何人都能够借助整个互联网在更大范围内,准确、高效、可靠地查找、分享、利用这些相互关联的信息和知识。[3]
关联数据采用RDF(资源描述框架)数据模型,利用URI(统一资源标识符)命名数据实体,并在网络上发布,从而可以通过HTTP协议揭示并获取这些数据,同时强调数据的相互联系以及有助于人和计算机理解数据的语境信息。[4]
关联数据可以在不同来源的数据之间创建链接。这些数据源可能是两个处于不同地理位置的机构所维护的数据库,也可能是一个机构内的无法在数据层面上进行互操作的不同系统。关联数据可链接至其它外部数据集,同样也可被来自外部数据集的数据所链接,从而形成关联数据网络。
关联数据网络和当前的超文本网络有所不同,超文本网络是通过超链接将HTML文件连接起来,但关联数据并非是简单地连接这些文件,而是使用RDF形成链接世界上任何事物的网络,也即数据网络,数据网络可被定义为由网上数据描述世界上所有实体的网络。
作为信息收集、组织与处理的专门机构,图书馆的MARC数据,规范记录,主题标目等资源都可以发布为关联数据。在国外,瑞典国家图书馆早在2008年便将瑞典联合目录(LIBRIS)发布为关联数据。LIBRIS共包含约600万条书目记录,2000万条馆藏记录及20万条规范记录,为超过170家大学图书馆、公共图书馆、博物馆和档案馆提供编目服务。LIBRIS是世界上第一个被整体发布为关联数据的联合目录或国家图书馆目录,在发布关联数据的过程中,LIBRIS使用的词汇表并没有仅限于图书馆学领域,而是一个包含了DC、SKOS、FOAF和Bibliontology的一个混合体。[5]此外,美国国会图书馆、德国国家图书馆、法国国家图书馆、OCLC等国际、国家级的书目数据或规范数据也纷纷开放了关联数据服务。
关联数据也为图书馆的资源发现服务提供了一种新的途径,通过将图书馆的资源和外部信息源连接起来,可以增强和扩展图书馆的资源发现平台。近年来,Library Thing、Syndetic Solutions等系统已能为图书馆提供图书的目次、封面和评论的外部链接,但仍局限于书目层次上的信息,且需事先指定外部信息源并了解其接口以便编程访问,对大部分图书馆来说技术实现上存在一定的难度。而关联数据允许图书馆关联到外部海量的结构化数据中,并不局限于资源本身,还可以扩充地点、人员等信息。[6]
信息聚合是指将来自于多个分布的、异构的信息源中的内容整合在一起,以便于用户浏览、检索及利用。早期,一个网站或网络应用中的信息通常只来自于本地存储,而聚合是从多个分散的源获取信息。目前信息聚合的方法主要有两种:
(1)网页层面的简单聚合。即通过RSS把来自于不同站点的网页信息聚合在一起,从而实现在一个网站或应用系统中可以同时看到多个网站的内容,常见的RSS阅读器就是这种形式的聚合。
(2)Web API层面的信息聚合。其信息源不仅限于RSS,也可以通过各种Web API(网络应用程序接口)来获取,如通过Google Maps API获取地图信息通过YouTube API获取视频信息、通过Amazon API获取商品信息等。目前,大部分的聚合应用都是基于Web API的,每天都有新的聚合应用被开发出来,又有新的API随时发布到网上,为用户提供各式各样的应用。但在另一方面,无论是API的创建还是使用都不是一件容易的事情,需要花费大量的时间。
和传统的信息聚合方法相比,关联数据技术提供了一种灵活且易实现的聚合方法,用户只需要关心信息本身,而不需要担心各个数据源的API如何使用。对图书馆来说,通过信息聚合将外部资源和本馆资源整合到一起,为用户提供多角度、全方位、可视化的访问和了解信息的途径,可以扩展资源范围,改进用户服务,从而提升图书馆的价值(见图1)。
图1 基于关联数据的图书馆信息聚合模型
数据层可分为本地数据源和外部数据源两大部分,其中本地数据源是指图书馆自身所拥有的书目、词表和数字资源等,外地数据源即链接到关联数据网络中的各种数据集,这些数据集原先可能以关系型数据库、电子表格、Web网站等多种形式存放,因此必须采取不同的方法转换成关联数据。
(1)关系型数据库。目前已有很多开放的工具用于将关系型数据库发布为关联数据,如D2RServer、Triplify等,用于表达关联数据中的实体的词汇表可以自行构建,也可以使用目前已有的本体或词汇表中的词汇,例如用于表述人名的foaf:name,用于表述资源标题的dc:title,用于表述经纬度的geo:lat和geo:long等等,这些本体或词汇表可以通过Swoogle和Sindice等工具来查找。
(2)电子表格。在许多组织中,大量的数据以电子表格的形式通过Email进行传递。甚至连美国政府早期的开放数据网站recovery.gov中的数据都是以电子表格的形式发布的。目前已有不少工具可将电子表格形式的数据转换成RDF,例如 Anzo for Excel和Topbraid Composer能将Excel表格转换为RDF数据,而XLWrap除了Excel,还能转换OpenDocument和CSV格式的文档。
(3)XML。XML文档可以直接发布到Web上,为了便于他人使用,最好简要说明一下XML文档的内容以及文档之间的关系。当然,也可以用XSLT或ASP、JSP等脚本语言编写一个简单的脚本,将XML文档转换为RDF。
(4)Web网站。对于Web网站的页面,可以采用RDFa技术改变产生页面的脚本语言,使得这些页面所含的数据可以被其他人重新抽取并发布为关联数据。另外一种可选的方法就是为每个Web页面都编写一个平行的包含RDF/XML格式数据的页面。[7]
在聚合层中,图书馆通过统一的规范访问关联数据网络,并将其和本馆资源进行词表或本体上的映射,自动或半自动地进行实体识别,最终形成集成数据以便下一步应用。
(1)数据访问。数据访问的基本方法是解析关联数据集提供的HTTP URI,获取以RDF模型描述的对象信息。也有一些数据集提供RDF包供下载,或支持SPARQL远程查询,SPARQL是一种用于RDF的查询语言,2008年成为W3C推荐标准。此外,Sindice、Falcons等关联数据搜索引擎也提供了访问他们从网络上获取到的数据的接口。
(2)本体映射。基于关联数据的信息聚合是指将来自于多个不同的关联数据集中的信息集成起来并进行整合,这些数据集经常使用不同的本体来描述同一领域的信息。虽然FOAF、SKOS、Dublin Core等通用本体在一些数据集中也得到了应用,但出于种种原因,大部分的数据集还是在使用自行设计的领域本体或应用本体,甚至根本就没有使用本体,而只是附加了一个简单的数据说明。因此,不同数据集之间的本体映射成为信息聚合的主要研究内容之一。
通用本体之间的映射比较容易实现,只需比较用于表示本体概念的字符串是否相同即可。领域本体或应用本体之间的映射是当前本体与语义网领域的研究热点之一,主要方法包括基于名称的技术、基于结构的技术和基于语义的技术等。引入外部知识也是一种值得关注的方法,因为和传统的本体匹配环境不同,关联数据环境天然具有链接到外部知识库并将其作为参照或背景知识的能力。外部知识库可分为通用知识库(或称为世界知识,如Wordnet等)和领域知识库(如UMLS等),这些知识库一般将其所有概念组织为树状结构,可通过计算一个概念到另一个概念的距离,结合概念所处层次和概念的疏密程度来计算概念间的相似度。
对于没有使用本体的数据集,可考虑对其所含的实例数据进行统计分析,找出可能指向同一实体的数据记录并聚类,从而将其隐含的语义信息显性化,实现数据集之间的映射。
(3)实体识别。关联数据集之间的本体映射为信息聚合打下了基础,而在不同的数据集中指向同一实体的实例数据之间建立关联则是信息聚合的重点。本体映射在概念之间建立了关联,相同的概念一定拥有相似的实例,但具体哪些实例描述的是同一个实体依然未知。单纯的基于实例名称的比较将产生较多的误匹配,例如人名、地名等。数据关联的核心在于为每个实例产生一个唯一的标识,这些标识可能本身就存在,例如用于标识图书的ISBN号,用于标识期刊的ISSN号等。也可以将该实例的多个属性值相结合以生成唯一标识,如姓名加籍贯加出生日期,论文题名加作者加期刊名等。在无法生成唯一标识的情况下,则可通过属性值之间相似度的计算在实例之间建立关联,同时,为了提高关联的准确度,可以采用一些属性来排除关联,例如性别属性:即使姓名和机构名称相同,但性别不同的个体之间不能建立关联。
本体映射与实体识别之间存在互补关系,本体映射是实体识别的基础,同时实体识别的结果又可用于本体映射的评价与改进,二者的迭代使用可提高信息聚合的质量。
在信息聚合的基础上,图书馆可以对原有的应用进行拓展,或是开发新的应用。目前,许多图书馆通过实施资源发现服务扩展其目录检索界面,展示更多的馆藏信息,使用户可以浏览动态更新的结果,但由于它主要是通过主题标目和MARC记录里的数据来实现,具有一定的局限性。而关联数据可以为扩展书目信息提供结构化的集成数据,为用户提供新的资源发现和访问服务。
随着数据的保存、交换和再利用受到越来越多的重视,并从最初的科学实验数据扩大到地理数据、统计数据等,图书馆开始帮助研究者保存、管理他们创建的数据,并提供给社会使用。关联数据可以使图书馆在数据融合方面发挥更大的作用,通过对地点、名词、题名和概念等的匹配和映射,在数据对象之间建立语义链接,从而为用户提供更有意义的检索结果。
此外,图书馆越来越多地参与了学术交流过程中不同阶段的活动,例如提供研究资料、帮助研究者发现其研究成果的引文影响力等。在此过程中,图书馆需要考虑系统的互操作性,而关联数据能在这方面提供很好的支持。[8]
虽然关联数据概念的提出至今不过5年时间,但由于其本身所具有的开放、易用和可扩展特点,使其得到了迅速的发展。目前,仅LOD中的数据就已经超过了250亿条,并正以指数速度增长,构建了庞大的数据网络。基于关联数据的信息聚合可以把图书馆的资源和外部的数据网络相互连接起来,增强和扩展其资源发现平台,更好的保存、管理和利用研究者创建的数据,促进学术交流。当然,本文仅提出了一个在理论上可行的基于关联数据的图书馆信息聚合模型,可能会有新的问题在系统实施过程中出现并得到解决,从而积累更多的经验,提升图书馆在关联数据研究、应用中的地位和作用。
[1]Christian Bizer,Tom Heath,Tim Berners-Lee.Linked data-the story so far[J].International Journal on Semantic Web and Information Systems,2009,5(3):1-22.
[2][3]刘炜.关联数据:概念、技术及应用展望[J].大学图书馆学报,2011,29(2):5-12
[4]Structured Dynamics LLC.Linked Data FAQ[EB/OL].[2010-03-06].http://structureddynamics.com/linked_da ta.html.
[5]Anders Söderbäck,Martin Malmsten.LIBRIS-Linked Library Data[J].Nodalities,2008,(5):19-20.
[6][8]黄永文.关联数据在图书馆中的应用研究综述[J].现代图书情报技术,2010,29(5):1-7.
[7]Tim Berners-Lee.Putting Government Data online[EB/OL].[2010-12-06].http://www.w3.org/DesignIssues/Gov Data.html.