计算机系统应用  2021, Vol. 30 Issue (7): 265-270   PDF    
开放数据的元数据映射技术途径
沈艺     
南京师范大学 图书馆, 南京 210023
摘要:在分析目前主要开放数据元数据标准规范文本的基础上, 整合几种常用元数据标准规范描述的开放数据, 构建开放数据核心元数据字段映射表, 为跨平台开放数据共享提供一种解决途径. 通过提取元数据映射所需的指标字段, 并分别用JSON和XML格式表达映射数据. 采用开放数据元数据映射, 将不同元数据标准描述的开放数据纳入到同一个框架中. 文中展示的映射机制可以有效地实现不同平台上的开放数据资源的互联互通, 提升开放数据共享程度.
关键词: 开放数据    元数据映射    信息共享    数据交换    技术途径    
Technical Approach of Open Data Metadata Mapping
SHEN Yi     
Library, Nanjing Normal University, Nanjing 210023, China
Abstract: On the basis of analyzing metadata standard specifications of major open data, we integrate the open data described by various metadata standard specifications and construct the field mapping table of core metadata of open data, providing a solution for the cross-platform sharing of open data. The index fields needed for metadata mapping are extracted, and the mapping data are in the formats of JSON and XML, respectively. Through the metadata mapping, the open data described by different metadata standard specifications are incorporated into the same framework. The mapping mechanism in this paper can effectively realize the interconnection of open data resources on different platforms and enhance the sharing of open data.
Key words: open data     metadata mapping     information sharing     data exchange     technical approach    

1 引言

2009年初, 开放数据(open data)作为美国新一届政府的第一个政府令, 引起研究人员广泛关注, 发表论文数量逐年增加[1]. 随着开放数据应用和研究的深入, 针对开放数据元数据研究也在近期成为重要选题, 如: 司莉和赵洁以美国开放政府数据网站data.gov中的元数据标准为例, 分析其元数据体系及具体标准[2]. 黄如花和李楠选取澳大利亚开放政府数据平台Data.gov.au为研究对象, 分析其元数据标准的元素组成、数据格式、语法结构[3]; 赵蓉英、梁志森、段培培以Data.gov.uk为研究对象, 通过查阅相关政府文献和对网站信息进行调查, 从文件结构、元素组成及规则等方面总结元数据标准的特点, 揭示Data.gov.uk两种类型的元数据, 即面向网站数据资源的CKAN 格式记录和针对地理空间数据的Gemini地理空间元数据标准[4]; 黄如花和林焱对开放政府数据水平较高的英国、美国、加拿大、澳大利亚、新西兰、欧盟的政府数据开放门户及其相关公共部门的元数据描述规范进行调研, 提出我国开放数据元数据标准建设要求, 以期更好地实现政府数据开放共享[5]; 翟军、于梦月、林岩在介绍W3C元数据标准DCAT (Data Catalog Vocabulary)、美国的“开放数据项目”(Project Open Data, POD)和欧盟的DCAT 应用纲要(DCAT-AP)方案基础上, 分析和总结美国、欧盟和爱尔兰政府开放数据元数据建设的成果和特点[6], 此外, 还借鉴和参考其它国家经验, 调查和分析我国地方政府开放数据元数据, 设计基于DCAT 的描述数据集和数据资源的核心元数据方案[7]. 由此可见, 元数据是政府开放数据行动的重要内容, 也是开放数据平台建设的重要基础, 更是开放数据质量保证的关键因素.

开放数据元数据映射(open data metadata mapping)虽然在相关国际集团[8]中, 列为共同行动计划, 但描述和管理开放数据的元数据标准和规范不断变迁, 任何一种元数据标准都不可能完全适应结构日益复杂、分布日益广泛、共享的需求日益增强、检索方式差异日益增大的开放数据. 迫切需要对开放数据元数据映射相关内容作进一步探索. 为此, 本文在研究目前主要开放数据元数据标准规范的基础上, 解析其元数据映射实现机制, 为开放数据资源整合, 实现跨平台开放数据共享提供参考.

2 元数据映射字段

为让开放数据元数据映射行动得到较广泛的接受, 可根据开放数据元数据字段所起作用, 选取五类元数据字段[9]: (1)联络信息(contact information), 包含与开放数据相关的联络人姓名、办事处或机构信息, 如开放数据拥有者、发布者, 以及联系方式; (2)数据集描述(dataset information), 是与数据集相关的信息, 如数据集唯一标识符, 数据集更新频率, 相关的关键词或者标签; (3)范围信息(extent information), 指明数据集适用范围, 即数据集覆盖的地理区域、数据细节等字段; (4)补充信息(supplemental information), 与数据集(资源)相关的其他重要信息, 如上下文文档等; (5)发布信息(distribution information), 是开放数据资源发布使用相关的信息, 如文件大小、格式、语言等. 这5个方面的元数据字段元素构成的开放数据元数据映射的核心框架. 这5类元数据字段需要随着开放数据应用发展状况进行扩充或修改.

2.1 联络信息

联络信息包含8个字段, 分别是联系人(person)、联系人邮箱(contact Email)、机构(organization)、出版者(publisher)、作者(author)、作者邮箱(author Email)、维护者(maintainer)及维护者邮箱(maintainer Email). 其中联系人是指将开放数据作为数据资产管理所指定对外联系人, 机构(所有者)是指出版机构, 如果是涉及多部门机构可以使用这个字段来描述发布该数据集的下属机构.

2.2 数据集标识

数据集(dataset)是有组织的数据集合, 不仅可以包含结构化数据文件, 还可以包含各种非结构化或半结构化的信息文件. 数据集可以被某个机构所拥有, 成为特定的数据资产(data asset), 用于支持各个用户对信息资源的需求. 这里的数据集是指开放数据集, 可以给公众开放使用.

数据集标识(dataset identification)元数据标记了开放数据集的辨识信息, 主要有9个属性: 唯一标识符(unique identifier)、发布日期(release date)、修改日期(modified)、最后更新日期(last updated)、描述(description)、关键词(keyword)、更新周期(frequency of update)、题名(title)和目录(category). 数据集唯一标识符一般需要由代理商维护, 以确保开放数据集的标题或网址变更后, 其唯一标识符不变. 描述信息是对数据集内容特征的简要描述, 如摘要等, 供使用者阅读后, 获得足够的细节, 能够快速决定是否对该数据集感兴趣.

2.3 数据集覆盖范围

数据集覆盖范围元数据用于描述开放数据集覆盖的地域范围, 及与数据集位置相关的细节, 一般作为扩展信息使用. 因此, 在描述管理数据集覆盖范围信息时, 可以使用其他元数据标准中的词汇表. 这些扩展信息可以被网络搜索引擎或开放数据平台编入索引, 为开放数据共享提供帮助, 也可以让开放数据集的发布者方便使用扩展信息字段列表中的元素, 以及从其他任何元数据标准(如: DC、Schema.org、FGDC、ISO 19115和NIEM等)中引入相关字段, 并通过目录元数据前面描述的By和@context字段来定义这些扩展, 正确分配字段.

这里给出的描述开放数据集覆盖范围元数据字段都不是必备字段, 其字段名的机读形式可以自定义:

(1) Spatial coverage/空间覆盖范围

(2) Spatial Type/空间覆盖类型

(3) Spatial Coordinates/空间坐标

(4) Geographic Region Name/地理区域名称

(5) Geographic Bounding Box - Lower Left Corner/地理边界框-左下角

(6) Bounding Box - Upper Right Corner/地理边界框-右上角

(7) Bounding Box - Coordinate Reference System/地理边界框-坐标参照系

(8) Geographic Bounding Box – Dimensions/地理边界框-维度

(9) Temporal coverage/数据集时间跨度

(10) Temporal coverage starts/数据集时间范围开始时间

(11) Temporal coverage ends/数据集时间范围结束时间

(12) Temporal granularity/数据集时间粒度

(13) Temporal granularity factor/数据集时间粒度因子数据

(14) Periodicity of data(set) collection/数据(集)采集周期

(15) Periodicity of the production process/数据集生产周期

(16) Periodicity of the estimates/数据集引用周期

(17) Temporal and spatial comparability/数据集时空比较

(18) Periodicity of data dissemination/数据发布周期

(19) Data Quality/数据质量

(20) Granularity/粒度

其中, 空间范围是指开放数据集的空间适用性范围, 可以包含像边界框或指定位置的空间区域. 以十进制度数指定, 顺序为: 最小经度, 最小纬度, 最大经度, 最大纬度; 空间坐标表示开放数据集中地理信息相关点的纬度/经度对(十进制度); 地理区域名称使用简单特征文档以地理标记语言表示的地理特征, 或来自地理名称数据库的地理特征, 其字段名可以spatial开头. 时间跨度为数据集的时间适用范围(即数据适用性的开始和结束日期), 字段应包含由开始和结束日期定义的时间间隔. 日期应使用24小时制时间表示法, 格式为YYYY-MM-DD hh:mm:ss格式对{开始日期, 结束日期}, 例如: 2017-02-14 12:00:00, 2018-02-14 12:00:00.

2.4 发布信息

与开放数据集发布相关的元数据至少有7项. 其中, 开放数据资源网址(resource URL)必须提供可直接访问并能下载开放数据集的网址. 主页网址(homepage URL)让用户在开放数据平台上选择开放数据集时可以重定向到开放数据的内容. 主页网址不能用代理托管门户主页代替, 而必须是开放数据的中心网站. 资源格式(Format)显示所发布开放数据文件格式或应用程序接口(API)类型, 因此, 文件必须使用扩展名(例如, CSV, XLS, XSLX, TSV, JSON, XML)来描述.

2.5 增补信息及其他

增补信息(supplemental information)中只有一个相关文档网址(documentation URL)的元数据, 用于表示元数据数据集技术信息文档和开发者文档的网址. 字段名可以用resources表示, 它不是必备字段, 其值是逗号分隔的网址.

此外, 开放数据平台会根据自己的情况扩展一些特定的元数据项. 如: 主题(Theme)、公共访问级别(Public Access Level)、API端点(API Endpoint)、RSS订阅(RSS Feed)、数据字典(Data Dictionary)和记录系统(System of Records)等. 其中, 主题表明数据集的主要类别, 多个主题词用逗号分隔. 公共访问级别定义了数据集可以公开获取的程度, 如: 公共(公开可用), 限制(在某些条件下可用)或私有(永远不能公开), 必须在所定义的选项中选择一种. API端点定义访问数据集的Web服务端点, 可用于描述由代理机构提供的网络服务, 以及汇总跨开放数据平台的API目录. RSS订阅提供对数据集访问RSS订阅网址. 这些RSS源将用于创建一个跨机构的RSS源搜索工具. 数据字典记录数据集或API属性描述对照表的URL. 记录系统收录与此数据集相关的记录网址.

3 元数据映射

开放数据元数据映射行动目前才刚刚起步, 英国承诺在政府发布的企业数据中进行开放数据元数据映射实践, 在2015年6月之前建立标准化的通用元数据词汇表, 用于数据集的发布, 同步建立可持续使用的元数据词典[10]. 加拿大承诺为元数据映射实践作贡献. 美国各级政府结合自身特点提出各自开放数据元数据映射方法. 从开放数据全面共知共享要求来看, 开放数据元数据映射应包含3个层面的内容: ①国家间开放数据元数据映射; ②不同开放数据元数据方案(标准)间映射; ③相同标准不同版本间的映射.

3.1 国家间元数据映射

开放数据平台上发布的数据集大都使用本国官方指定语言. 而描述开放数据集的元数据与记录放数据所用语言就可能不同, 并且元数据的用户阅读形式和机读形式也可能不同. 如开放数据的许可元数据Licence用户阅读形式, 美国为License, 而英国、法国和加拿大都是Licence, 德国是Nutzungsbestimmungen, 日本是ライセンス, 意大利是Licenza, 俄国是Условия использования набора данных. 而机读形式大多采用英文. 如开放数据集发布信息中的资源格式元数据Format, 不同国家, 不同开放数据平台, 所用的元数据的表达形式会不一样, 这要求在跨平台共享操作时进行映射. 元数据Format在英美等国之间的映射如表1所示.

表 1 元数据Format在国家之间的映射

3.2 不同元数据方案间映射

开放数据元数据标准多样性, 往往表现在: 一个开放数据平台上所采用的元数据标准规范不止一种, 不同国家或地区的开放数据平台所用的元数据标准也会有多种选择, 常用的有:

(1) DCAT (Data CATalog vocabulary)[11]及其应用纲要(Application Profile): DCAT最初由爱尔兰国立高威大学的数字化企业研究所( Digital Enterprise Research Institute) 开发, 是目前最为广泛采用的元数据词表[12], 经W3C发布, 成为政府开放数据元数据正式推荐标准, 被欧盟、美国、英国、西班牙、爱尔兰和意大利等政府机构、服务全球的数据目录DataHub和CKAN等开放数据平台采用, 有7个类, 其中dcat:Catalog类有13个属性; dcat:Dataset类有15个属性, 5个新属性; dcat:Distribution 类有11个属性, 4个新属性.

(2) DCAT-AP (DCAT Application Profile for data portals in Europe): 是欧盟在DCAT基础上将类和属性分成强制的(mandatory)、推荐的(recommended)和可选的(optional)三组, 共计22个类, DCAT-AP被欧盟各成员国通过, 并被用于欧盟14个国家的开放数据门户网站.

(3) POD开放数据元数据修饰词规范(Project Open Data Metadata Schema V1.1[13]): POD“元数据方案”由美国白宫“开放数据项目”(Project Open Data)发布, 广泛用于美国各级政府开放数据平台, PODV1.1的数据目录设有6个元素, 描述数据集的元素有29个(17个来自DCAT), 描述数据资源的元素有10个(6来自DCAT, 4个自定义).

(4)开放数据平台自定义元数据, 如CKAN等; CKAN是一种开源的数据门户平台, 由开放知识国际(Open Knowledge International) 开发, 提供数据发布、共享、搜索和使用的一系列流程的工具, 被英国、荷兰和欧盟等用于开放数据平台的构建. 该平台定义自己的元数据规范ADMS (Asset Description Metadata Schema)[14], 可用于开放数据描述和管理.

(5) Schema.org体系: 它于2011年6月由谷歌、微软和雅虎联合建立. 目的是要创建搜索引擎都支持的结构化数据标记架构, 在提供一套通用模式的基础上, 给用户提供更好的网络体验.

不同开放数据平台、不同标准规范方案之间的元数据也需要映射. 这里, 以发布信息指标元数据为例, 展示不同开放数据元数据方案之间的映射, 如表2.

表 2 不同元数据方案的发布信息指标元数据映射表

3.3 不同版本元数据间映射

有些国家甚至对同一种元数据标准(或规范), 采用不同的版本, 由于开放数据元数据标准或规范会随时间进行修改升级, 依据老版本标准对开放数据进行描述所产生的元数据, 与新版本相比, 如果变化较大, 特别是有描述字段等的增改, 是有对新老版本描述的元数据进行映射. 表3列出POD中数据集发布类元数据字段的映射, 为适应开放数据的发展, POD v1.1版就比v1.0版增加很多字段.

表 3 POD v1.1与v1.0数据集发布类元数据字段映射表

4 映射实现机制

元素映射存在一对一、一对多和无对应元素三种映射关系, 也存在必备元素映射为必备元素、可选元素或者条件元素的差异. 因此要深入研究元数据映射实现机制, 还要着力实现不同元数据标准元数据元素之间的完全映射.

完成元数据映射, 既可用转换程序, 也可用中介格式, 更有效的是建立一个标准的资源描述框架(RDF). 转换程序对元数据方案进行转换, 转换程序修改元数据内容, 存储在目标元数据方案相似的元素里, 这个元数据方案中定义的元素(类或字段)通过转换程序被其它相关元数据方案识别和利用. 中介格式是对同一格式框架下的多种元数据格式进行转换, 这种方法映射转换准确、转换效率较高, 但在面对多种元数据格式并存的开放式环境中的应用效率明显受到限制[15,16]. 而建立一个标准的资源描述框架(RDF), 即定义一种标准的框架描述所有的元数据格式, 开放数据平台只要能解析这个标准描述框架, 就能解读相应的开放数据的元数据格式, 建立元数据元素的语义关系, 利用XML或JSON实现开放数据元数据映射.

4.1 基于RDF的映射

RDF以可扩展标记语言(eXtensible Markup Language, XML)为表达工具, 构成元数据交换和处理的通用语法结构体系. RDF描述体系封装多种元数据, 统一了元数据的描述体系, 也为多种元数据之间的互操作提供了基础. 这里以开放机读目录元数据和DC为例说明如何将它们描述的对象纳入到同一个RDF框架中, 实现数据共享.

<?xml version="1.0" ?>

<rdf:RDF

xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:dc="http://purl.org/metadata/dublin_core#"

<rdf:Description >

<dc:Title>《Java语言实用教程》</dc:Title>

<dc:Subject > JAVA语言 程序设计 高等学校 教材</dc: Subject >

<dc:Subject Scheme="中国图书馆分类法">TP312 </dc: Subject >

<dc:Creator> 苏洋编著</dc:Creator>

……

<marc856:collection>数字资源</marc856:collection>

<marc856:content>

<rdf:Bag>p

<rdf:li resource="856 4#$u http://……$z下载相关随书光盘"/>

<rdf:li resource="856 4#$u http://……$z下载文本电子图书"/>

<rdf:li resource="856 4#$u http://……$z下载pdf电子图书"/>

</rdf:Bag>

</marc856:content>

</rdf:Description>

</rdf:RDF>

4.2 基于JSON的映射

JSON (JavaScript Object Notation)即JavaScript对象表示法是一种目前流行的数据交换格式, 在Web API、服务端编程语言、NoSQL数据库及客户端框架等方面都有应用. JSON可用于不同平台间的数据交换, 是一种轻量级的数据交换格式, 既易于人编写和阅读, 又易于机器生成和解析, 非常适合在不同平台、不同元数据标准所描述开放数据之间的映射表达[17], 相比XML, JSON的效率更高.

JSON的数据是被保存在花括号{}中, 这里给以美国开放数据的发布信息元数据映射为例, 看看如何用JSON实现对不同元数据标准描述的开放数据进行映射. 首先对发布信息的元数据字段进行定义:

[ { "title": "Data Catalog", "description": "Version 1.0", "keyword": "catalog", "modified": "2013-05-09 06:00:00", "publisher": "US Department of X", "person": "Contact Person", "mbox": "contact.person@agency.gov", "identifier": "1", "accessLevel": "public", "distribution":[ { "accessURL": "http://agency.gov/data.json", "format": "json" } ]

……

接下来对不同格式的开放数据的存取进行了映射:

" http://nces.ed.gov/ccd/pdf/INsc09101a.pdf", "distribution": [ { "accessURL":

" https://explore.data.gov/views/ykv5-fn9t/rows.csv?accessType=DOWNLOAD", "format": "csv", "size": "200mb" }, { "accessURL":

" https://explore.data.gov/views/ykv5-fn9t/rows.json?accessType=DOWNLOAD", "format": "json" }, { "accessURL":

" https://explore.data.gov/views/ykv5-fn9t/rows.xml?accessType=DOWNLOAD", "format": "xml" } ],

可见, 开放数据元数据映射机制是将不同开放数据平台上的多种元数据方案, 建立相应映射机制, 将不同平台上开放数据整合成一个共知、共享的系统.

5 结束语

为整合不同开放数据平台上的多种元数据, 需要将其描述的数据集纳入到一个开放框架中. 由于不同的开放数据平台可能采用不同的元数据标准, 即使同一个开放数据平台, 不同的开放数据集, 其元数据描述也可能不相同. 为此, 元数据映射就承担了转换和解释各种元数据的功能. 基于元数据映射的开放数据整合是一个双向的过程[18], 一方面将用户的提问翻译成不同的元数据系统的表达形式, 从而可以分别自动对应相关的开放数据资源; 另一方面, 元数据体系还要将用不同种类的元数据系统描述的检索结果用一种元数据系统表达出来, 以解决开放数据(集)的多样性.

建立一个标准的资源描述框架, 定义一种标准的框架描述所有的元数据格式, 开放数据平台只要能解析这个标准描述框架, 就能解读相应的开放数据的元数据格式, 建立元数据元素的语义关系, 利用XML或JSON实现开放数据元数据映射, 是实现开放数据元数据映射的关键.

参考文献
[1]
师亚东. 基于CiteSpace的开放数据文献可视化分析. 中山大学研究生学刊(人文社会科学版), 2016, 37(2): 143-156.
[2]
司莉, 赵洁. 美国开放政府数据元数据标准及启示. 图书情报工作, 2018, 62(3): 86-93.
[3]
黄如花, 李楠. 澳大利亚开放政府数据的元数据标准——对Data.gov.au的调研与启示. 图书馆杂志, 2017, 36(5): 87-97.
[4]
赵蓉英, 梁志森, 段培培. 英国政府数据开放共享的元数据标准——对Data.gov.uk的调研与启示. 图书情报工作, 2016, 60(19): 31-39.
[5]
黄如花, 林焱. 国外开放政府数据描述规范的调查与分析. 图书情报工作, 2017, 61(20): 37-52.
[6]
翟军, 于梦月, 林岩. 世界主要政府开放数据元数据方案比较与启示. 图书与情报, 2017(4): 113-121.
[7]
于梦月, 翟军, 林岩. 我国地方政府开放数据的核心元数据研究. 情报杂志, 2016, 35(12): 98-104. DOI:10.3969/j.issn.1002-1965.2016.12.018
[8]
[9]
Brown. Metadata mapping across G8 members. https://github.com/project-open-data/G8_Metadata_Mapping/blob/master/index.md. (2017-03-30)[2020-01-11].
[10]
八国集团. G8 open data charter and technical annex. https://www.gov.uk/government/publications/open-data-charter/g8-open-data-charter-and-technical-annex. (2017-03-30)[2020-01-11].
[11]
W3C. Data catalog vocabulary (DCAT)- version 2. http://www.w3.org/TR/vocab-dcat/. (2017-12-01)[2020-01-11].
[12]
武琳, 黄颖茹. 开放政府数据平台元数据标准研究进展. 图书馆学研究, 2017(6): 14-21.
[13]
U. S. Govenment. Project open data metadata schema v1.1. https://project-open-data.cio.gov/v1.1/schema/. (2017-12-11)[2020-01-11].
[14]
European Union. Asset description metadata schema. https://joinup.ec.europa.eu/solution/asset-description-metadata-schema-adms/releases. (2017-12-27)[2020-01-11].
[15]
赵豪迈. 数字档案长期保存研究. 西安: 陕西师范大学出版总社, 2015.
[16]
梁焕平. MARC与Dublin Core两种元数据的比较研究. 情报杂志, 2004, 23(4): 110-112. DOI:10.3969/j.issn.1002-1965.2004.04.046
[17]
Aaron High-Tech. 介绍 JSON. http://www.json.org/json-zh.html. (2017-12-13)[2020-01-11]
[18]
沈芸芸, 张广钦. DC与MARC21相互映射的实例分析. 图书与情报, 2003(3): 68-71. DOI:10.3969/j.issn.1003-6938.2003.03.024