摘 要:数字图书馆建设中如何实现元数据的互操作是数字图书馆中元数据组织所面临的主要问题。对元数据互操作方法进行分析,指出元数据映射方法的不足,建议采用基于XML/RDF的标准描述方法解决数字图书馆中元数据互操作的问题。重点研究基于XML/RDF的MARC格式的描述,从而解决传统MARC格式在数字图书馆中应用的问题。这对目前广大图书馆中现存的大量的MARC数据在数字图书馆中的应用具有重要意义。
关键词:元数据 MARC Dublin Core XML RDF
1 引言
对于数字图书馆来说,数据不仅仅包括各种媒体内容信息本身,对信息的描述、对信息访问的控制甚至对信息本身的操作等等都是以数据的形式表现出来的。因此,在如此丰富的数据内容面前,有必要建立对所有数字资源的统一表示,建立数字对象模型,提供与数据具体内容无关的通用高层功能。这些通用高层功能包括对数字对象的存取、由用户或代理进行数字对象的发现、对内容信息的发布或表示,以及进行知识产权保护的访问控制等等。这种高层操作的一致性将允许具有独立结构和内容的多个对象在分布的数字图书馆中以某种方式进行结合,向上层应用以及其他高层协议中间件系统提供清晰统一的接口。所以在对数字图书馆所包含的数据进行统一建模表示进行考察之前,首先需要考察最基本的信息单元,即所谓的“元数据”。
数字图书馆中的元数据包括描述数据内容的元数据和描述服务的元数据,元数据不但可以满足数字图书馆的信息检索服务要求,还可以支持数字图书馆的知识发现。所以元数据技术是数字图书馆中非常重要的一个研究领域,元数据问题解决的质量直接影响数字图书馆的建设[1]。
目前,图书馆正处在纸质文献资源与数字信息资源共存的“混合型图书馆”时代,传统的印刷型文献仍然是图书馆信息资源的重要组成部分和作者服务的重要物质基础,图书馆编目标准是以MARC为主的局面。MARC是图书馆中历史最悠久、应用最广、发展最成熟的元数据格式,大多数图书馆都存有数以万计的MARC格式的书目数据。然而,随着网络的发展,MARC的弊端逐渐显现,DC的出现及其适应网络的诸多特性使其迅速发展并得到网络界的广泛认可[2]。所以,数字图书馆建设中如何实现互操作这些都成为数字图书馆中元数据组织所面临的主要问题。
2 元数据互操作
MARC与DC将会长期共存,互相补充[3]。实际上,不同领域(甚至同一领域)往往会存在多个元数据格式。当在用不同元数据格式描述的资源体系之间进行检索、资源描述和资源利用时,就存在元数据的互操作性问题。也就是说,元数据互操作的目标是在开放的网络信息环境中为大规模的分布信息提供有效的组织结构并实现跨资源库的统一检索。因此,解决元数据互操作的问题对于实现图书馆数字资源的分布形式、动态管理都具有十分重要的意义。并且对于MARC格式在数字图书馆中的良好应用具有重大的意义。
3.1 元数据映射
解决元数据互操作问题的一种方法是元数据映射(Metadata-mapping)。映射是对源元数据方案中元素内容的一组转换,它的结果是使源元数据内容经过适当修改,存储在目标元数据方案的相似元素里。它使得在某个元数据方案中定义的元素内容通过转换被其他相关元数据方案识别和利用,从而实现更大范围的资源共享。
3.2 标准描述方法
解决元数据互操作性的另一种思路是建立一个标准的资源描述框架,用这个框架来描述所有的元数据格式,那么只要一个系统能够解析这个标准描述框架,就能解读相应的元数据格式。XML和RDF从不同角度起着类似的作用。XML通过其标准的DTD定义方式,允许所有能够解读XML语句的系统辨识用XML-DTD定义的元数据格式,从而解决了对不同格式的释读问题[4]。RDF则定义了一个由资源(Resources)、属性(Properties)和声明(Statements)等三种对象组成的基本模型,其中资源和属性的关系类似于实体一关系模型,而声明则对资源与属性的关系进行具体描述。RDF通过这个抽象的数据模型为定义和使用元数据建立了一个框架,元数据的元素可看成元数据所描述的资源的属性。在进行上述声明和定义时,RDF还规定了利用XML的名字空间方法调用己有定义规范的机制,从而可直接在RDF中引用诸如Dublin Core或其它元数据定义。在这种情况下,可以利用RDF来解读所引用的元数据。
3.3 元数据互操作方法的分析
元数据DC与MARC具有的一些共同属性,对于建立它们之间的映射具有很大的帮助,从理论上讲,任何结构化数据都可以转换到另一种,但不可能都是一一对应的,会丢失一些数据。UNIMARC是体系完备而内容及句法复杂的标准;而DC目前仅有15个元素,加上一些限定词,所表达的意义与UNIMARC表述的字段、子字段相差很远。DC与UNIMARC之间的对应关系有一对一映射、一对多映射、多对一映射和无对应映射4种。UNIMARC的结构复杂,基本分为头标区、目次区、数据区及记录分隔符4大部分,在著录时对文献的细节考虑较多,按照薯录规定必须具备的字段与子字段较多:而DC中则不加考虑,即MARC要求的许多必备元素是DC的外部致据,故转换难度很大。
由于CNMARC是基于UNIMARC的,其描述能力大大超过了DC,如何解决两者转换的不确定性是一个很大的问题。此外,汉字的特点给CNMARC的标准化问题及其与DC的转换带来更多的困难。其对应关系可以看出,基于DC的中文元数据与CNMARC之间的映射同DC与UNIMARC之间的映射存在看同样的问题。各个元数据系统在广度、深度、侧重点和覆盖范围等方面存在不同之处,因此它们之间的映射方案也只能是近似的,而且由于各种方案的角度不同,单纯平面的映射关系会带来很多歧义,有时甚至是不可行的,因此这种方法在面对多种元数据格式并存的开放式环境中的应用效率明显受到限制。
元数据映射方法存在上述不足,而元数据标准可扩展标记语言XML和资源描述框架RDF的出现,使得MARC书目数据库和Internet上的非书目数据库的集成成为可能。因此笔者建议采用基于XML/RDF的标准描述方法解决数字图书馆中元数据互操作的问题。
3 基于XML/RDF的MARC书目数据的描述
3.1 基于XML的MARC书目数据的描述
XML的文档类型声明(DTD)机制就是为了定义逻辑结构的限制和支持预定义存储单元的使用[5]。一个XML文档的内容只有各部分遵循相关的DTD限制才能被看作是有效的。定义一个用于MARC描述的XML DTD:
<?xml version= "1.0" encoding= "UTF-8" standalone= "yes" ?>
<!DOCTYPE marc[
<!ELEMENT marc(record)*>
<!AT LIST marc
TYPE(CN | US | UNI)#REQUIRED>
<!ELEMENT record (data field)*>
<!ATTLIST record
type CDATA#REQUIRED
info CDATA#REQUIRED>
<!ELEMENT datafield (subdatafield)*>
<!ATTLIST datafield
tag CDATA#REQUIRED
ind1 CDATA#IMPLIED
ind2 CDATA#IMPLIED>
<!ELEMENT Subdatafield (#PCDATA)>
<!ATTLIST subdatafield
code CDATA #REQUIRED>)>
对此DTD定义作以下说明:<MARC>, MARC内容开始和结束标记,属性type用于标记MARC类型。
<RECORD>,MARC记录的头标区标记,对应于MARC的24byte固定字长的头标区内容,属性有“type”和“info”。
<DATAFIELD>,MARC记录数据字段区的数据字段标记,对应于MARC记录中每个字段的内容,包括字段标识、第一和第二指示符。
<SUBDATAFIELD>,MARC记录数据字段区中数据字段的某子字段标记。
MARC DTD解决了MARC书日数据从严格复杂的规范流格式转换成XML格式数据的问题,为现有大量存在的MARC书目数据库与Internet上其它非书目数据库的信息集成成为可能。
3.2 基于RDF的MARC书目数据的描述
虽然上文解决了MARC元数据的XML描述问题,但是如果没有相应的标记语义说明,那么还是无法理解完整的MARC数据。但是引入W3C的资源描述框架(RDF)就可以解决采用XML标准语法解决无二义性地描述资源对象的问题。RDF的开放性主要在于它的模型(Schema)机制,用户可以根据应用需要,根据RDF模型规范自行定义扩展模式。故在此定义一种MARC模型,使得标准的基于RDF的阅读和检索工具能够理解和使用MARC数据。本MARC模型使用元数据领域通用的Dublin Core元数据模式来做整体说明。以下就是所定义的MARC模型。
<?xml version= "1.0"?>
<rdfRDF
xmlns:rdf}- "htp://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs= "http://www.w3.orgrrW1999/PR-rdf-schema-19990303#"
xmlns:dc= "htp://purl.org/dc#"
xmlns:marc= "htp://lib.tyut.edu.cn/marc#">
<rdf:Descriptionabout=“”>
<dc:Title>MARC元素集</dc:Title>
<dc:Creator>某大学信息与通信工程系</dc:Creator>
<dc:Description>本MARC元素集是一个用于完成电子书目资源发现的元数据元素集合</dc:Description>
<dc:Date>2007-07-01</dc:Date>
</rdf Description>
<rdf:DescriptionlD= "MARCTYPE">
<rdf:typerdf:resource= "http://wwww3.org/1999/02/22-rdf-syntax-ns#Property"/>
<rdfs:label>MARCTYPE</rdfs:label>
<rdfs:conunent>由图书编目人员按照规范给出的MARC类型‘/rdfs:comment>
<rdfs:is Defined By rdf.resource=“”/>
</rdf:Description>
<rdf:DescriptionID= "RECORD">
<rdf:typerdfresource= "htp://www.w3.org/1999/02/22-rdf-syntax-ns#Property" />
<fdfs:label>RECORD</rdfs:label>
<rdfs:comment>MARC记录的24位字符定长的头标区标记</rdfs:conmient>
<rdfs:isDefined By rdf:resource=“”/>
</rdf:Description>
<rdf:DescriptionID= "DATAFIELD">
<rdf:typerdf:resource= "htp://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/>
<rdfs:label>DATAFIELD</rdfs:label>
<rdfs:comment>MARC记录中数据字段区的某数据字段标记</rdfs:cormment>
<rdfs:is Defined By rdiresource=“”/>
</rdf:Description>
<rdf:Description ID= "SUBDATAFIELD">
<rdf:typerdf:resource= "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property" />
<rdfs:label>SUBDATAFIELD</rdfs:label>
<rdfs:conunent>MARC记录中数据字段区的某数据字段中的子字段标记
</rdfs:contment>
<rdfs:isDefinedByrdf:resource=“”/>
</rdf:Description>
基于RDF的MARC元数据表示遵循RDF的相关规范,使得标准的基于RDF的阅读和检索工具能够理解和使用MARC数据,从而解决了传统MARC格式在数字图书馆中得以良好应用的问题。
4 结束语
针对数字图书馆建设的元数据组织问题,对该领域进行了深入研究,既具有很强的理论意义又具备很高的现实意义。DC与MARC各有优点与不足,DC的出现并不是为了取代描述模式更加丰富的MARC,而是为了给编目人员和非编目人员提供一种更加简单的资源描述格式,MARC格式在网络环境下也在不断完善和修改。今后的发展趋势是MARC与DC根据一定的原则长期共存于数字图书馆中、互助互动、相互补充。
5 本文作者创新点
本文针对MARC如何在数字图书馆中良好的利用的问题,认为MARC与DC元数据将并存于数字图书馆,并对二者的互操作方法进行了探讨,建议采用基于XML/RDF的标准描述方法解决互操作问题。在此基础上着重研究了基于XML/RDF的MARC元数据描述技术,从而解决了传统的MARC规范格式的书目数据在数字图书馆中的应用问题。
参考文献:
[1] 肖珑.元数据格式在数字图书馆中的应用[J].大学图书馆学报,1999,10(4):18-24.
[2] 高柳宾.DC元数据在数字图书馆中的应用[D].上海:华东师范大学,2001.
[3] 梁焕平.MARC与Dublin Core两种元数据的比较研究[J].情报业务研究,2004,21(4):110-115.
[4] 王韶红.XML技术在数字图书馆系统中的应用研究[D].长沙:国防科技大学,2001.
[5]陈丽冰,吉永杰.一种基于扩展时态XML模型的索引技术[J].微计算机信息,2006,22(4):301-303.