内容提要:【目的/意义】溯源元数据是评估开放数据质量和可信度的基础。将溯源元数据标准规范和溯源本体应用到我国政府开放数据的门户网站,有望解决现阶段存在的溯源语义不明晰和互操作水平低等问题。【方法/过程】总结国际上开放数据的溯源发展状况和最佳实践,提炼出W3C DCAT标准规范中的溯源元数据;建立各省级地方政府元数据到标准词汇表的映射,对数据发布活动的“历史数据”和“多种数据格式”两种典型情况进行溯源表达,给出机器可读的PROV-JSON格式的溯源元数据记录实例。【结果/结论】研究表明,我国地方政府开放数据的元数据中含有丰富的溯源信息,但其总体质量还不高。引进DCAT/DC元数据和PROV本体,可以提升溯源记录的规范程度和互操作水平,有利于溯源信息的大范围应用。
引言
起始于2009年的全球开放政府数据运动发展迅速,正逐渐从原始数据的开放授权向提高数据质量、可用性和可信度等方向转化。到2017年1月,开放政府合作组织(Open Government Partnership,OGP)的成员国已从2011年成立之初的8个发展到75个。其中,美国、英国、加拿大、巴西、意大利、挪威、希腊、罗马尼亚、捷克、格鲁吉亚、乌克兰、亚美尼亚、爱沙尼亚、立陶宛、马其顿、阿尔巴尼亚、保加利亚、南非、智利、巴拉圭、乌拉圭、约旦、印度尼西亚和菲律宾等24个国家陆续提交了“第三轮国家行动计划”(Third National Action Plan,NAP)。美国在第三轮NAP(2015—2016)中承诺优化开放数据生态系统,进一步完善公共反馈工具和开发“国家开放数据指南”;英国在第一轮NAP(2011—2013)和第二轮NAP(2013—2015)的基础上,2016-2018行动计划将加大对开放数据“国家信息基础设施”(National Information Infrastructure,NⅡ)的投入,及采取措施提高数据质量和可信度等;加拿大第三轮NAP(2016—2018)承诺政府数据“默认是开放的”,并持续提高开放数据的质量和可视化水平;南非第三轮NAP(2016—2017)将升级开放数据门户网站,解决数据分散和标准不一致等问题。
可见,随着开放数据的发展,深层次的问题和挑战得到关注。领导开放数据的英国内阁办公室下的“政府数字服务”(Government Digital Service,GDS)工作组总结了未来开放数据面临的四个挑战:①完善开放政府许可OGL(Open Government Licence),使其有更广泛的适应性,以改善开放数据的接受程度;②真正实现政府数据“默认是开放的”;③提高公众对开放数据的信任程度;④将开放数据提升到“基础设施”(如同公路、铁路和电网等)的高度进行建设。为了评估数据质量和建立对数据的信任,就需要“溯源信息”。溯源元数据作为一类重要的元数据,在开放数据中的作用和价值日益显现。
目前,我国学者已经开展基于溯源的群体协作信任模型、个人数据隐私安全管理和数字资源长期保存系统等领域的研究,但在开放数据领域还没有较为深入的研究成果。本文首先归纳国际上开放数据的溯源发展概况,分析W3C DCAT标准规范中的溯源元数据;然后以我国地方政府开放数据为背景,探讨溯源元数据的应用方案,以解决现阶段溯源语义表达不明晰和互操作水平低等问题。
1 开放政府数据的溯源发展概述
W3C溯源孵化组(Provenance Incubator Group)将一个资源的“溯源”定义为:一组信息,用以记录资源的产生、交付等历史过程,并描述其中涉及的实体,如采集者、发布机构等;溯源是对资源的真实性、可信度和可重复性进行评估的重要基础。在开放数据领域,W3C Web数据最佳实践(Data on the Web Best Practices,DWBP)工作组将“数据溯源”(data provenance)定义为:一组元数据,帮助数据的提供者将数据的详细历史信息传递给用户。
2010年2月,开放政府数据的起步期,参与英国数据门户data.gov.uk建设,来自国家档案馆的John Sheridan就曾说过:“溯源是将数据发布到data.gov.uk要面对的关键问题之一”。此后,欧盟“开放数据监测器”(Open Data Monitor,ODM)项目的成果验证了这一观点。
到2013年,开放政府数据无论深度和广度都有了长足的发展。在世界最大的科技计划之一的FP7(欧盟第七框架计划)资助下,实施两年(2013年11月—2015年11月)的ODM项目采用创新技术对欧洲30多个国家的173个数据门户进行监测、分析和评价,并将结果可视化展示在网站www.opendatamonitor.eu上。项目于2015年3月完成的《开放数据利益相关者需求报告》通过对商业用户的调查发现,影响用户决策使用开放数据的因素有8个:数据的准确性、开放许可、访问的便捷性、时效性、溯源、数据格式、说明文档和技术支持。按照重要性排名,“溯源”处于时效性和开放许可之后位列第三位。项目对数据门户的四个方面进行监测,即数据集的开放许可、机器可读性、可用性和元数据的完整性。元数据的完整性包含的元数据项有:开放许可、作者、机构、发布日期和更新日期,都是与溯源相关的信息:How(开放许可)、Who(作者和机构)和When(发布日期和更新日期)。
ODM的子项目,英国开放数据研究所(Open Data Institute,ODI)开发和维护的在线工具“开放数据证书”(certificates.theodi.org),则是通过收集每个数据集的DCAT(Data Catalog Vocabulary)元数据评价其质量和可信度,评价结果从低到高分为四类证书:铜牌、银牌、金牌和白金证书。项目考察开放数据集的法律、技术、社会和实践四个方面的23个指标,“机器可读的溯源信息”是技术方面的6个指标之一,见表1。级别越高要求达到的指标越多,“溯源”是最高级别的“白金证书”所必需的。
2013年11月1日颁布的《G8开放数据宪章英国国家行动计划》规定NⅡ中的开放数据集要经历“开放数据证书”的评估过程。美国和澳大利亚等国的开放数据门户网站也采纳了这项评估,用以向用户推荐数据集。表2给出了来自三个国家的5个数据集的例子,它们均是银牌证书,其中4个有机器可读的溯源信息,1个没有。
与ODI的工作类似,法国的开放质量标准项目Opquast推荐的“开放数据检查表”中包含72个指标,其中两个是溯源(Historique)相关的:①每个数据集都应有一个记录变化的日志;②可以访问不同版本的数据集。维也纳大学的“开放数据网站监测”(Open Data Portal Watch)项目对260个网站的元数据质量进行评价,其评价体系包含五个维度下的18个指标,涉及的溯源元数据有:dct:issued,dct:modifed,dct:publisher、dcat:contactPoint和dcat:accessURL等。
2013年12月11日,W3C发起了新的数据标准行动计划(Data Activity),致力于将Web的数据互操作能力推向一个新的水平。目前,该标准计划包括六个工作组,Web数据最佳实践(DWBP)工作组是最早成立的工作组之一,其任务是:①开发开放数据生态系统,在开发者和数据发布者之间建立更好的交流沟通平台;②为数据发布者提供指南,指导他们提升数据管理过程中的一致性,以提升数据的可重用性;③采用各种技术建立开发者对数据的信任度,提升数据应用创新的巨大空间。
2016年8月30日,DWBP工作组的主要成果——在Web中发布数据的最佳实践,成为W3C的候选标准[15]。工作组为开放数据推荐了35个最佳实践(Best Practice,BP),其中19个有助于提升数据的可信度,而与溯源相关的最佳实践有8个,见表3。
溯源记录是元数据的子集。DWBP工作组建议采用标准化的共享词汇表(即本体)表达数据和元数据(Best Practice 15:Reuse vocabularies,preferably standardized ones),以避免含义的模糊性并提高发布者和消费者之间的互操作性和一致性。
2 开放数据的溯源元数据
2014年1月16日,W3C政府关联数据工作组(Government Linked Data Working Group)发布正式推荐标准DCAT(Data Catalog Vocabulary)。因其支持数据目录之间的互操作性而成为各国政府普遍采用的开放数据元数据标准规范,如美国、英国、澳大利亚、爱尔兰和欧盟等。DCAT词汇表定义了7个类和17个属性,并复用了都柏林核心词汇表(Dublin Core Vocabulary)、FOAF本体和SKOS本体。同都伯林元数据一样,DCAT是通用意义下的元数据,虽然包含了溯源相关的数据项,但没有明晰的溯源语义定义。
欧盟于2015年10月颁布的开放数据元数据方案DCAT-AP vl.1(DCAT Application Profile,DCAT应用纲要)建议DCAT与W3C PROV本体(PROV-O)相结合表达开放数据的溯源信息,以实现系统间溯源信息的交换和互操作。
PROV-O是W3C溯源工作组(Provenance Working Group)在溯源数据模型(PROV Data Model,PROV-DM)基础上开发的OWL本体,已于2013年4月30日成为正式推荐标准。这是Web溯源的关键性里程碑事件,使得溯源信息的大范围发布和交换成为可能。PROV-O定义了50个类和83个属性,已广泛应用到Web应用和服务、开放数据等领域,如OECE关联开放数据(http://oecd.270a.info/.html)和英国南安普顿大学开放数据(http://data.southampton.ac.uk/)等。
下面结合PROV-O,分析DCAT所包含的溯源元数据及其语义。
2.1 描述对象 根据DCAT概念模型,一个数据目录门户网站的结构如图1所示,其中的三个实体分别对应类dcat:Catalog,dcat:Dataset和dcat:Distribution(前缀dcat代表命名空间http://www.w3.org/ns/dcat#)。这三个实体都是溯源元数据的描述对象,因此都是实体类(prov:Entity)的子类(前缀prov代表命名空间http://www.w3.org/ns/prov#),其语义关系见表4。
图1 数据目录门户网站的结构——数据目录、数据集和数据资源
结合我国地方政府开放数据门户网站的实际情况,考虑到适当的“溯源粒度”,本文重点关注“数据集”和“数据资源”这两个溯源对象。
2.2 描述数据集的溯源元数据 在DCAT中,描述dcat:Dataset类的元数据项有15个,其中10个元素来自都柏林核心词汇表。这些元素可分为三类:9个描述型元数据(dct:title,dct:description,dct:language,dct:accrualPeriodicity,dct:identifier,dct:spatial,dct:temporal,dcat:theme,dcat:keyword),1个结构型元数据(dcat:distribution)和5个溯源元数据,见表5。表5的第一列是溯源类别,第二列是DCAT元素,第四列是PROV-O词汇,第三列是两者的语义关系。
2.3 描述数据资源的元数据 描述dcat:Distribution类的元数据项有11个,其中7个元素来自都柏林核心词汇表。这些元素可分为两类:5个描述型元数据(dct:title,dct:description,dct:format,dcat:byteSize,dcat:mediaType)和6个溯源元数据,见表6。
综合表5和表6,DCAT中的溯源信息涵盖四个方面:When、Who、Where和How。同DC中的溯源信息相比[8],多了Where方面的三个元数据项,满足了开放数据“到哪里找到数据”的需求。
3 在我国地方政府开放数据中的应用
开放数据是我国各级政府大数据战略的基本内容。2015年9月5日,国务院印发《促进大数据发展行动纲要》(国发[2015]50号),提出未来5~10年我国大数据发展和应用的目标,包括2018年底前建成国家政府数据统一开放平台[31]。2016年,北京、上海、广东、江苏、福建、浙江、山东和江西等省级政府相继出台政策文件贯彻落实国家的行动纲要。“建设政府数据开放平台,建立标准规范体系(如分类目录、访问接口、数据质量、安全保密等)”等内容是开放政府数据建设的重点,而保障数据质量、可追溯和安全性等更是关注的焦点。例如,于2016年6月18日发布的《福建省促进大数据发展实施方案(2016~2020年)》的主要任务之一就是:“建设全省统一的政府数据开放平台,向公众提供数据产品查询、数据下载、应用接口等服务。实施应用身份统一认证,实现开放数据可追溯。利用统一开放平台汇聚和发布政府数据,保障数据权威性和安全性……”
目前,我国已建有十几个地方政府开放数据的门户网站,均通过元数据对资源进行描述。但各地的元数据数量、类型都不尽相同,普遍缺乏规范的元数据标准体系,造成用户难以了解数据的各项信息,包括溯源信息。
3.1 现有的溯源元数据 首先,通过对代表性的5个省级网站(见表7)的调研,依据DCAT和DC元数据标准规范,提炼和总结出现有的溯源元数据,见表8。其他元数据项主要是描述型的,如资源名称、摘要、分类、关键字、文件名和文件大小等,未列在表8中。
需要指出的是,在元数据的使用上各地(重庆除外)并没有明显区分“数据集”和“数据资源”。通过分析,我们将表8中的前7个元数据归为描述“数据集”(dcat:Dataset)、而后6个元数据是描述“数据资源”(dcat:Distribution)的。
从表8可见我国地方政府在开放数据的溯源元数据上呈现如下特点或不足:①各种溯源信息是元数据的核心内容,这与国际趋势是一致的;②除重庆外,普遍缺失“开放许可”(dct:license)元数据,这与我国这方面的法律缺失有关;③元数据的标准化、规范化程度不高,与DCAT规范和先进水平(如美国、英国、欧盟等)差距较大;④各地的元数据在名称、数量、取值类型上差异很大,互操作水平低,不利于各方数据门户聚合到统一平台,也不利于应用程序跨平台读取溯源信息;⑤没有采用溯源本体,语义表达不够清晰和完善。
通过采用DCAT和DC元数据标准及PROV-O词汇表,可以克服上述③、④和⑤等不足。下面以数据发布活动中的两种典型情形为例,给出具体的方案。
3.2 历史数据的溯源表达 北京和佛山市南海区(data.nanhai.gov.cn)提供了“历史数据”元数据,重庆通过“活动流”记录数据集的更新情况,这些做法都符合W3C的与溯源相关的最佳实践BP8(见表3)。而为了显式和规范表达“当前数据”与“历史数据”之间的溯源关系,则要引进DC词汇dct:isVersionOf和PROV-O属性prov:wasRevisionOf,后者有着更加明晰的溯源语义。
例如,北京市“公益性图书馆”数据集(见表4)的最新发布日期是2015-12-25,历史数据的发布日期是2013-12-19,它们之间的溯源关系可以通过下面的Turtle记录表达。
@prefix:<http://www.example.org/>.
@prefix prov:<http://www.w3.org/ns/prov#>.
@prefixpav:<http://purl.org/pav/>.
@prefixdcat:<http://www.w3.org/ns/dcat#>.
@prefixdct:<http://purl.org/dc/terms/>.
@prefix owl:<http://www.w3.org/2002/07/owl#>.
@prefix xsd:<http://www.w3.org/2001/XMLSchema#>.
:library-2015-12-25 a dcat:Dataset; a prov:Entity;
dct:title"公益性图书馆";
dcat:landingPage
<http://www.bjdata.gov.cn/zyml/azt/wtyy/whcs/whgz/3077.htm>:
dct:issued "2015-12-25"^^xsd:dateTime;
prov:generatedAtTime"2015-12-25"^^xsd:dateTime;
owl:versionInfo"2.0"; pav:version"2.0";
dct:isVersionOf:library-2013-12-19;
prov:wasRevisionOf:library-2013-12-19.
:library-2013-12-19 a dcat:Dataset; a prov:Entity;
dct:title"公益性图书馆";dct:issued "2013-12-19"^^xsd:dateTime;
prov:generatedAtTime"2013-12-19"^^xsd:dateTime;
owl:versionInfo"1.0"; pav:version"1.0";
dct:hasVersion:library-2015-12-25;
prov:hadRevision:library-2015-12-25.
其中,pav代表另一个轻量级的溯源本体(http://pav-ontology.github.io/pav/); dct:hasVersion是dct:isVersionOf的逆属性,prov:hadRevision是prov:wasRevisionOf的逆属性。
在这段元数据记录中,两个版本的“公益性图书馆”数据集都是PROV-O类prov:Entity的实例(参见表4),它们的产生时间(prov:generatedAtTime)和演化情况(prov:wasRevisionOf)得到了描述。
3.3 多种数据格式的溯源表达 为了满足不同用户的需求和降低使用成本,W3C最佳实践BP14(见表3)推荐以多种格式发布同一数据资源,而且至少一种是机器可读的格式。重庆为一个数据资源提供了两种格式的文件:CSV和XLS,广州市(datagz.gov.cn)有四种格式:XML、JSON、CSV和XLS,佛山市南海区提供了五种格式:XML、JSON、CSV、XLS和TXT。
不同于上小节的历史版本的变化意味着实质性内容的改变,不同格式的数据内容应是一致的。为表达不同格式的文件间的溯源关系,应引进dct:isFormatOf(或逆属性dct:hasFormat),prov:wasDerivedFrom(或逆属性prov:hadDerivation)和prov:alternateOf。
例如,“2010—2014年重庆市公共图书馆相关信息”数据集(http://cqckan.chinacloudapp.cn/dataset/201602231353)提供了两种格式的数据文件,它们之间的溯源关系由下面的元数据记录表达。
:library-2016-02-24.csv a dcat:Distribution;a prov:Entity;
dcat:downloadURL<http://cqckan.chinacloudapp.cn/zh_CN/dataset/
992bf4f0-809d-4a35-822b-90748aaf9bb3/resource/
c9068e2d-2928-403c-b36a-t9a1d2b5a692/download/2010-2014.csv>:
dct:title"2010—2014年重庆市公共图书馆相关信息",
dcat:mediaType"text/csv; charset=GB2312";
dct:isFormatOf:library-2016-02-24.xlsx;
prov:wasDerivedFrom:library-2016-02-24.xlsx;
prov:alternateOf:library-2016-02-24.xlsx.
:library-2016-02-24.xlsx a dcat:Distribution;a prov:Entity;
dcat:downloadURL <http://cqckan.chinacloudapp.cn/zh_CN/dataset/
992bf4f0-809d-4a35-822b-90748aaf9bb3/resource/
ce6525f1-6bb2-4076-951f-f80fde5896f2/download/2010-2014.xlsx>:
dct:title"2010—2014年重庆市公共图书馆相关信息";
dcat:mediaType "application/vnd.ms-excel";
dct:hasFormat:library-2016-02-24.csv;
当用户的应用程序读取并解析这段代码后,就可以依据溯源记录从当前格式的文件导航到其他格式的文件,实现客户端驱动的“内容协商”。
4 基于JSON的溯源元数据实例
W3C DWBP工作组推荐以机器可读的、标准化的格式编码溯源记录(BP12),如CSV、XML、HDF5、JSON、RDF/XML、JSON-LD和Turtle等格式。合适的元数据格式是实现元数据“记录级”互操作的基础,是对DCAT和PROV-O建立起的“模式级”互操作的补充。目前,JSON是DCAT和PROV-O均采纳的一种编码方式[36,37],也是美国、英国等普遍采用的元数据文件格式。
我国各地的元数据格式还是面向人的阅读的HTML网页或TXT文本,不是机器可读的,要比描述的数据本身的开放程度(即机器可读)低一个等级。而DWBP工作组总结的各国最佳实践是将“元数据”和描述的“数据”视为同等重要,应采用一样的开放标准和格式。
下面以PROV-JSON格式给出“2010—2014年重庆市公共图书馆相关信息”数据集(参见3.3节)的较为完整的元数据记录。
{"prefix":{"ex":"http://cqckan.chinacloudapp.cn/dataset/",
"dct":"http://purl.org/dc/terms/",
"dcat":"http://www.w3.org/ns/dcat#"},
"entity":{
"ex:201602231353":{
"prov:type":"dcat:Dataset",
"dct:identifier":"201602231353",
"dct:title":"2010—2014年重庆市公共图书馆相关信息",
"dcat:landingPage":“http://cqckan.chinacloudapp.cn/dataset/201602231353”,
"dct:issued":"2016-02-23","dct:modified":"2016-02-23",
"dcat:keyword":["教育","文化"],
"dcat:distribution":
["ex:201602231353/resource/c9068e2d-2928-403c-b36a-f9a1d2b5a692",
"ex:201602231353/resource/ce6525f1-6bb2-4076-951f-f80fde5896f2"]},
"ex:201602231353/resource/c9068e2d-2928-403c-b36af9a1d2b5a692":{
"prov:type":"dcat:Distribution",
"dct:title":"2010-2014.csv","dct:forrnat":"text/csv",
"dcat:downloadURL":"http://cqckan.chinacloudapp.cn/……/2010-2014.csv",
"dct:license":"http://opendefinition.org/licenses/cc-by/",
"prov:alternateOf":
"ex:201602231353/resource/ce6525f1-6bb2-4076-951f-f80fde5896f2",
"prov:wasDerivedFrom":
"ex:201602231353/resource/ce6525f1-6bb2-4076-951f-f80fde5896f2"},
"ex:201602231353/resource/ce6525f1-6bb2-4076-951f-f80fde5896f2":{
"prov:type":"dcat:Distribution",
"dct:title":"2010-2014.xlsx","dct:format":"application/vnd.ms-excel",
"dcat:downloadURL":"http://cqckan.chinacloudapp.cn/……/2010-2014.xlsx",
"dct:license":"http://opendefinition.org/licenses/cc-by/",
"prov:hadDerivation":
"ex:201602231353/resource/c9068e2d-2928-403c-b36a-f9a1d2b5a692"}
其中前缀prov默认指向命名空间http://www.w3.org/ns/prov#。
这段代码中共有三个溯源实体(entity,即prov:Entity):数据集(ex:201602231353)和它所包含的两个数据文件,元数据值全部来自实际值。
5 结论
开放政府数据被社会各界关注、接纳和利用的前提之一是有效解决“信任”问题,这离不开具有互操作性的高质量的溯源元数据的支持。国际上开放数据实践的发展趋势是“溯源信息”已经同被描述的数据本身一样重要。
本文的分析表明,我国地方政府开放数据实际采用的元数据中含有较为丰富的溯源信息,但其总体质量还不高,主要表现在:①没有采用标准词汇表(即本体),溯源语义表达不明晰;②缺乏通用的元数据标准,互操作水平较低;③溯源记录不是机器可读的,不利于应用程序自动读取。为此,本文引进W3C DCAT元数据和PROV本体,在建立各地方政府元数据到标准词汇表映射的基础上,对数据发布环节实际存在的“历史数据”和“多种数据格式”两种典型情况进行了溯源表达,并给出了JSON格式的溯源记录实例。
这些工作为解决现有问题给出了初步的方案。下一步的工作是开发开放数据全生命周期的“溯源元数据”模型和规范,建立较为完备的溯源管理体系。