MARC转换应用研究,本文主要内容关键词为:MARC论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
1 引言
MARC机读目录产生于60年代,1973年成为国际标准,许多国家均以UNIMARC为基础,产生了适合本国语言和文献特征的MARC格式。经过三十多年的实践和发展,MARC在图书馆界得到了广泛的应用,全世界98%的书目数据为MARC格式,只有 2%是由其它格式著录,由此可见,MARC已成为目前图书馆的主要发布信息源之一。制定MARC标准的目的是为了实现书目数据的规范和统一,充分开发和利用文献资源,从而推动国际图书情报部门之间的书目信息交流与共享。但是,一方面由于MARC数据依赖于计算机的硬件、软件和信息管理系统,同时,由于各种机读书目数据格式不尽相同,为了解决各书目服务机构间的机读数据资源共享的问题,格式转换技术就成了图书情报自动化的一个重要组成部分。另一方面,随着计算机技术、网络技术的发展,描述各种信息资源的元数据应运而生。因此,面向Internet的数字图书馆中的MARC与其它元数据的互操作以及MARC与web上其它信息资源的整合问题,就成为MARC研究进程应用中的必须解决的重要问题,而MARC的转换技术是解决问题的关键。因此,对MARC转换应用的研究有着重要的现实意义。本文拟对我国的MARC转换应用作一个系统研究,以期促进MARC数据的进一步的研究、开发与应用。
2 MARC转换应用的研究
2.1 MARC转换应用研究的计量分析
从我国MARC工作的建设初期开始,对MARC的转换研究就一直没有中断过。作者以MARC、MARC转换作为主题,以《中国学术期刊数据库》、《维普科技期刊数据库》作为信息源,分别检索题名、摘要、参考文献、关键词等,去重后共得到有关MARC转换研究论文58篇,其中12篇论文在《现代图书情报技术》期刊上,7篇论文在《现代情报》上,《情报学报》上4篇,《图书情报工作》上3篇,论文分布集中在这4种情报类期刊上,占全部论文的44.83%,说明它们是此类研究主题的核心期刊,MARC转换与现代信息技术息息相关。从时间分布上看,自从我国90年代初引进USMARC以来,MARC转换就成了MARC研究的重要主题之一。MARC转换研究大致可分为两个阶段:(1)整个90年代是我国初步的MARC转换应用研究阶段;(2)从二十世纪初开始是我国MARC转换应用研究的深化阶段。从内容分布上看,MARC转换研究主要包括文本MARC化、非标准文本MARC化、馆藏数据MARC化、CNMARC向Foxbase的转换、MARC向dBASE的转换、UNIMARC与CCF的相互转换、USMARC向UNIMARC的格式转换、基于传统的MARC和基于网络的DC之间的转换等等[1],各种转换技术的研究有利于数据的自由流动,重点研究是基于XML/RDF的MARC元数据描述技术,这种技术使得专用的MARC规范数据格式的书目数据转换成通用的机器可读和可理解的元数据成为可能。
2.2 MARC转换应用的内容研究
2.2.1 MARC初步转换应用研究
由于MARC数据严重依赖于计算机的硬件、软件和信息管理系统,我国图书馆自动化从90年代初到90年代中期、90年代后期分别经历了各自建库到集成系统的开发推广两个阶段,MARC数据由定长格式向变长格式管理转换,因此,90年代MARC初步转换应用又自然的分为两个阶段。
(1)MARC磁带、磁盘版两种形式的机读目录格式向定长数据库格式的转换。
CNMARC是依据UNIMARC标准。同时又根据国内具体情况制订的适合本国语言和文献的机读目录标准。1986年前后,北京大学图书馆在UNIMARC基础上开展自己的机读目录工作,1990年9月,北京图书馆开始发行磁带版和磁盘版两种形式的机读目录,并配套发行有关软件来推广普及它。但是,由于我国当时处于图书馆自动化水平的初级阶段——各图书馆自建数据库阶段,数据库格式不统一,主要产生了一批利用dBASE、Foxbase系列数据库系统开发的图书馆软件,这些系统普遍采用定长数据格式。随着CNMARC数据的推广和普及,许多单位都要求将CNMARC数据转换为自己系统的可读数据[2],抽取部分CNMARC字段充实本单位自建的数据库。但发行的配套软件并没有提供相关的数据转换接口,各单位要求抽取的记录字段也不尽相同,因而,不得不分别开发各自的数据转换程序。为了实现编目数据的“一家一次录入,多家多次使用”的目的,一些专家和公司研究开发了通用的CNMARC[3-4]和USMARC[5]数据到dBASE格式馆藏书目数据库(定长)转换的软件。转换软件的设计主要要处理好MARC字段、子字段可重复性与dBASE、Foxbase系列数据库字段不可重复的关系;MARC字段的可变长与 dBASE、Foxbase系列数据库字段定长的关系;MARC字段到目标库的多种影射关系,包括一对一、多对一、一对多和多对多等的转换关系。编程大多使用了当时较先进的C语言。这些软件的开发、研究和应用对CNMARC的广泛应用起到了很重要的作用。
(2)文本MARC化、简单的馆藏数据MARC化、从DBF格式到ISO格式的转换。
以上开发的一批利用dBASE,Foxbase系列通用书目数据库管理系统软件,在进行图书馆自动化方面作了大量有益的尝试[5]。而且这些软件也积累了大量的数据,对图书馆自动化起到了有益的推动作用。这些起步较早的图书馆已经积累了几万、几十万条数据。但是,随着图书馆自动化水平的提高,规范化和标准化要求日益提高,这些软件以及它们产生的普遍的定长数据格式在资源共享和公共检索方面,越来越表现出其局限性,在处理书目信息的超长部分和字段重复部分显得力不从心。一方面,信息的残缺势必影响公共查询系统中文献的查全率和查准率,影响检索结果的正确性。同时由于标准化程度低,各馆数据一致性差,因而无法用于馆际交换、资源共享。在这种情况下,我国一些信息技术公司或图书馆开发了一些适应标准化需要的软件,例如,丹诚管理软件、汇文系统、ILAS系统等,采用了MARC标准化数据格式。能处理变长数据的图书管理软件成功地解决了图书馆界多年关心的问题,这些软件得到了广大图书馆的认可。此时,对于原来图书馆已建的大量的文本数据、非标准文本数据、DBF格式数据等如何转换成ISO标准格式就成了90年代中后期重要和迫切的工作。
对已经建成的非标准简单书目数据库的图书馆,要将这些数据MARC化,可以有几种不同的选择与处理方法[6]。但是,为了充分利用原有成果,减少浪费、节约成本,一般都是通过本馆的技术人员将原有书目数据库转换成MARC格式,再购买相关数据源,利用别人的标准数据对自己转换成MARC格式的数据进行回溯校验及修改。
针对各馆数据的不同情况,转换方法也各不相同,一般有两种转换选择:①自编程序转换;②利用软件公司开发的转换软件转换。由于MARC的复杂性和各馆技术人才的缺乏,大多数馆都选择后者。例如,利用丹诚公司的DBF格式到ISO数据格式的转换软件。对于一些图书馆原来以文本或非标准文本形式存储的、并没有按照MARC格式字段形式来划分各数据字段的书目数据库,要利用以上程序转换数据,还必须将文本数据转换到DBF格式。首先,自编拆分程序将各字段拆分成标准的子字段形式,存放在DBF文件中,然后,根据该文件中各字段的长度及顺序修改其转换配置文件,再运行该转换程序即得到标准的ISO2709文件。转换设计的关键是处理好原数据库中的字段与CNMARC的字段内容的对应影射关系。
由于图书管理的标准化集成系统很好地解决了 MARC标准的字段可重复性及数据可变长问题,90年代后期,标准化图书管理系统得到了广泛的推广应用,使得我国图书馆自动化水平上了一个新的台阶。
2.2.2 MARC转换的深化应用
20世纪初,标准化图书管理系统已得到了普遍应用,各馆都开展了大规模的书目回溯建库工作,图书馆数字化建设得到了前所未有的发展,大大促进了图书馆的现代化管理和服务,促进了书目资源的交流和资源共享。联合编目中心,联合书目数据库、网络采购等应运而生。但是,因不同机构间使用的系统不同或著录的MARC有差异等,以上的一些应用仍然涉及到MARC之间的转换(例如,USMARC与CNMARC[7]、USMARC与UNIMARC等的相互转换)、MARC与其它数据的相互转化或整合应用(例如,多种征订书目的整合[8]、高校图书馆与教务系统中读者信息的转换利用[9])等。同样涉及到不同结构的数据格式转换,其转换的方法和技术仍主要是处理好不同格式数据间字段的对应关系。
与此同时,90年代后期,发达国家信息网络化发展迅速,但是由于MARC过于详尽和复杂等不足,使得它不能适应网络信息的数量大、更新快、发展迅速的需要,为此,1995年由OCLC和NSCA发起了DC元数据的研究,1998年9月,DC被IETF(因特网任务组)正式接受,作为正式标准发布。很快DC在网络信息和数字图书馆的信息组织中得到广泛的应用。同时,鉴于SGML的复杂难度,难以用于网络的应用开发。1996年专家推出网上SGML计划,进行XML研究,1998年1月XML1.0正式公布。它克服了SGML的复杂性,又弥补了HTML的缺点。如果说,HTML提供了显示全球数据的通用方法,那么XML则进一步提供了处理全球数据的通用方法。而MARC是在20世纪60年代的技术环境下制定的,作为图书馆专有数据格式和数据处理机制的MARC格式目前在许多方面落后于技术的发展,只有在符合MARC格式的专有的应用前端(如OPAC)和支持MARC格式的Z39.50搜索引擎才能准确获取MARC数据,这使大量MARC数据无法通过普通搜索引擎直接向Internet用户提供链接。因此,要使MARC元数据在网络信息资源组织中得到进一步的应用必须解决好两个方面的问题:①实现MARC数据格式与其它元数据格式之间的相互转换;②建立新的描述机制,以便更好地满足网络信息资源的组织与利用。为此,我国从20世纪初开始,主要进行了“MARC与DC的相互转换研究”和“MARC向XML、RDF的转换研究”。
(1)MARC与DC的相互转换
DC(Dublin Core,都柏林核心集)简化了MARC并继承了MARC的15个核心元素。它属于简练、通用的元数据格式[10],而MARC是相对复杂、专用的元数据格式,因此,要实现两者之间的转换,首先要处理好两种格式之间的字段与元素的对应关系。郑清文、李鹏云、陈艳梅等人的文章中[10-12]等分别给出了DC与CNMARC的对应关系表。主要包括三种关系:一对一的关系;一对多的关系、多对一的关系、在实际转换中由于一对一、多对一和无对应关系的转换比较容易实现机器的自动化处理,而一对多的转换比较复杂,故CNMARC向DC的转换处理比DC向CNMARC的转换相对容易一些。但从总体上看,两者能否良好转换都取决于能否有效处理好一对多的转换问题。目前,主要采取人工干预的方法解决,对于大量或海量信息来讲,这种方法将极大地影响信息资源的真正共享,因此,有关两者的转换还有待于深入研究。
(2)MARC向XML、RDF的转换
由于MARC格式是经过严格限制和校验的数据流格式,通用浏览器无法检索图书馆馆藏目录。可扩展标记语言XML是一种Web应用的新技术,它不仅可以表达元数据,而且可以揭示数据的内容,能够表达网络上各种信息资源,为信息的整理、存储、交换、检索提供有效途径。RDF是一个使用XML语法来表示的资源框架模型,用来描述Web资源的特性及资源与资源之间的关系,其目的是使应用程序之间能够在Web上交换不同的元数据,以促进网络资源的自动化处理。由此可见,MARC向XML、RDF的转换是解决以上问题的重要方法。
王伟红,张福炎[13]利用XML的DTD机制,定义了一个MARC DTD,解决了MARC元数据的XML描述问题;然后,利用RDF的Schema模式机制,定义了一个MARC Schema模式,并结合RDF的容器概念,实现了基于RDF的MARC元数据描述。这些成果使得专有的MARC规范格式的书目数据转换成通用浏览器可识别和检索的元数据成为可能。与此同时,一些图书馆进行了MARC到XML的转换系统的实际开发实验(例如,哈尔滨工业大学[14]、河南理工大学[15]、石油大学[16]等)。系统转换的关键技术是MARC记录的识别与分解、MARC DTD的定义和转换程序的开发。在实际系统开发中,根据编程要求和实际应用的不同需求,MARC DTD的定义方法[17]和简易程度也可有所不同。事实上,以上各校的MARC转换实验所定义的MARC DTD都有所差异,但是,原则上都是根据王伟红,张福炎[13]的文章中MARC DTD定义而来的。
我校为了实现网络信息资源的整合利用,也开发了一套基于CNMARC字典库和XML技术的完整的 XMARC发布系统(注:XMARC是CNMARC转换成的 XML数据格式),本系统与以上各系统的主要差异 (优点)是:(1)除了实现了MARC到XML的转换,还实现了XMARC信息快速检索和个性化显示的功能;(2)根据CNMARC标准建立了CNMARC信息字典库。这一方面,可以简化程序,在解析MARC数据格式为XML树的过程中,根据定义的XML DTD规范,到MARC信息字典库查找、提取构成XML树的一些元素和属性,简化了程序;另一方面,使开发的系统具有通用性、可复用性和可推广意义:由于各国MARC标准不尽相同,就是我国的不同编目中心所制定采用的MARC著录标准也有差异,有了 MARC信息字典库,只需依据不同的MARC标准更新 MARC信息字典库,系统即可复用。
3 MARC向XML转换应用实例
本文设计了一套完整的XMARC发布系统,构建了一套基于B/S三层(表示层,服务层,存储层)体系的系统,实现了MARC到XML转换、XMARC的快速检索、XMARC的个性化显示等三大功能。
系统主要根据CNMARC(中国机读书目)标准,建立了CNMARC信息字典库,定义XML DTD规范,并据此解析MARC为XML树,在数据库服务器端实现 MARC数据库格式到XML文档的转换及数据同步,开发的系统通用性和复用性好,对MARC真正融入 Internet和数字图书馆建设提供了实践经验和参考。
3.1 系统体系结构
图1 系统体系结构
(1)表示层
表示层位于客户端,提供与用户进行交互的界面,完成各种查询工作,该层只提供一个接口。它的任务是接受用户的信息,然后将信息提交给应用逻辑服务器处理,当应用逻辑服务器返回处理好的结果信息时,表示层将该结果显示给用户。表示层的客户端程序除了浏览器(我们目前使用的)外,还可能有其它如VB、VC等开发的客户端程序直接或通过浏览器获取XMARC数据,我们均称为外部系统。
(2)中间逻辑服务层
中间服务层位于应用逻辑服务器端。它集中了系统的业务逻辑的处理,因此,可以说是应用软件系统中的核心部分。它的任务是接受表示层提交的请求。首先需要执行相应的扩展程序同数据库进行连接,通过SQL等方式向数据库服务器提出数据处理申请或将用户输入的数据按一定的格式保存到数据库,而后台数据库服务器将数据处理的结果转交给应用逻辑服务器,由应用逻辑服务器上的中间件完成对 XMARC的快速检索和显示。表示层目前有两种形式: IE浏览器和外部系统。为了考虑数据的安全性和快速查找,基于XMARC数据平台,分别提供了两个接口:针对IE的XML服务模块和针对外部数据的对象服务模块。这两个接口都检索XMARC数据。
(3)存储层
存储层位于数据库服务器。它的任务是接受应用逻辑服务器对数据库的操作请求(查询、添加、修改和删除)和MARC数据到XML文档的转换及数据对象自身的同步。
3.2 系统核心转换模块
MARC-XML转换模块是整个系统的核心,该模块功能通过解析MARC,同时按XML DTD规范到字典库中查找并提取相应字段、子字段信息,生成XML树。同时建立XMARC的快速检索索引字段信息。最后将 XML树和检索索引字段信息按照设计要求更新到表 XMARC_DATA。其设计图如2所示。
图2 MARC-XML转换模块
3.3 系统的实现
本系统应用了Oracle 9i数据库和Windows Server 2003操作系统、IIS服务6.0、Oracle 9i客户端驱动和IE浏览器6.0。用Visual C++进行转换编程。Vi suaI C++可以说是现在最通用的开发工具之一,它提供了相当齐备的类库和友好的编程界面。VisuaI C++对数据库的访问技术(如:ODBC、DAO、ADO)成熟,功能强大。尤其ADO技术使得VC++编程更具如下优点:简化的开发过程;灵活多变的开发形式;更快捷的数据访问;更强的扩展性。系统已开发完成并进行了测试,运行良好。
4 结束语
MARC转换应用研究在我国图书馆自动化、数字化建设和发展中起到了重要的作用,特别是MARC与 DC的相互转换、MARC到XML的转换研究,为MARC数据在Internet网络和数字图书馆中与其它元数据实现互操作或与多媒体等其它形式的信息的集成成为可能。但我们同时也看到,我国与发达国家相比,无论是对MARC自身的研究还是对MARC转换应用实践研究方面都还有差距。我们只有将MARC与日新月异的现代信息技术和网络技术相结合研究,才能更好地发挥其信息组织与利用的作用。
(收稿日期:2006-10-16)