关联数据应用的体系框架及构建关联数据应用的建议,本文主要内容关键词为:数据论文,框架论文,体系论文,建议论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
收修改稿日期:2011-09-02
关联数据自2006年提出以后,受到了政府、新闻媒体、公司、学术界等领域的广泛关注。随着Web上关联数据的不断增加,越来越多的研究开始关注如何利用和消费关联数据,以及关联数据应用的体系框架和关键技术问题。本文所指的关联数据应用,其英文形式包括“Consuming Linked Data”、“Linked Data Applications”等。2010年11月在上海举办的ISWC2010会议,设立了COLD(Consuming Linked Data)工作组会议,专门讨论如何消费关联数据。在2011年10月的ISWC2011会议上,还将针对关联数据的消费和应用进行专门的研讨。
1 关联数据应用的涵义及特点
Hausenblas[1]认为,可以从两个方面来理解关联数据应用。
(1)在特定领域中的关联数据应用,如生物、统计、软件工程或多媒体等领域;
(2)在关联数据基础上建立的Web应用。
Sequeda[2]认为,关联数据应用是指利用Web上多个数据集合中的数据并且受益于数据集合之间的关联关系的软件系统。
沈志宏等[3]认为:关联数据应用专指在不同领域和场景中消费和操作关联数据的应用。
从以上定义可以看出,关联数据应用主要是利用关联数据源中的数据本身及数据之间的关联关系而构建的Web应用。关联数据应用一般具有如下特点[2]:
(1)使用遵循关联数据原则发布的数据,对可访问的数据发出请求、检索和处理;
(2)根据不同数据来源之间的关联关系,可以发现更进一步的信息;
(3)将关联数据与已有的数据(不一定是关联数据)结合在一起;
(4)根据关联数据的创建原则,把融合后的数据再发布到Web上;
(5)为最终用户提供增值服务。
2 关联数据应用的分类
关联数据应用可以分为两类:通用的关联数据应用和特定领域的关联数据应用[4]。因为关联数据是近几年才提出的,因此目前大多是第一代应用原型。不过,它们也显示了未来关联数据应用模式的一些特性。
2.1 通用的关联数据应用
通用的关联数据应用可以处理来自任意主题领域的数据,目前通用关联数据应用主要有:关联数据浏览器和关联数据搜索引擎。
(1)关联数据浏览器
同传统的支持用户通过文本超链接在HMTL网页之间导航和浏览的Web浏览器一样,关联数据浏览器支持用户通过RDF链接在数据源之间进行浏览。主要的关联数据浏览器有:Tabulator、Marble、Disco、LinkSailor等。
(2)关联数据搜索引擎
关联数据搜索引擎从多个数据源中整合数据,与依赖于固定数据来源的专有接口的Web 2.0 Mashup相比,有效地展示了开放的、基于标准的关联数据架构的优势。主要的关联数据搜索引擎有:Sindice、Falcons、SWSE、VisiNav、Swoogle等。另外,传统的搜索引擎Google不仅利用Web上的结构化数据来丰富检索结果,还开始利用抽取的数据直接回答简单的实际问题,这充分显示了主要的搜索引擎已经开始向依靠Web上的结构化数据的“回答引擎”(Answering Engines)转变。
2.2 特定领域的关联数据应用
特定领域的关联数据应用主要是针对特定需求而构建的,它们涵盖了特定用户群体的需求。根据2010年10月CKAN的统计数据[5],LOD云图中共有207个数据集,涉及的领域主要有:政府、生命科学、新闻媒体、地理、用户产生等7大类。目前,特定领域的关联数据应用也主要集中在这些领域。
(1)政府领域的应用
关联数据的应用有助于增加政府的透明度,如Data.gov和Data.gov.uk网站以关联数据形式整合和可视化政府数据,为公众提供服务。GovWILD[6]是哈索普拉特纳研究所和IBM Almaden研究实验室的一个合作项目,它以开放的政府数据为基础,集成了政治家、政党、政府机构、基金、公司和工业领导人等数据。这些相互关联的数据在Web界面上以可视化的方式显示,可以用来揭示隐藏的政府、企业和个人之间的连接,以及反映政治和工业网络中的潜在关系。
(2)生命科学领域的应用
目前,生命科学方面的关联数据较为丰富,相关的应用也相对多一些。例如,Linked Life Data[7]整合了UniProt、PubMed、Entrez Gene等20多个数据源,提供集成的检索和浏览服务。NCBO Resource Index应用[8]为了支持用户浏览生物医药资源,利用了200多个现有本体中的知识。Diseasome Map应用[9]整合了不同生命科学的数据来源,生成“由已知的疾病和基因联系关联的疾病和疾病基因网络,能够说明许多疾病的常见遗传起源”。
(3)教育领域的应用
关联数据应用可以帮助教师创建和管理学习资源。例如,Talis Aspire[10]。通过Talis平台为每个资源、资源列表、作者和出版者分配URI,来存储、管理和访问关联数据。教师和学生通过方便的Web界面进行交互,他们创建的数据以RDF格式存储,使得Web上分散的相关的个人列表和资源被连接起来,丰富了支持教育过程的资料范围。
(4)用户日常工作和生活中的应用
这类关联数据应用的目的是把关联数据带到用户的日常工作和生活中,例如DBpedia Mobile[11]、dayta.me[12]、Paggr[13]等。DBpedia Mobile是帮助旅游者了解城市的关联数据应用,dayta.me通过增强的在线日历向用户推荐即将推出的有关活动,Paggr提供个性化聚合Web数据的环境。
(5)在社会书签工具和Wiki环境中使用关联数据
Faviki[14]将DBpedia、Freebase等关联数据源作为背景知识按照主题来组织书签,能够有效地避免歧义。另外,在Shortipedia、Semantic MediaWiki等Wiki环境中也开始使用关联数据。
3 关联数据应用的体系框架及关键问题
3.1 关联数据应用的体系框架
关联数据应用的一般实现流程是:
(1)通过不同的方式访问LOD云图中的关联数据。
(2)将获取的RDF数据进行映射解析、提取、合并等处理后,形成虚拟的或者是实际的RDF数据库,具体的应用服务可以通过RDF API或者SPARQL访问RDF数据。
(3)数据提供者或数据消费者将经过增值的数据发布为关联数据。
关联数据应用的体系框架主要由6部分组成,具体包括关联数据访问器、关联数据整合器、关联数据存储器、关联数据应用服务调度器、关联关系构建器和数据发布组件。具体框架如图1所示。
图1 关联数据应用的体系框架示意图[15]
(1)关联数据访问器。主要是从数据Web中获取关联数据,可以从LOD云图中的数据源中直接获取(RDF DUMP下载、SPARQL端点查询),或者通过关联数据搜索引擎进行获取。
(2)关联数据整合器。主要进行数据抽取、清洗以及识别跨多个来源的同一实体,将数据转换到统一的结构中,形成增值的数据融合结果。主要功能包括:将不同来源的数据进行模式映射、关联数据的具体解析、关联关系的链接提取,以及同一实体数据的合并。
(3)关联数据存储器。对于整合后的关联数据,主要以RDF格式保存,可以临时性缓存整合后的结果,或者采用一个永久性的存储设备来保存。RDF存储主要是对RDF数据进行管理。
(4)关联数据应用服务调度器。在RDF数据的基础上,提供标准的访问和调用接口,如SPARQL端点查询、RDF API等,以便将整合和集成后的关联数据融合到具体的服务中。
(5)关联关系构建器。数据提供者利用关联关系构建器,在自身数据之间建立关联关系,以及建立与LOD云图中其他数据源之间的关联关系。同时,还可以作为关联数据的消费者,利用现有的关联数据为自身数据增值。
(6)数据发布组件。将应用所产生的新数据开放为关联数据,作为数据Web的一部分,重新发布到LOD云图中,以便为其他人共享。
3.2 关联数据应用要解决的关键问题
(1)关联数据的查询与访问
访问关联数据的基本方法是通过RDF描述中的HTTP URI,通过遍例RDF链接来发现其他的数据源。利用SPARQL端点、RDF DUMP数据集可以直接访问关联数据,如ARC、Jena等都包含支持SPARQL查询的函数库,DARQ、SemaPlorer等支持SPARQL联邦查询。另外,通过关联数据搜索引擎也可以间接发现关联数据。访问关联数据方法的选择主要依赖于应用系统的实现架构模式。如果同时查询多个关联数据源,还需要解决联邦查询的效率问题。Haase等[16]分析了目前基于关联数据的联邦查询方法,以及不同设计方法的查询性能和可操作性,根据定义的联邦查询过程基准,通过实验分析了不同方法的优缺点。
(2)不同关联数据源的词表映射
不同的关联数据来源可能采用不同的RDF词表,为了尽可能理解Web数据,为用户提供整合的清晰的数据视图,关联数据应用需要将不同的术语转换成统一的目标模式。转换工作主要依据词表将数据映射成本地的数据模式,另外,还需要依据人工产生或者经过数据挖掘得到的映射规则进行转换。Google Refine支持人工创建映射规则,OpenII Framework提供了模式聚类方法来支持映射规则的产生。Nikolov等[17]、Bilke等[18]提出了从实例中进行机器学习生成映射规则的方法,这种基于实例的方法在关联数据的环境中可能会产生良好的效果,因为Web上大量的实例数据可以用于训练。
(3)实体对象的识别与解析
对于关联数据应用来说,同一实体对象的识别是一个关键问题。在现实中,不同的关联数据源对同一个实体(如人、地点、概念)采用了不同的URI来标识。在LOD云图中标识对象的标签和名称也不完全匹配,对于作者、刊名、会议等实体的消歧是一个重负。有的数据来源可能会提供owl:sameAs链接指向其他数据来源中的同一个实体。不管关联数据是否提供这样的链接,关联数据应用都需要采用启发式标识解析来发现其他的链接。为了简化本地数据的处理,关联数据应用一般通过采用单一的本地URI,来解决URI别名和本地实体的表达问题。Silk Server[19]是免费的重复对象识别工具,sameas.org服务可以发现不同数据源中同一实体的URI。在实际应用中,可以利用这些工具和服务进行实体对象的辅助识别。
(4)关联数据的冲突处理
对于来自不同数据源的同一实体对象,需要进行冲突处理。处理关联数据冲突最简单的方法是显示所有数据,不过显示时需要根据数据质量打分情况进行排序。目前的关联数据搜索引擎多采用这种方法。另外,还可以采用过滤的方法处理关联数据冲突。为了避免为用户显示质量不高的数据,关联数据应用需要过滤掉没有通过质量评估的数据。WIQA[20]采用了不同数据质量的评估策略来过滤Web数据,在具体的应用中可以借鉴。处理关联数据冲突最复杂的方法是数据融合,数据融合主要是对来自多个数据源的描述同一实体对象的数据进行整合和集成,数据融合的主要问题是数据冲突的决断。例如,当多个数据源对同一实体属性有不同的描述,需要决定以哪个数据源的描述为准。对于数据融合的处理,目前已经有一些研究成果,如DERI Pipes[21]和KnoFuss[22]支持多个数据源的关联数据融合。
(5)关联数据质量的评估
因为关联数据源中可能存在过时、不准确或者错误的数据,所以关联数据应用应该考虑关联数据的质量及RDF链接准确性的问题。关联数据应用需要设置一个RDF过滤器,进行垃圾数据的过滤,以及优先获取高质量的数据。根据质量的判断指标,数据质量评估的方法主要包括三种[23]:基于内容的评估方法、基于上下文的评估方法和基于评分的评估方法。
①基于内容的评估方法是将数据内容本身作为评价指标,分析数据内容或者将数据与其他相关的数据进行比较;
②基于上下文的评估方法是利用关于数据内容和数据创建的元数据作为指标进行评估,最简单的评估指标是按照时间来判断;
③基于评分的评估方法主要是根据数据本身的质量、数据来源或者数据提供者的权威性进行判断。
4 构建关联数据应用的几点建议
在实施具体的关联数据应用时,除了需要解决上述的关键问题之外,为了给用户提供更好的服务,还需要重视数据关联关系的利用和建立、结果展现方式、查询效率、数据的有效性等方面。具体如下:
(1)重视数据之间的关联关系的利用和建立
要想发挥关联数据的作用,就需要充分利用现有数据之间的关联关系,以及根据实际需要建立新的关联关系,因为关联关系是资源发现和资源扩展的重要基础。在数据关联的范围方面,不仅要在图书馆数据的内部建立连接,还要实现与Web上的高质量数据建立链接。例如,LOCAH(Linked Open Copac Archives Hub)项目[24]研究Archives Hub与其他数据源包括DBPedia、GeoNames、BBC、OCLC规范文档VIAF、美国国会图书馆主题标目LCSH之间的链接。项目的重点是在不同的数据源之间创建新的内容链接,为研究者提供可以揭示主题、人物、机构及地点之间新的链接。
虽然关联数据源增长速度很快,但领域分布相对集中,高质量的、最新的数据相对较少。在具体应用时,需要根据实际情况从其他权威数据源获取数据并建立关联。例如,VIVO项目[25]的数据来源:从PeopleSoft数据库中获取活跃研究人员、所属机构、课程信息等,从客户Oracle数据库中获取基金信息,从PubMed获取出版信息以及通过被Cornell大多数学员所接受的名为Activity Insight报告系统获取教员报告的公开信息。
(2)加强关联数据应用的直观展现方式
从用户的角度来看,关联数据的最大好处是可以提供多个分布式异构数据源的整合的关联的访问,将来自不同数据源的同一对象进行集成,返回关于该对象的所有相关信息的统一视图。目前,关联数据应用在关联数据的导航和检索结果显示方面还不太符合用户的使用习惯,需要改变为用户提供应用服务的角度和焦点,因为一般的用户并不熟悉RDF格式的数据。DBpedia、SemTechBrowser等开始按照实体对象的类型,提供方便直观的关联数据分面浏览服务。Dadzie等[26]对现有关联数据的浏览和可视化的方法进行了调查,从基于文本的浏览和带可视化选项的浏览,比较分析了不同方法之间的差异以及各自的优势和局限性。开放书目项目(Open Bibliography Project)[27]正在研究有效的展示关联的书目记录的方法,以显示关联数据技术的优势。另外,关联数据提供了资源之间的关联和链接,图书馆可以利用关联数据源中的关联关系,进行知识内容的关联和深层展示,实现人员、机构、研究成果、会议、项目等多类型知识内容的整合,为用户提供多层次知识关联集成服务。
(3)重视关联数据应用的查询效率
随着开放的关联数据数量的快速增加,也给关联数据的使用带来了信息访问和查询效率的问题。查询和获取关联数据的方式主要有三种:
①抓取模式,指事先从已知的关联数据源获取数据,并存储在本地。采用这种模式的应用,查询速度快,但需要解决数据及时更新问题。
②动态链接遍历模式,指根据不同数据源之间的关联关系,逐层进行遍历。采用这种模式的应用,需要考虑遍历的深度。
③联邦查询模式,指不知道与哪个数据源有关联,同时查询多个关联数据源。采用这种模式的应用,需要解决查询效率问题。
具体采用哪种模式主要取决于实际的关联数据应用需求。有很多关联数据源提供DUMP RDF文件的下载,对于时间响应要求高的服务,可以预先下载关联数据集进行处理,融合到服务系统中。对于需要实时查询的应用,尽量选择那些服务稳定的数据源,以及同时能涵盖多个来源的数据源。例如,FactForge[28]整合了DBPedia等8个LOD数据源,包括了404 796 665个实例。FactForge采用Ontotext的BigOWLIM作为后台,对收集来的数据进行清洗,并索引到一个语义库。
(4)关注关联数据的质量和有效性
随着关联数据网络的不断扩展,关联数据的可用性和可提供性将变得越来越重要,如何提供给用户最可靠、最适合、最相关的数据是关联数据应用的一个重要问题。对于关联数据质量评估方法,有研究者提出了一系列的评估标准[29],如从内容方面(Content)、表达方面(Representation)、使用方面(Usage)、系统方面(System)等进行评估,在具体应用时可以借鉴。另外,还要充分注意关联数据的有效性问题。由于关联数据是开放的,允许任何人发布关联数据到Web上。一旦关联数据源有所变动,数据源之间的关联可能会产生断链,会引起基于关联数据的应用随之也发生错误。因此,保证URI的完整性、准确性和有效性对于关联数据应用尤为重要。关联数据应用应提供关联数据源的监控插件,来监测发生问题的关联。
5 图书馆开展关联数据应用的建议
截至2010年10月[5],图书馆和教育机构发布的数据源达到68个,RDF三元组占LOD云图总数的8.08%,发布的数据集数量最多。由此可见,图书馆界在关联数据发布方面已经取得了一些成果,同时图书馆界在关联数据应用方面也正在进行尝试。目前,进行关联数据发布和实践的多为国家型图书馆(如瑞典、美国、德国、英国、法国、匈牙利等)、图书馆联盟机构(如OCLC、JISC)、大学图书馆(如Open University)等。JeromeDLA语义数字图书馆未来也将采用关联数据源来改善数字图书馆服务的整合与集成[30]。
从目前已经发布的关联数据源情况以及开展的一些项目案例来看,图书馆可以考虑在以下几个方面开展关联数据的应用:
(1)利用关联数据改善检索服务系统的效果
一般来说,检索服务系统在作者检索、主题检索上都存在一些不足,如对不同形式的作者检索不全、没有提供扩展检索服务等。可以利用关联数据来改善现有检索系统的服务方式,采用规范文档和词表提供扩展检索服务(如同义词、上位词和下位词扩检)。例如宾夕法尼亚大学利用关联数据形式的LCSH,与OPAC记录整合,扩展了用户检索和发现服务。目前,国外一些图书馆已经把主题规范文档、人名规范文档等发布为关联数据,图书馆可以将网上分散的、不同语种的规范文档进行整理和集成,改善检索服务系统的效果。在实际应用中,要注意关联数据源中的关联关系的有效性。有些关联数据源的关联链接是自动生成的(如Colibrary与Freebase),这个关联链接指向的数据可能并不存在,因此使用时需要验证,以确保为用户提供正确的链接。
(2)利用关联数据增强资源的发现服务
通过关联数据可以丰富现有元数据,提供相关资源的链接,加强图书馆与非图书馆馆藏内容的连接。一些图书馆机构已开始关联数据应用的架构设计或开发工作,用于创建、管理、传递和共享信息,支持资源的发现和导航服务。由阿姆斯特丹大学图书馆与荷兰戏剧研究所合作的关联数据项目[31],主要关注于使用关联数据进行结果内容的扩展。荷兰戏剧研究所把戏剧演出方面的元数据和数字对象(音频、视频、图像、全文)发布为关联数据,在阿姆斯特丹大学图书馆OPAC的检索结果上可以显示来自荷兰戏剧研究所的戏剧演出方面的信息。这个思想主要来自于在图书馆目录检索关于戏剧信息的用户,可能会对实际的戏剧演出也感兴趣。
(3)利用关联数据提供灵活的跨机构数据存取和重用方式
关联数据在大量数据资源的组织和统一管理上具有明显的优势和潜力,为图书馆、高校和学术团体之间提供了更强的跨机构合作和共享数据的能力,也为第三方提供了底层数据便利的存取方式。许多机构联盟开始研究关联数据的标准规范和实际需求,并设计跨国、跨机构的原型系统以证明关联数据可以改善资源的组织和存取方式。目前,一些多机构合作开展的项目(如Europeana、LOACH、NDIIPP、OREChem等)通过采用关联数据原则以灵活的数据方式开展合作,实现数据共享的最大化和数据管理的方便性,使机构内部、机构联盟能最大限度地重用数据。值得一提的是NDIIPP数字长期保存项目[32]舍弃了传统的数据管理方案,采用基于关联数据的方案,来加快实现NDIIPP以灵活弹性的方式共享、揭示资源的目标。
(4)利用关联数据进行知识处理和知识挖掘
鉴于关联数据本身具有的关联特性,自关联数据产生开始,它就与知识组织、知识处理等方面有着密不可分的关系,不少研究都在相关工作中进行了探索。Sheng等[33]认为,由于关联数据具有更强的信息关联特性,更适合信息检索和数据挖掘。Huang等[34]利用关联数据为从文本文档中抽取出来的常见模式生成语义标注,该方法可应用于恐怖主义网络分析和生物学网络分析领域。关联数据在促进知识组织、知识处理方面的作用尚有不少值得深入探索的地方,图书馆可以在这些方面进行思考和研究,发掘关联数据的潜在价值。