艾金勇
摘要:为了解决藏学文献发布使得语义关联度低的情况,该文尝试了利用关联数据实现藏学书目数据的发布,在调查分析藏学文献数据组织现状并研究了关于关联数据发布的技术和方法之后,研究实现了基于D2R的藏学书目数据的发布,并通过实例验证了其可行性。研究结果表明使用关联数据标准发布藏学书目数据,有助于藏学文献数据的公开、复用和传播。
主题词:关联数据:藏学文献:发布
中图分类号:G356.7 文献标识码:A 文章编号:1009-3044(2016)22-0003-03
1 背景
藏学文献是记录有关藏族及藏族地区的知识的一切载体[1],其记录的内容包括了藏族的风俗习惯、生活知识、科学信息、社会事件以及民族文化等,藏学文献的数量浩繁,种类繁多,除去汉文文献之外在民族文字文中位于首位。因此展开藏学文献的收集整理对于传播藏族文化,对于西藏的社会经济文化方面的研究发展都有重要的促进作用,也是藏族生活发展和与其他民族文化融合的基础和前提。
在信息化飞速发展的条件下,藏学专家和藏学文化爱好者也有了日益激增的信息需求,他们希望更多的人关注藏学领域的交流、合作与发展,以便有机会推动藏学研究者们能够在广阔的学术环境中与其他学术交流,扩大藏学发展的途径,开辟更加广阔的藏学研究领域, 推动藏学研究的整体发展。但是鉴于藏学文献管理方式的落后,以及藏学文献收藏机构在观念、体制、资金等诸多因素的制约,使得藏学文献资源的共享检索还未能实现。虽然目前已经有些藏书机构建成了可检索查询的藏学资源库,但是由于数据库建设缺乏统一的规范和标准,而且数据库内容和完成的质量较低,因此在资源的全面性和标准性上都不能满足标准,既没有实现共享检索,也没有实现数据资源的异地共建,所以对于其他藏学研究者来说藏学文献的获取比较困难,更难以说满足西藏经济发展和读者的实际需求。因此,越来越多的藏学研究者希望能够通过现代化技术,制定藏学特色资源库的建设标准,完善藏学特色资源库的管理开发系统,利用网络技术实现资源内容的共建共通,为用户提供多种模式、多载体的可共享的藏学信息资源的检索下载方式,从而形成独具民族特色的藏学文献资源服务体系。
关联数据( Linked Data)根据数据目标的内在联系实现数据的组织和关联,它的提出为实现藏学文献资源的共建共享提供了一种实现方式。当前,在图书馆界已经有了很多关联数据应用于文献资源管理服务的方法,并且对于资源的数字化共享有着很好的推动作用。鉴于此,本文在当前研究的基础上,探索藏学文献数据的关联数据创建问题,使得现代资源库建设的技术更好地服务于藏学资源的管理,从而可以向用户提供藏学文献的语义关联检索,更好地满足藏学文献用户的需求,提高藏学文献的利用率。
2 藏学数字化发展现状
国外在藏学数字化方面的发展比较快。目前美国弗吉尼亚大学已经建成了藏文信息库,包含了基本的检索功能,其所提供的藏学研究论文库已经得到了大规模的使用。美国国会图书馆计划实现佛教大藏经的全文输入,并且通过浏览器可以实现网上关于佛教大藏经的全文查阅。英国牛津大学也单独成立了研究藏文文献的西藏和喜马拉雅研究中心,研究中心目前主要是对于藏文文献的收集和数字化工作,目前已经有了一定数量的积累。国外的这些藏学文献的数字化工作也为我国藏学文献数据库的建设提出了新的挑战,因此国内的藏学收藏机构也加快了藏学资源的现代化建设进程。
但是国内藏学文献资源建设由于受主观与客观条件的限制,藏学文献的主要收录地区--西藏地区缺乏对藏学资源建设的规划,西藏各收藏机构在藏学资源建设的经费和建库方式上都缺乏交流,而且资源库建设中没有成型的建库规范和技术标准,使得藏学文献库的建设质量和数量都有一定的制约。
国内的藏学文献资源数据库建设中主要存在四个问题,一是藏学资源库的服务范围受限,基本都是局域网内的使用,所以数据库建设的方式和检索模块随意性强,互相没有关联和沟通;二是藏学文献本身的分类标准不明晰,不同的藏书机构对于藏学图书的分类方式上存在多种分类法并存的现象,所以各机构的文献信息之间也就不能实行有效衔接;三是资源库的加工标准不一致,且普遍存在数字化过程中重数量,轻质量,导致存在很多的错误数据和遗漏情况;四是藏学资源的数字化技术尚不成熟,各藏学文献资源收藏单位在文献资源的网络化、数字化建设进展缓慢[2]。
3 关联数据及其实现
3.1 关联数据的概念
关联数据是国际互联网协会(W3C)推荐的一种用来发布和联接各类数据、信息和知识的标准[3],主要是为了解决Web网络中的语义缺失现象,通过各类数据、信息和知识的链接发布构建出互相联系的语义网络,改变文件网络的共享传播方式,进而通过互联网构建一个富含语义的、互联互通的知识海洋。
关联数据事物、特性和关系的表达通过RDF模型实现。RDF模型实现资源描述是由主语(Subject)、谓词(Predicate)和对象(Object)三元组来完成的,每组三元组构成一个声明。其中主语是需要描述的对象资源,RDF模型的主语即可以具有数值型属性,也能够为另一资源对象的标识的对象型属性;谓词是关联主语和对象的纽带,也可以用URI形式表示;关联数据通过RDF链接机制实现数据内部隐藏的客观实体与抽象概念的隐含关联,强调数据之间隐含关系的相互关联、联系以及帮助理解的语义信息,用户可以通过语义关联的RDF链接浏览整个知识网络,是实现语义网络的关键,通过关联数据实现了从文件网络向数据网络转化的一种优化策略,利用RDF链接机制实现网络上相关的知识资源的关联。
3.2 关联数据的发布流程
Tim Berners-Lee于 2006 年为关联数据总结了四个原则,成为“关联数据”理念的基石。1) 使用URI来标识事物;2) 使用HTTP URI使人们可以访问到这些标识;3) 当有人访问到标识时,以RDF形式提供有用信息;4) 尽可能提供关联的URI,以使人们可以发现更多的资源对象[4-5]。
沈志宏等人基于该原则,根据科研资源的实际,提出了科研资源关联数据发布的六大关键步骤: 数据建模、实体命名、实体RDF化、实体关联化、实体发布、实体查询[6]。游毅则概括性地将关联数据通过数据转换和Web 发布两步来实现面向网络用户的自由访问、存取和查询[7]。
就藏学文献关联数据的发布而言,本质上就是改变原有藏学文献的发布方式,利用转换工具将原有的藏学文献元数据转换为对应的RDF模型表示,建立资源的URI标识。同时,为了实现藏学文献在语义层面的相互关联,还需要在概念层次和实体上进行关联。最后,对关联数据进行Web发布,最终实现面向用户的数据发现、浏览与查询功能。
基于上述表述,本文关于藏学文献关联数据的发布过程包括三个步骤:首先需要将藏学文献的元数据转化为符合数据模型的RDF三元组形式并赋予元数据中实体与概念以唯一可解析的标识,从而形成适于关联数据环境的资源描述文档。其次,将藏学文献元数据中原本存在的数据关联(如关系型数据库中的主外键关联)转换为文档中实体或概念间的语义链接同时构建指向外部关联数据集的语义链接,从而体现关联数据中藏学文献的语义关联特性;最后还需要利用内容协商机制中的重定向策略或策略将藏学文献关联数据文档发布到网络中,并利用解析或SPARQL查询机制提供适用于各类应用程序的数据访问、浏览与查询功能。
4 基于D2R的藏学文献资料发布
D2R(Database to RDF)将关联数据看作数据表的一种视图,其服务模式是基于数据库和目标RDF术语间声明的映射,能够对关系型数据库产生一个关联数据视图,并支持RDF浏览器和SPARQL端点对关系型数据库的访问,其核心是正确地实现和配置映射关系。基于D2R的藏学文献关联数据发布流程包括数据集的构建、关系数据库及其关联关系的确立、D2RQ(Database to RDF Query)语义映射、使用 D2R发布关联数据。
4.1 数据集的构建
目前藏学图书书目主要参照汉文图书的编目格式CNMARC进行著录,CNMARC虽然从各个方面全面的描述了藏学书目的信息,并且都有严格的定义格式,对于数据的揭示非常完整,但是由于CNMARC一共有几百个字段来进行描述,而对于用户的语义检索而言,大量的属性字段是没有意义的,因此本文选取了能够反映文献内容且能区别于其他书目记录的字段作为元数据本体的属性。
本研究中构建的元数据本体主要是用于描述藏学的图书资源,在图书领域,基于大部分关于图书描述的大型机构均采用Dublin Core作为元数据标准,故本研究选择复用DC元数据构建核心元数据本体,同时由于在图书中还涉及任务的相关信息,所以还重用了FOAF元数据的部分本体属性。然后针对藏学书目数据以作品为中心进行描述,通过链接形式连接该作品某一属性的其他描述形式,通过属性记录之间的关联链接形成一个关于书目知识描述的网络。
4.2 关系数据库及其关联关系的确立
4.2.1 关系数据库的创建
启动SQL Server 2005,建立Tibet 数据库,在Tibet数据库中依次建立作品、责任者、出版者和主题词四个实体类对应的数据表,分别为作品(作品ID,责任者ID,出版者ID,标题,主题,ISBN,分类号,语种)、出版者(出版者ID,出版者名称,所处城市,邮编,隶属机构)、责任者(责任者ID,姓名,性别,国籍,出生日期,出生城市,介绍)、主题词(主题词ID,主题词,上位词,下位词),并分别为各个表设置相应的主键和外键。
4.2.2 内部数据的关联关系的构建
1)不同表之间的关系。数据表即为RDF模型中的实体,不同表之间的关系也就是实体之间的关系,这些关系表现为RDF中的关联链接。在关系数据库中,不同表之间的关系可以根据关系的不同分别加以处理:a.外键引用关联关系的数据处理,这些数据的关联数据发布中需要标识出这种显性构建的关联关系。b.属性关联关系的数据处理。例如出版者和责任者,都有城市属性,表明两者存在一定的关系,则可以d2rq: refersToClassMap map:出版者和d2rq:join"出版者表. 所处城市=>责任者表.出生城市" 来构建这种关联关系。
2)同一表的内部关系。一个表及其列之间存在的一对多的关系,可通过ClassMap及 PropertyBridge 的描述来实现。例如作品表与其诸多列之间,存在一对多的内在联系。这些数据的关联数据发布也需描述出显性构建的关联关系。而对于同一表内所包含的内在实体关系,D2RQ映射语言提供对 SQL语言中的“别名”的支持,即 d2rq:alias区分不同的逻辑对象,再利用d2rq:join进行关系描述[8]。例如可以用d2rq: join“dbo.Subject.Parent_ID=parentSubject.Subject_ID”和d2rq: alias“ dbo.Subject AS parentSubject”来表明来自于主题词表 Subject中的每一个主题词 subject及其上位类 subjectparent之间的等级关系。
4.3 D2RQ语义映射
4.3.1 部署D2RQ平台
D2RQ平台包含D2RQ Mapping Language,D2RQ Engine和D2R Server三个主要部分。其中D2RQ Mapping Language是定义映射规则的声明模式,设定关系型数据和关联数据的映射规则。D2RQ Engine利用可定制的D2RQ 映射文件将关系型数据库映射成虚拟的 RDF 格式。D2R Server是一个HTTP服务器,它主要面向用户提供各种应用的关联数据查询。图1呈现了 D2R 的主体架构。
在使用D2RQ平台之前,需要先对其运行环境进行下载和安装部署,D2R Engine模块在连接数据库时会需要用到对应数据库的JAR插件。因此,连接数据库之前需要根据数据库的版本和信号系在到对应的连接插件,并将其放置到安装路径下的lib目录。为了后期关联数据的访问可以通过HTTP 实现,所以还需要在部署D2RQ平台是配置好Apache HTTP Server。
4.3.2 使用D2RQ工具生成映射文件
D2R的映射语言D2RQ Mapping是基于RDF词表和OWL本体进行描述的,它作为一种声明性语言,通过一系列的映射规则,指定了资源的标识和描述方式。利用generate.bat脚本生成D2RQ语言编写的 RDF 文件,D2RQ语言的语义映射实现有URI模式定义和类与属性的映射两大核心。
4.3.2.1 URI 模式定义
URI是关联数据中资源对象的唯一标识方式,可以通过HTTP协议实现与其他资源的链接和访问。D2RQ 映射语言中URI生成的描述模板机制包括 4种方式[9]: 绝对 URI 模式( URI Pattern),相对URI 模式( Relative URI Pattern)、URI列模式( URI Columns Pattern) 和空节点模式( Blank Nodes Pattern)。
本文采用绝对 URI 模式,即使用 d2rq: uriPattern属性对每个表对象进行配置,形如“Work/@@Work.WorkID@@”,“/”前面的部分为表名,后面@@标记之间表示数据库表中某一列的值。
4.3.2.2 D2RQ映射语言的基本语法
D2RQ映射语言中最重要的是两个概念是类映射(d2rq: ClassMap)和属性映射(d2rq:PropertyBridge)。
类映射d2rq:ClassMap表示 OWL本体或者 RDFS 模式中的一个或一组相似的类,它一般与关系型数据库中一个表相对应。Work类的部分映射编码如下:
d2rq:dataStorage map:database;
d2rq:uriPattern “Work/@ @Work.WorkID@@”;
d2rq: class
d2rq: classDefinitionLabel “Work”;
属性映射d2rq: PropertyBridge 定义了用于表示ClassMap类实例的属性,一般与关系型数据库中表的列相对应,Work类的部分映射编码如下:
map:Work_WorkID a d2rq:PropertyBridge;
d2rq:belongsToClassMap
d2rq:property vocab:Work_WorkID;
d2rq:propertyDefinitionLabel “Work_WorkID”;
d2rq:column “Work.WorkID”;
d2rq:datatype xsd:int;
map:Work_TITLE a d2rq:PropertyBridge;
d2rq:belongsToClassMap
d2rq:property vocab: Work_TITLE;
d2rq:propertyDefinitionLabel " Work TITLE" ;
d2rq:column “Work.TITLE”
d2rq:datatype xsd:String;
D2RQ 映射语言可以自己编写,也可以通过generate-mapping 脚本实现自动编写,自动编写功能基于数据表形成一个“默认映射”的框架,同时为数据库建立一个RDF词表。一般来说为了知识链接的规范化和可应用,需要根据已经发布的成熟的RDF词表修改脚本建立的RDF词汇项。此外,URI的编码方式也可以自己定制,定制成功后D2R服务器会自动检测并重新加载网页。
4.4 使用D2R发布关联数据
启动脚本d2r.server.bat,执行已存在的映射文件,然后在启动关联数据的Web发布服务 D2R Server就可以进行数据的发布。发布的命令格式是: D: /d2r-server/d2r-server outfile.n3,数据发布后,用户即可以利用浏览器通过 http://localhost:2020地址链接D2R Server 的运行入口页面。
5 结束语
为了解决藏学文献发布使得语义关联度低的情况,本文尝试了利用关联数据实现藏学书目数据的发布,在调查分析藏学文献数据组织现状并研究了关于关联数据发布的技术和方法之后,设计了基于D2R的藏学书目数据的发布方法。在后续研究中,还将对论文、图片和音视频等类型的藏学资源进行关联发布,其关键是如何实现不同类型资源之间的关联和聚合,最终构建一个数据关联的语义藏学资源库原型,实现对藏学各种资源的语义化描述和语义检索以及全方位的数据关联,使藏学信息资源的查询和存储更加规范化和科学化。
参考文献:
[1] 吕桂珍. 藏学文献及藏学文献学刍议[J]. 西藏民族学院学报:社会科学版, 1993(2): 33-39.
[2] 更尕易西. 西藏地区藏文文献信息资源共享可行性机制研究[J]. 西藏大学学报:汉文版, 2007(3): 77-82.
[3] 丁楠, 潘有能. 基于关联数据的图书馆信息聚合研究[J]. 图书与情报, 2011(6): 50-53.
[4] Tim Berners-Lee.Linked Data[EB/OL].[2016-03-20]. https://www.w3.org/DesignIssues/LinkedData.html.
[5] 刘炜, 胡小菁, 钱国富, 等. RDA与关联数据[J]. 中国图书馆学报, 2012(1):34-42.
[6] 沈志宏, 刘筱敏, 郭学兵, 等. 关联数据发布流程与关键问题研究——以科技文献、科学数据发布为例[J]. 中国图书馆学报, 2013(2): 53-62.
[7] 游毅. 面向馆藏数据库的关联数据发布研究[J]. 国家图书馆学刊, 2014(5): 74-81.
[8] 白海燕, 梁冰. 利用D2R实现关系数据库与关联数据的语义模式映射[J]. 现代图书情报技术, 2011(Z1): 1-7.
[9] 张静, 马春娥. 如何利用 D2R 发布 Linked Data[EB/OL]. [2016-03-20]. http://www.ibm.com/developerworks/cn/web/1003_zhangjing_d2r/.