开放元数据机制:理念与原则,本文主要内容关键词为:理念论文,机制论文,原则论文,数据论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
分类号 G250.7
CLASS NUMBER G250.7
1 元数据的性质
元数据(Metadata)是关于数据的数据[1~2]。作为元数据描述对象的“数据”,实际上可以是任意层次的数据对象,例如传统的内容对象(图书、期刊、文件等),也包括内容对象组合(例如由若干文本、图像和音像组成的课件)、内容对象资源集合(图书馆、网站、数据库等)、资源集合知识组织机制(分类表、叙词表、语义网络等)、基于资源集合的信息系统管理机制(使用控制、个性化定制、知识产权管理、长期保存等)、以及信息系统本身。元数据就是对这些数据对象规范描述所形成的数据集合,通过计算机可读的开放语言来标记这些元数据,就能在系统间发现、交换、转换和理解相应的数字对象,支持系统间互操作。
从上述概念出发,可以利用元数据对信息系统逐层描述[3],最初一层是信息内容格式元数据,对组成各类内容对象的内容结构进行描述标记,例如SVG、MathML、SMIL;第2层是内容对象元数据,例如MARC、DC、VRA、Core等;第3层是资源集合元数据,例如RSLP CDS等;第4层是组织与管理机制元数据。例如VocML、XTM、PICS、ODRL、XACML、CEDARS等;第5层是信息系统过程与信息系统模式元数据,将对信息系统过程和信息系统进行描述,例如WSDL、WSDL、WSFL、ebXML BPSS等;最底层元数据是宏元数据(Meta Metadata),对描述元数据的标记语言、格式语言、复用共享机制、转换机制等进行描述,例如XML、XML Namespace、RDF、XSLT、UDDI等。
鉴于这种概念和目标,元数据不再仅仅是描述内容对象的工具,而是基本的信息组织和系统组织方法,为信息系统各层次内容提供规范的定义、描述、交换和解析机制,为分布的由系统环境提供互操作和整合的纽带,为计算机智能地识别、处理、集成各种信息内容、信息过程和信息系统提供有力工具。
2 元数据的复杂互操作环境
在分析和开放的网络环境中,对信息系统各层次内容进行定义和描述(即元数据应用)已不是一个本地和静态的问题,而是一个开放、动态和全局问题,因此必须对元数据应用所涉及的复杂互操作环境进行分析,理解这种环境对元数据定义、交换和互操作的要求。
以内容对象元数据为例:
(1)由于应用需求的多样化和开发主体的多元化,现实环境中已经而且必将继续存在多种元数据格式,它们分别针对不同的描述目的,例如发现与确认、著录描述、资源集合组织、资源利用管理、系统功能管理或过程控制等。而且,基于这些元数据格式,已经积累了大量元数据资源。
(2)不同系统对同一数字对象往往有不同应用需要和描述角度,例如,提供资源发现服务的系统只需描述基本内容特征,承担复杂服务的图书馆则要求详细著录,教育应用系统还要说明其教育学目标参数和教学过程参数,而长期存档机构将对技术制作、使用、更新迁移参数进行记载。至于组织、管理和过程元数据,不同系统更是有不同描述内容要求。
(3)但是,同一数字对象又可能在不同时期或不同系统内被组合到不同的内容集合、应用功能和系统过程中,例如一个数字图像,在博物馆A作为单独的数字对象,而在学校B则作为教学参考图像与其他图像、文本和音像资料一起被组合到课件中。而且,组合可能是动态的,一个图像可以不同方式被组织到不同课件中,一篇文章可以被组织到不同文集或“动态期刊”的不同层次位置。
(4)而且,数字对象经常在系统间被交换,它们的某些元数据(例如关于内容特征的元数据)可能不变,但另外一些元数据(例如关于应用结构、知识描述机制、使用控制、知识产权、长期保存等数据)则都可能随系统而变化。
图1 元数据的开放互操作环境
图1描述内容对象元数据在开放环境中动态生存环境。对一个内容对象进行描述和利用中涉及的元数据内容,其内容结构(例如对象组合)、组织机制(例如资源集合的物理组织与标识、知识组织体系)、过程机制(例如面向应用的描述内容、资源评价)、管理机制(例如使用控制、知识产权管理、长期保存)等,都将随内容对象的动态组合和迁移而变化和重组,而且这些变化和重组是在开放的多元化元数据环境里进行。因此,从降低元数据应用成本、提高互操作性出发,希望能复用不变的内容;从提高描述针对性和应用效率出发,希望能根据自己需要来定义相应的元数据内容;在此基础上,利用多元化元数据的交换、转换、复用来支持系统间的互操作。
这种情况下,如果设计一种统一“标准”元数据格式,这个格式可能只是对众多层次、不同目的、复杂应用和独特要求中的共通部分的简单取齐,不可能真正适应复杂需要;而且,由于试图包罗万象,大大增加设计和应用成本,大大增加应对发展变化的难度。
3 元数据的开放设计要求
为了在复杂互操作环境中有效设计和应用元数据,需要新的元数据范式,称之为开放元数据体系,它的主要设计原则与方法包括[4~5]:
(1)模块化(Modularity),指按照所描述的信息系统内容,将元数据划分为针对不同层次、功能或应用的逻辑模块,每个元数据格式只是一个这样的模块,分别对信息系统的不同内容进行描述,分别满足不同的逻辑功能和应用需要。这个模块化可以是横向的,因此可有多个元数据模块从不同功能或应用角度描述同一层次的内容。例如,在内容对象层次,有的元数据模块描述基本内容特征,如DC;有的描述教育资源特征,如IEEE LOM[6];有的描述视觉资源特征,如VRA Core;有的描述地理空间特征,如FGDC/CSDGM[7];有的描述数字图像特征,如NISO TMI[8]。模块化也可以是纵向的,因此可有多个元数据模块分别描述相互关联的不同系统层次。例如,有的描述资源集合,如RSLP;有的描述资源集合查询目录,如EAD[9];有的描述知识组织体系,如XTM或VocML;有的描述使用管理政策,如XACML;有的描述系统流程,如WSFL;有的描述系统本身,如WSDL,等等。模块化还要求抽象化,将元数据与产生、应用、管理元数据的过程分离,支持不同应用过程交换和共享元数据,例如在分布式流通协作系统中,将描述内容对象、流通权限、流通过程、读者的元数据分离,可以根据需要在协作系统间交换和共享特定的元数据,支持流通合作[10]。
各个模块可作为单独元数据,支持专门功能,例如直接以DC支持资源发现。更重要的是,一个模块也可按照应用需要,与其他元数据模块组合成新的应用元数据,支持复杂应用,例如在DC上复用IEEE LOM和VRA的有关元素来描述教育应用中的视觉资源[11];还可通过元数据模块组合的变化,支持不同的复杂应用环境,例如可在DC上分别接入EAD或XTM来支持按结构目次浏览或按分类浏览。另外,可在不改变元数据组合结构和其他元数据模块情况下,对组合中某个元数据模块进行修改、取代或扩展,按照应用系统需要来定制元数据,例如在不修改底层内容对象的DC描述的情况下,通过修改EAD集合结构数据,改变内容对象的组合与浏览方式。当交换元数据时,应用系统可根据需要来析取和共享某些元数据模块,与自己定义或从其他来源复用的其他元数据内容组合,形成新的应用元数据,例如复用描述性元数据,加上自己的使用控制元数据。模块化一方面可以使每个单元数据模块具备Plug-n-play的能力,另一方面通过复用可共享关于元数据元素的定义和描述方法,增加了不同应用元数据间的互操作性。
(2)可扩展性(Extensibility),即整个元数据体系和每个元数据模块都应可扩展,通过复用、嵌接、扩展、修改等方式,根据应用需求灵活地构建和扩展已有的元数据。相对于传统的完整性设计原则(Design for completeness),可扩展性设计原则(Design for extensibility)更加适合复杂的元数据互操作环境。
可扩展性设计的基础是模块化,通过复用、组合和增加不同的模块来形成和发展新的元数据。例如,可采用一个核心元数据模块来描述那些基本和共通的内容,并通过规范的扩展机制,允许应用领域或具体系统根据内容变化或功能需要,复用别的或定义新的元数据模块或元素,核心元数据和被复用或新定义的元数据(称为扩展元数据)共同组成应用元数据。核心元数据保障基本内容描述的互操作性,扩展元数据适应具体系统的特殊需要,而不同系统可在互操作中忽略那些自己不能辨识的扩展元数据,从而减低互操作成本。例如DC Education复用了IEEE LOM的3个元素[12];RSLP则采用DC做核心集,复用vCard元素,自己定义了若干元素和子元素[13]。有些应用格式还可能用自定义的“本地”元素来取代被复用的元数据格式中的某些元素。
可扩展性还体现在基于模块化的元数据细化机制(Refinements)。当需要对元数据元素的描述内容进行细分时,传统做法是为这些元素建立固化的子元素,但按照模块化原则,将为相应子元素建立相对独立的修饰符集(Qualifiers),例如DC在DC.Date下设立created、modified、toverify等修饰符。这种修饰符集具有自己独立的命名域(Namespace),可以看成独立的元素集,例如DCQ命名域,实际上,完全可以复用另一个元数据模块来作为某个元素的修饰符集,在不同环境下复用不同的元数据模块来作为某个元素的修饰符集,或者嵌入其他描述语言来对元素内容进行细化描述,例如复用vCard元数据作为DC.Creator的修饰符集,复用UMLS语义关系集[14]作为DC.Relation的修饰符集,或者复用XrML语言作为DC.Rights的细化描述语言。进一步地,可扩展性要求区分和分别描述元素(或子元素)的内容和内容描述体系(可以是编码体系—Encoding schemes,也可以是标记语言—Markup languages),从而支持不同应用领域或系统灵活地采用不同描述体系来描述元素内容,例如DC.Subject中增加编码体系的描述,因此人们可以选择采用(或同时采用)DDC、LCC、LCSH、MESH、中图法、汉语主题词表、甚至自定义词表或关键词来描述主题内容。甚至,可以将特定的概念集(Ontologies)作为主题内容描述体系[15]。
建立和复用元数据模块的规范机制多采用XML Namespace(命名域)方法。一个命名域对应于一个命名空间,其中每个名称都惟一地定义。可扩展设计原则将元数据格式、修饰符集、内容描述语言、内容编码体系等看成命名域(例如DC、DCQ、VRA、IEEE LOM、DCC、VocML、ODRL等),它们的名称就是命名域名称。当复用多个命名域中的不同元素来形成一个应用格式(本身又是新的命名域)时,可通过被复用的命名域名与元素名的组合(称为修饰名称,Qualified names)来惟一确定来自命名域中的特定元素(例如DC.Title,VRA.Measurements和GILS.UseConstraints),从而准确界定每一个元素的含义。在元数据实际编制中,可使用命名域URI来代表和链接相应的命名域及其定义文件[16]。
为有效支持模块化和可扩展性,要求元数据结构是开放架构(Open Structure),例如在整体上通过层次结构(Hierarchical Structure)来容纳不同逻辑层次的数据,同一层中通过并行结构(Parallel Structure)来保证新数据的可增加、可嵌入,在并行结构中应采取开放罗列方法(Open Enumeration)来保证组合的开放性。
(3)分布性(Distributedness),指元数据结构应能够嵌入那些分布在其他系统的元数据内容,从而更灵活更方便地复用和组合所需要的元数据,尤其是那些已经存第三方系统、有知识产权限制的元数据。不同应用系统还可嵌入不同的外部元数据,例如选择嵌入中文或英文的元数据记录。
具体嵌入时,可利用包含参考链接的虚拟元素在应用元数据格式中逻辑嵌入外部元数据。这个虚拟元素可以针对一个元数据模块,从而嵌入一个相对完整的外部元数据记录;也可以针对一个或若干元数据元素,从而嵌入需要的元素内容;更复杂的情况是虚拟元素可记载有关解析或转换规则,或指向有关元数据挖掘或转换系统,动态地产生和链接所需要的元数据。虚拟元素需要被嵌入元数据的标识和格式等信息,例如,METS格式所定义的外部元数据嵌入方法[17],包括了被嵌入元数据记录的URI类型、MIME文件类型、元数据格式类型、元数据标签和元数据记录URI,支持METS格式的系统可按照指定的URI获取和释读外部元数据内容。
(4)递归性(Recursion),指元数据本身也应被作为信息内容对象,也可有元数据对它们进行描述。例如,对描述某个信息内容对象的DC记录,可有相应的编制元数据和定义元数据,前者描述该实际记录的编制原因、数据来源、编制人员、创建日期、有效日期、下次审查日期、删改权限、阅读或使用权限等,后者定义DC记录的格式与语义。进一步地,对于格式与语义定义元数据,可建立相应的格式转换元数据、概念集元数据、受控词表元数据等,分别说明DC记录与其他元数据格式的映射转换关系、DC元素的语义定义框架和DC元素所采用的受控词表定义。这些元数据在逻辑上分属不同层次,构成不同的元数据模块,可根据需要将它们组合在一起,但不宜捆绑在一个模块中(将限制元数据内容的交换、复用和可扩展性)。例如,当系统A从系统B交换一个DC记录时,它将按自己的格式和内容建立编制元数据,可能需要部分(但不是全部)的格式转换元数据和受控词表元数据。
递归性的实质是要求元数据能被逐层描述、定义、确认和验证,而每一层描述都构成新的元数据,系统能够通过追溯这些元数据来了解元数据是如何一层层定义和描述的,支持对元数据的透彻解析。当这些元数据都是计算机可识别时,可支持对元数据的自动解释。
4 元数据开放设计、应用协议和开放描述
信息系统的元数据应用都是在开放环境下进行,都需要充分考虑元数据的可广泛使用性、可互操作性和可持续性。因此,需要从开放元数据机制角度来设计元数据格式。
(1)元数据应用逻辑框架分析。信息系统在设计元数据时,应该对所涉及的应用领域或应用过程的实体及其关系进行逻辑分析,实体包括物理实体(例如文献、人物、系统)和逻辑实体(例如概念、过程、政策),关系包括内在关系(不随应用环境变换而变化,如文献A描写主题B)和应用关系(由具体应用环境决定,如文献A被图书馆B收藏、人物X在系统Y中具有使用权限Z)。而且,实体和关系还可能具有多个层次。这方面可参照IFLA/FRBR、INDECS、RSLP、SCORM等[18~21]。根据对实体和关系的分析,划分针对不同对象和不同功能的元数据内容,建立面向应用的元数据逻辑框架,以此为基础选择可以复用的元数据模块和内容描述体系,或者自行定义某些专门的元数据模块或内容描述体系。在有条件的应用领域,可在元数据逻辑框架基础上建立元数据词典,以明确的名称、语义、标识号、相互关系和结构来定义所涉及的实体和实体关系,并作为公共工具支持互操作。
(2)应用协议设计。应用协议(Application Profiles)[22~25]指应用系统所建立的元数据应用规范,从若干个元数据模块(Metadata schemas or namespaces)中选择复用合适的元素来组成应用元数据格式,以适应自己的专门需要。对于被复用的元素,应用格式将对其来源名称域、出现次数(Cardinality,例如是否必备、可否重复等)、内容描述方式或规则(包括编码体系、取值范围、标记语言等)、相互依赖关系等作出规定,有些情况下还可对元素的语义进行限定。应用格式还可包括自己定义的元素或子元素,可嵌入第三方元数据内容。
应用协议作为面向具体应用的元数据格式,是实现元数据模块化、可扩展性和适应性的基本工具,可以有效避免应用系统重新设计和定义自己的元数据,可以借助复用的元数据模块促进元数据内容的互操作性。但是,应用协议也需要严格的语义定义和使用规则来保障通过复用和扩展所形成的应用格式的描述清晰性、逻辑整体性、语义一致性和操作规范性。
描述清晰性指复用的元素的定义是清晰和可验证的,明确描述它们来自哪个命名域、如何查询和验证其定义,这一般通过,XML Namespace技术来实现。
逻辑整体性指组合后(包括自定义扩展后)构成的应用格式构成一个能全面和有效描述对应对象的完整逻辑整体,这主要通过仔细分析和选取被复用对象,并在必要时专门扩展新的元素或修饰符,避免为了复用整个元数据模块而引入不必要的元素,避免所复用的某些元素的原始定义不符合当前应用需要,避免复用已有元数据模块后仍不能完整描述信息对象,避免复用后形成的元素集在原始语义覆盖上还存在空白。
语义一致性指组合复用的各元数据模块的元素相互之间不存在语义冲突或交叉重叠。由于人们是在不同应用环境下定义不同元数据格式,因此这些格式的语义在逻辑上可能不一致,当我们将它们组合在一起时,很难形成一个内在完善的语义体系。如果在组合过程中对复用的元素进行重新定义,则有可能造成与其他使用该元素的系统间不兼容;因此,在构建应用格式时需要仔细分析所复用元素的语义定义,鉴别语义上可能的冲突、交叉、嵌套、重叠现象;同时,对复用后形成的应用格式应建立明确的使用规范,规定所复用的元素或子元素的语义界定、应用范围和选择规则,从而在应用过程中避免可能的冲突和重叠。另外,基于一个核心元数据模块、通过标准方法扩展和复用其他模块中的合适元素,能较好地保障基本内容的一致性,能较容易地分析元素的语义一致性。
操作规范性指使用应用格式时必须制定和遵循明确的应用规范。由于构建应用格式中可能出现的整体性、一致性等问题,使用应用格式将比应用独立定义的元数据模块面临更复杂的情况,需要详细的应用规范来保障所编制的元数据的质量。
(3)元数据的开放设计。在开放元数据机制下,信息系统建立元数据的过程就是分析和复用多种元数据和内容描述体系来对自己的元数据应用协议进行开放设计的过程(图2)。
图2 元数据开放设计
人们将根据应用领域的需要建立元数据描述逻辑框架,据此建立数据元字典和概念集(可能复用上层和相关领域的数据元字典和概念集),然后提出元数据应用协议。元数据应用协议从核心元数据格式中复用基本元素,从若干相关的专门元数据格式中复用专门元素,自定义特殊的本地元素,选择或自建内容描述体系来实际描述元素内容(所被复用元素往往采用来源格式指定的内容描述体系),而所有核心元数据、专门元数据、内容描述体系等都作为独立命名域在元数据登记系统中登记和发布。元数据应用协议采用开放格式语言(例如XML)进行标记,采用开放内容描述语言(例如RDF、RDFS)进行内容描述,利用标准复用机制(例如XML Namespace和URI)对被复用的命名域进行链接,利用开放转换语言(例如XSLT)建立应用协议与核心格式、专门格式的转换模板,并用建立针对应用协议的编制指南和编制模板,元数据应用协议本身(作为新的命名域)、自定义的数据元字典、内容描述体系、编制指南、编制模板等也在元数据登记系统中登记和发布。
(4)元数据的开放描述。为了支持开放元数据机制,需要采用开放描述的方法来保障元数据格式(包括元数据应用协议)的可发现、可解析、可转换。这要求:采用开放语言定义和描述元数据格式,例如ISO11179[26]、XML、RDF、XSLT等。采用公开知识体系定义和描述元数据语义,例如基于开放语言的数据元字典(Data Element Dictionary)和概念集(On tologies),可以直接继承和扩展上层的公开知识体系。基于开放语言建立定义链,利用XMLNamespace/URI,明确定义每一层对象,建立各层定义信息之间的链接,声明所有用到的定义信息,链接所有的定义信息,保障所有定义信息的可公开获取性。建立公开认证与惟一标识机制,对元数据格式及其支撑工具(例如编码体系、转换格式等),通过公开认证机制进行认证,以惟一标识符标识,保证惟一识别指定内容,建立元数据登记系统[27~28],公开登记发布元数据格式及其支撑工具,供公共查询和调用。
人们希望,通过这样的开放元数据机制,能够针对具体的应用需要,方便地建立规范的元数据,同时又能保证各个元数据能在统一的逻辑框架里有效地互操作,而且能够促进元数据的不断发展。