METS元数据编码规范及其应用研究,本文主要内容关键词为:及其应用论文,数据论文,METS论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
【分类号】G250.76
1 前言
近年来,随着信息技术的飞速发展,数字信息系统在教育、科研、政府管理等领域内提供日益丰富的信息服务,在社会发展进程中起着日益积极的作用,为了保证数字信息系统能够在社会发展过程中提供持续有效的信息服务,必须要解决数字资源的长期保护问题。
数字资源的长期保护问题近几年已经开始受到国内外图书馆界的广泛关注,并且已经开始启动相关的研究项目。2001年夏,德国哥廷根大学图书馆、美国康乃尔大学图书馆和法国奥赛大学图书馆和清华大学图书馆决定合作进行数学类数字资源长期保存系统的研究与开发,该项目由Springer出版社倡议,于2002年2月正式开始启动。清华大学图书馆在参加该国际合作项目的同时,得到了清华大学校基础研究基金的支持,开始对“数学文档电子化网络”项目进行全面、深入的研究和建设。
建立该“数学文档电子化网络”的宗旨是试图把世界范围内从古至今在数学领域的出版物数字化,集中安放在包括清华在内的几个图书馆,予以长期稳定的保存,并以数字图书馆方式向全球读者提供方便的检索和全文阅览等服务。与以往建立的数字图书馆系统不同的是,这次项目的重点是要实数字资源的长期保存,以达到今后持续利用资源的目的。元数据作为描述数字资源本身及其保护环境的数据,在数字资源长期保护中起着重要作用。而元数据必须按照一定的标准进行封装,才能保证在数字图书馆系统中对保存下来的数字对象进行有效管理,实现不同的数字图书馆系统之间的数据交换。清华大学图书馆通过广泛的调研和比较研究,在重点借鉴美国国会图书馆长期保存音像资料经验的基础上,初步制定了一套适用于数学类电子文献资源的元数据保存方案,并且采用美国国会图书馆推荐的METS元数据编码和传输规范作为元数据的封装标准。本文将对METS标准进行详细的分析,并给出应用的实例,希望能给今后的数字资源保存系统的研究提供一些经验。
2 METS元数据编码和传输规范
2.1 METS简介
METS(Metadata Encoding and Transmission Standard)是用来将一个数字图书馆中的数字对象相关的描述性元数据、管理性元数据和结构性元数据进行编码的一个标准,采用W3C(World Wide Web Consortium)的XMLSchema语言表达。该标准由美国数字图书馆联盟DLF(Digital Library Federation)开发,由美国国会图书馆的网络发展和MARC标准办公室负责维护。
METS标准来源于MOA II(Making of America II)项目,该项目由美国数字图书馆联盟DLF主持开发,在搜集、整理美国南北战争以前的美国历史上的珍贵书籍、手稿等资料,并提供相关的检索服务的基础上,探索出一种对数字对象的描述性元数据,管理性元数据和结构性元数据与原始内容一起编码的封装标准。对于一个数字图书馆系统来说,保存和使用系统中的数字对象必须对数字对象的元数据进行有效维护。对于数字对象的有效管理所需的元数据比传统的印刷本资料管理所需的元数据要更为广泛,形式上更为灵活。对于传统的印刷本书籍管理来说,图书馆通常会在馆藏资料中记录其描述性元数据信息,缺乏其它有关书籍组织结构的信息不会对书籍的管理和使用造成太大的影响;但是如果是数字化的书籍,缺乏这些信息将给资源的管理带来很大的麻烦。对于一本数字化的书籍来说,如果仅提供描述性元数据而不提供用以说明书籍组织结构的结构性元数据,那么组成整个数字化资源的各个图像和文本文件几乎无法使用;如果不提供说明数字化过程的技术元数据,使用者无法了解如何精确地还原原始的资料。为了能够保证珍贵资源的持久保存,图书馆必需能够获取这些技术元数据信息,以便定期刷新和迁移数据。上述情况是构建一个数字保存系统时必须要考虑的重要问题。MOA II项目通过提供一种对基于文本和图像资源的描述性元数据、管理性元数据和结构性元数据进行编码的格式部分地解决了这些问题。METS由数字图书馆联盟DLF发起,在MOA II项目的基础上进行了发展,提供一种XML文档格式(METS.XSD)来实现对数字图书馆保存系统中的数字对象管理和交换用的元数据进行编码,从而更为全面地解决了对元数据进行编码和建立关联以便于数据迁移的问题。在实际的系统应用中,依照目前日益被接受为数字信息长期保存系统基本架构的OAIS(Open Archive Information System)参考模型,一个METS文档可以在该模型中充当SIP(Submission Information Package),AIP(Archive Information Package),或者是DIP(Dissemination Information Package)的角色。
2.2 METS规范提供的功能
采用METS规范对数字对象进行编码,可以实现如下几方面的功能:
(1)识别对象内容并且表达其结构
METS文档可以记录组成一个数字对象内容的文件,以及这些文件如何组织成一个完整的内容。组成内容的文件可以是任意的形式,包括:图像文件,可以是JPEG,GIF,TIFF等格式;文本文件或者是编码过的文本文件,如TXT,SCML,HTML,XML等格式;音频或者视频文件,如AVI,MPEG.WAV,MIDI等格式。对于内容的结构组成,也可以是任何的分级结构,包括物理结构和逻辑结构。
(2)链接描述性元数据和数字对象的内容
METS规范本身并不提供描述性元数据的规范,对数字对象采用的具体描述性元数据不作限制,但是提供方法可以指向外部的描述性元数据,或者是通过某种方式包含到METS文档中,对于这些描述性元数据还提供链接指向相关的内容实体。
(3)链接管理性元数据和数字对象的内容
与对描述性元数据处理的方法类似,METS规范本身也不提供管理性元数据的规范,而只提供方法来指向外部的管理性元数据,或者是通过某种方式包含到METS文档中,同时提供管理性元数据和相关内容实体之间的链接。
(4)调整数字内容的行为分配
METS规范提供了一些机制可以实现数字内容和一个定义了所有可能的行为分配的接口之间的链接,以及数字内容和所有实现了该接口的软件之间的链接。
(5)包装二进制的内容
一个METS文档可以以二进制数据的形式包装数字对象实体的内容,也可以以同样的方式包装相关的描述性元数据和管理性元数据,这种特性对于对象的归档非常有利。
2.3 METS文档的组成
METS文档采用XML形式表示,主要包括7个部分的内容:METS文件头(metsHdr)部分,描述性元数据(dmdSec)部分,管理性元数据(amdSec)部分,文件组(fileSec)部分,结构图(structMap)部分,结构链接(StructLink)部分,行为机制(behaviorSec)部分。下面分别对这几部分进行介绍。
(1)metsHdr部分(可选的)metsHdr部分是METS文档的文件头,记录了METS文档自身的元数据信息(不同于所保存的数字对象的元数据),主要包括文档状态,创建和修改时间,标识信息以及创作者Agent信息,Agent元素可以记录METS文档的一个或者多个创作者信息,主要包括:Name(名称);Role(角色),如:CREATOR,EDITOR,ARCHIVIST,PRESERVATION,DISSEMINATOR等;Type(创作者类型),如:INDIVIDUAL,ORGANIZATION或OTHER。
下面是一个简单的metsHdr的例子。
<METS:metsHdr ID="H1" CREATEDATE="2003-08-20T06:32:00"LASTMODDATE="2003-08-22T06:32:00"RECORDSTATUS="A">
<METS:agent ID="A1"ROLE="CREATOR"TYPE="INDIVIDUAL">
<METS:name>Dong Li</METS:name>
<METS:note>测试对象,作为模板使用</METS:note>
</METS:agent>
</METS:metsHdr>
(2)dmdSec 部分(可选的)
dmdSec部分记录该METS文档所关联的数字对象的描述性元数据信息,一个METS文档中可以包含一个或多个<dmdSec>元素。可以通过链接形式指向METS文档外部的描述性元数据,也可以将描述性元数据包装在METS文档内部。dmdSec中主要包括如下内容:
①mdRef 提供一种通用的外部链接的形式来封装元数据,这种情况下描述性元数据本身不包含在METS文档中,而是存储在其它形式的系统中,如OPAC系统中的一条MARC记录或者是WWW服务器提供的EAD检索工具。mdRef中主要包括如下一些信息:
1)LOCTYPE。说明该mdRef元素中所使用的Locator类型,可以是URN,URL,PURL,HANDLE,DOI,或者是OTHER.
2)OTHERLOCTYPE。如果LOCTYPE为OTHER,则用OTHERLOCTYPE指明除了上述列举的Locator类型之外的其它类型。
3)MIMETYPE。所指向的元数据的MIME类型。
4)MDTYPE。所指向的元数据类型,如:MARC,MODS,EAD,DC等或者是OTHER。
5)LABEL。能够在METS文档的阅读器中识别该元数据的标号。
②mdWrap 提供一种通用的封装办法,能够将不同类型的元数据封装到METS文档中。在mdWrap元素中也提供了MIMETYPE,MDTYPE,LABEL等属性来说明被封装的无数据的MIME类型,逻辑类型,识别标号等,除此之外,mdWrap中提供了两种不同的方法来封装元数据。
1)binData。可以封装任意的二进制或者文本形式的元数据,只要是经过Base64编码处理过的。
2)xmlData。可以封装任意的XML格式描述的元数据。
例如:下面是采用mdWrap封装清华大学图书馆数学古籍类型的元数据的一部分例子。
<METS:dmdSecID="DM1">
<METS:mdWrap MDTYPE="OTHER"MIMETYPE="text/xml"LABEL="清华大学数学古籍扩展元数据">
<METS:xmlData>
<thmdm:th_mathdmd>
<thmdm:identifier>1000000</thmdm:identifier>
<thmdm:title>九章算术</thmdm:title>
<thmdm:type>数学古籍</thmdm:type>
<thmdm:creator>
<thmdm:name>刘徽</thmdm:name>
<thmdm:time>三国</thmdm:time>
<thmdm:role>注</thmdm:role>
</thmdm:creator>
<thmdm:contributor>
<thmdm:name>李淳风</thmdm:name>
<thmdm:time>唐代</thmdm:time>
<thmdm:role>注</thmdm:role>
</thmdm:contributor>
<thmdm:subject>
<thmdm:subjectword>数学</thmdm:subjectword>
<thmdm:scheme>中国图书馆分类法</thmdm:scheme>
</thmdm:subject>
<thmdm:collector_stamps>清华大学图书馆收藏印</thmdm:collector_stamps>
</thmdm:th_mathdmd>
</METS:xmlData>
</METS:mdWrap>
</METS:dmdSec>
(3)amdSec部分(可选的)
amdSec部分记录所保存的数字对象的管理性元数据信息,一个METS文档中可以有一个或者多个<amdSec>元素。在一个METS文档中,有4种主要形式的管理性元数据:
①techMD(技术元数据)
技术元数据中主要包含与文件的创建、格式、使用特性等相关的一些信息。
②rightsMD(知识产权元数据)
知识产权元数据中主要包含该数字对象的版权和许可证等信息。
③sourceMD(来源元数据)
包含描述该数字对象来源的描述性和管理性元数据。
④digiprovMD(数字化过程元数据)
记录数字化过程中文件之间的各种关联信息,包括文件间的来源/目标关系,主体/派生关系,迁移/转换关系等。
这4种管理性的元数据,都可以通过mdRef和mdWrap两种方式进行封装。
下面是技术元数据的一部分例子:
<METS:techMD ID="ADM1">
<METS:mdWrap MDTYPE="OTHER">
<METS:xmlData>
<adm:image TechMD USE="REFERENCE">
<adm:compression>JPG</adm:compression>
<adm:bitDepth BITS="O"/>
<adm:colorSpace>RGB</adm:colorSpace>
<adm:resolution>O</adm:resolution>
</adm:imageTechMD>
</METS:xmlData>
</METS:mdWrap>
</METS:techMD>
(4)fileSec部分(可选的)
文件组部分可以包含一个或者多个<fileGrp>元素,每个<fileGrp>中是组成数字对象的某种电子版本的一组文件的列表。例如:可能有几个<fileGfp>分别表示缩略图(jpeg格式),原始图像(tiff格式),对应的文本内容(txt格式)等。
<fileGrp>中可以包含一个或者多个<file>元素,每个<file>元素有一个ID属性,用来在该METS文档中唯一标识该文件,在<file>元素中可以通过<FContent>和<FLocat>两种形式来表示实际的文件。<FContent>形式是直接将二进制形式的内容文件直接包装到METS文档中,而<FLocat>形式则是通过链接的方式指向外部的内容文件。
下面是一个以<FLocat>形式表示<file>信息的例子片断:
<METS:fileSec>
<METS:fileGrp>
<METS:fileGrp ID="GID1"VERSDATE="2003-08-20T6:32:00">
<METS:file ID="DS1"CREATED="2003-08-20T06:32:00"MIMETYPE="image/jpeg"ADMID="ADM1"GROUPID="GID1">
<METS:FLocat LOCTYPE="OTHER"xlink:href="jpeg/00000001.jpg"xlink:title="page1"/>
</METS:file>
……
</METS:fileGrp>
<METS:fileGrp ID="GID2"VERSDATE="2003-08-20T06:32:00">
<METS:file ID="DS475"CREATED="2003-08-20T06:32:00"MIMETYPE="text/plain"GROUPID="GID2">
<METS:FLocat LOCTYPE="OTHER"xlink:href"=txt/00000001.txt"xlink:title="page1"/>
</METS:file>
……
</METS:fileGrp>
</METS:fileGrp>
</METS:fileSec>
上例中,ID为“DSl”和“DS475”的文件都是对应“page 1”的内容文件,但是分别属于2组<fileGrp>,一组是JPEG类型的图像文件,一组是TXT类型的文本文件,其中“DSl”对应表示JPEG图像的技术元数据“ADMl”,“DS475”是纯文本文件,采用缺省的技术处理。
(5)structMap部分(必备的)
结构图部分是METS文档的核心。这部分概括了数字对象的层次结构,并且将对应的内容文件和元数据链接到结构图的相应元素中。在一个METS文档中可以有多个<structMap>元素,分别表示不同类型的结构,如逻辑结构和物理结构。<structMap>中通过一系列嵌套的<div>元素来表示分层的结构,每个<div>元素记载了该结构的类型信息,并且可以包含若干个指向外部METS文档的指针<mptr>元素和指向内容文件的指针<fptr>元素。<mptr>为<div>指定了所包含的一系列关联文件所在的METS文档,这种形式对于大型收藏资源的编码非常有用,可以将一组表示关联资源的METS文档的大小控制在合适的范围。<fptr>指针用来指定该<div>中包含的内容文件在<fileGrp>中对应的部分。下面是一段<structMap>对应的例子,表示的是《九章算术》的结构,每个<div>节点表示书中的一个结构,‘TYPE’属性表示节点类型,对于TYPE=“book”的节点,采用“DMl”标识的描述性元数据来描述。每个<div>的子元素<METS:fptr>用来指定当前节点的对应的起始页的内容文件,以FILEID标识,对应<fileGrp>中的一个<file>元素。
<METS:structMap TYPE="Catalog">
<METS:div TYPE="book"LABEL="九章算术全本"ORDERLABEL="1"DMDID="DM1">
<METS:fptr FILEID="DS1"/>
<METS:fptr FILEID="DS475"/>
<METS:div TYPE="Chapter"LABEL="御制题武英殿聚珍版十韵有序"ORDERLABEL="1">
<METS:fptr FILEID="DS1">
<METS:fptr FILEID="DS475"/>
<METS:div TYPE="Page"LABEL="Page 1"ORDERLABEL="1">
<METS:fptr FILEID="DS1"/>
<METS:fptr FILEID="DS475"/>
</METS:div>
<METS:div TYPE="Page"LABEL="Page 2"ORDERLABEL="2">
<METS:fptr FILEID="DS2"/>
<METS:fptr FILEID="DS476"/>
</METS:div>
<METS:div TYPE="Page"LABEL="Page 3"ORDERLABEL="3">
<METS:fptr FILEID="DS3"/>
<METS:fptr FILEID="DS477"/>
</METS:div>
<METS:div TYPE="Page"LABEL="Page 4"ORDERLABEL="4">
<METS:fptr FILEID="DS4"/>
<METS:fptr FILEID="DS478"/>
</METS:div>
</METS:div>
<METS:div TYPE="Chapter"LABEL="御制题九章算术有序"ORDERLABEL="5">
<METS:fptr FILEID="DS5"/>
<METS:fptr PILEID="DS479"/>
</METS:div>
<METS:div TYPE="Chapter"LABEL="九章算术题要"ORDERLABEL="7">
<METS:fptr FILEID="DS7"/>
<METS:fptr FILEID="DS481"/>
……
</METS:div>
……
<METS:div TYPE="Chapter"LABEL="九章算术后序"ORDERLABEL="471">
<METS:fptr FILEID="DS471"/>
<METS:fptr FILEID="DS945"/>
……
</METS:div>
</METS:div>
</METS:structMap>
(6)structLink部分(可选的)
<structLink>部分用于记录<structMap>部分中的分层节点之间的链接关系,这部分信息在对网站之类的对象进行存档的时候有特殊的作用,对于一般数字资源的存档不常使用。
(7)behaviorSec部分(可选的)
<behaviorSec>部分用来记录METS对象中的内容实体所关联的可执行的行为。每个<behaviorSec>元素中包含一个<interfaceDef>元素和<mechanism>元素。其中<interfaceDef>元素定义一组特定的行为接口,<mechanism>元素则记录实现该接口的可执行模块的信息。这部分内容在目前的METS应用中不常使用,只有Mellon基金会的Fedora项目中有一定的应用。
3 METS规范的应用
随着数字文献的长期保存问题逐渐成为数字图书馆研究领域中的热点问题,METS规范也逐渐被越来越多的信息服务机构采用,开始应用它作为编码和传输元数据的标准,并且在相关的系统中开始应用。目前,已经有若干知名大学和机构开始在实际系统中应用METS,如:美国国会图书馆,OCLC,UC Berkeley,Harvard University,MIT,Stanford University,Connell University等,比较典型的有如下一些应用系统:
(1)美国国会图书馆的Audio-Visual Prototyping Project
国会图书馆的Audio-Visual Prototyping Project旨在探索数字化加工生成的和固有的记录音频和运动图像的数字资源的保存有关的各种问题。保存的格式重定由国会图书馆的运动图像、广播、录音部门,以及American Folklife Center承担。元数据方面的指导工作由国会图书馆的网络发展与MARC标准办公室负责。该项目使用METS对数字对象的元数据进行编码,作为将来的国会图书馆存储系统使用的SIP包(OAIS参考模型中的SIP)。2001~2002年,该项目致力于发展METS,并且开始实现该标准,目前,大约有1000种数字对象已经保存或差不多保存完毕,有3000多种正在处理。有关该项目的详细信息参见如下地址的介绍:http://lcweb.loc.gov/rr/mopic/avprot/metsmenu2.html。
(2)Virginia大学和Cornell大学合作开发的Fedora Project
Fedora项目由Mellon基金会支持,目的是以Flexible Extensible Digital Object and Repository Architecture (Fedora)为基础建立一个数字对象的存储管理系统。该项目提供一个开放源代码的系统,以此为基础可以建立基于Web的互操作数字图书馆,规则库和其它信息管理系统,证实了如何使用基于Web的技术,包括XML和Web Service等技术,来部署数字图书馆体系结构。除了上述这些特性之外,Fedora项目使用METS作为存储数字对象的编码标准,在METS的基础上制定了一个扩展的标准,Fedora项目是目前对METS标准中的<behaviorSec>实现得最好的系统,对对象行为可以进行参数化的控制。目前,该系统中已经经过了容纳100万个对象的性能测试。进一步的信息,可以通过如下地址了解:http://www.fedora.info/index.shtml。
(3)RLG的Cultural Materials Service项目
RLG(Research Library Group)使用METS来组织和存储RLG Cultural Materials服务中的复杂对象。Cultural Materials提供对数字资源及其描述信息的访问。RLG通过生成METS对象来描述包含多个数字对象或者视图的资料。系统中使用XSLT将原始的以XML形式表示的资料转换为METS格式,当通过Web访问Cultural Materials中存储的该资料时,就可以看到该METS对象所记录的相关数字资源及其结构和描述等信息。在Web上展示METS对象也是通过XSLT将其转换为一个HTML表示的实例,采用JavaScript来实现METS对象在Web上的浏览展示。关于该项目的详细情况可以从如下地址了解:http://culturalmaterials.rlg.org/。
除了上述这些典型系统外,还有许多机构已经采用或者计划采用METS作为数字资源保存系统中的一个重要实现,清华大学图书馆正在进行研究和开发的“数学文档电子化网络”系统也采用METS作为数字资源保存的基本编码方案,并且已经取得了一些初步的成果,基本上实现了一个基于清华大学图书馆数学古籍元数据方案的METS对象著录和生成系统。由于篇幅所限,在此就不作详细介绍。
4 结语
通过一年多来的研究和实践,笔者体会到METS作为一种元数据的编码和传输标准,为长期保存数字资源提供了良好的封装模型,为数字保存系统的构建提供了良好的数据模型,为我们进行数字资源长期保存提供了清晰的思路。随着越来越多的系统开始应用METS,也将在实践中推动该标准的制定,随着它的不断发展完善,必将在实际的数字资源保存系统中发挥更大的作用。