基于Drupal的政府开放数据平台构建

时间:2022-10-14 03:10:31

基于Drupal的政府开放数据平台构建

〔摘要〕开放政府数据能够促进政府透明和社会创新,已成为国内外研究和实践的热点。本文针对我国地方政府开放数据门户网站在元数据规范和数据格式上的不足,设计并建立基于Drupal的政府开放数据平台。在分析平台核心功能的基础上,引进W3C的通用元数据标准DCAT。重点说明平台建立元数据模式的映射过程,并介绍如何为关联数据集提供Sparql端点。以来自浙江省开放数据网站的一个具体数据集的为例,表明该平台支持机器可读的通用元数据格式,为我国各类开放数据网站的建设和升级提供借鉴和参考。

〔关键词〕Drupal;政府开放数据;开放数据平台;元数据;DCAT;关联数据

DOI:10.3969/j.issn.1008-0821.2016.08.007

〔中图分类号〕G25073〔文献标识码〕A〔文章编号〕1008-0821(2016)08-0037-07

〔Abstract〕As a hot topic,Open Government Data provides a new way for promoting the construction of the transparent government and innovations between different social organizations.This paper designed and established a platform based on Drupal in order to resolve the problem about datasets metadata and data formats existing in open data portals of local government in China.Metadata providing can permit interoperability between different systems and the use of machine-readable,non-proprietary electronic data formats can reduce technical barriers to data access for users.Based on the basic analysis of the core functions of the platform,this paper introduced a common metadata standard DCAT,which was announced by W3C.Then the clear description was given to explain how to process mappings between DCAT vocabularies and fields of Drupal,which aimed to provide metadata for datasets.Publishing linked data is always difficult for the study of open data.There fore,the paper presented a simple solution on how to provide a Sparql endpoint for publishing data formats of linked datasets using Drupal.Finally,taking a dataset from Zhejiang governments Open data platform as an example to show the whole process about how this platform publishes datasets and provided machine-readable metadata formats.And this paper also made a detailed introduction about the important Drupal modules used in this platform,including RDFx module,Sparql endpoint module,DKAN related modules,which is a complimentary offering to CKAN with a full suite of cataloging,publishing and visualization features,and so on.This paper provided references for the construction and upgrading of all types of open data platform in our country.

〔Key words〕Drupal;government open data;open data platform;metadata;DCAT;linked data

大数据时代,“数据”的重要性被提到了前所未有的高度,通过对海量数据的交换、整合、分析和利用,能够发现新知识、创造新价值[1]。在全社会中,政府数据起着核心与枢纽的作用。各国的研究与实践表明,开发和利用信息资源的前提是信息公开和数据开放,而数据开放的核心则是“开放政府数据”(Open Government Data,OGD)[2]。全球范围兴起的“开放政府数据运动”始于2009年美国奥巴马政府推动的“开放政府行动计划”(Open Government Initiative)[3]。2011年9月20日,美国、英国、巴西、印度尼西亚、墨西哥、挪威、菲律宾、南非八个国家在纽约集会,宣布成立“开放政府合作组织”(Open Government Partnership,OGP),到2016年4月其成员国已从8个发展到69个。目前,世界各国已有超过250个政府(中央政府、地方政府或城市)实施“开放数据”的行动计划[4]。“开放数据”为政府机构、社会组织和个人的创新及协作提供了新的途径。世界银行总结的OGD的益处主要包括:①促进政府的公开透明和公共服务质量及办事效率的提升;②为社会创新和经济增长提供数据资源和推动力[5]。

在开放政府数据运动中,为了集中管理大量的开放数据和方便用户进行数据查找,关键的举措之一是“开放数据目录”(Open Data Catalogs)的门户网站(Portals)[3,6]。以2009年美国政府的“一站式”数据门户Data.Gov为先河,到2016年4月,收集的数据门户网站已达519个。数据门户所依托的“开放数据平台”(Open Data Platform)也成为这一领域的研究热点之一[6]。

在我国,从2012年开始,北京、上海、浙江、青岛、深圳等地方政府在大数据战略和智慧城市建设中率先推出了政府开放数据门户网站[7]。理论上,一些学者也开始关注“开放数据平台”的技术、管理与评价问题。郑磊等对国内各开放数据平台的数据导引、数据获取、界面体验、互动交流等方面进行了评估[7]。徐慧娜等通过13个指标,比较了纽约和上海两大城市政府开放数据平台的有用性、易用性和用户数据利用效果,指出了国内开放数据平台发展的不足[8]。钱晓红等论述了“开放数据平台”的技术特征:和管理数据、检索和查找数据、元数据建设、可视化处理等[9]。周志峰等对美国、英国、加拿大、澳大利亚和新加坡五国的政府开放数据门户的数据管理、检索与用户参与功能进行了分析,对我国政府信息公开工作提出了诸多建议[10]。

研究表明,我国的开放数据实践正处于萌芽和发展状态,与发达国家存在着较大的差距[11]。当前的开放数据平台对数据文件格式的支持有限[7-8]、没有采用通用的元数据规范和机器可读的元数据格式[6]等都影响到了数据开放的效果[7]。为此,本文在借鉴国际先进国家经验的基础上,构建基于Drupal的政府开放数据平台,引入W3C的数据目录元数据标准DCAT,并支持开放数据格式的5星模型,为我国地方政府开放数据平台的建设和升级提供部分解决方案。

1开放数据平台发展现状

各国数据门户使用的基础平台可以分为开源的和商业目的两种[12]。Junar()和Socrata是基于云服务的SaaS(Software as a Service)开放数据平台,属于商用范畴;而CKAN(Comprehensive Knowledge Archive Network)、DKAN和ODPL等则是构建开放数据平台的开源软件(Open Source Software)。

目前,使用最广泛的基础平台是CKAN和DKAN[13-14]。CKAN适用于大型数据门户的构建,如美国(Data.Gov)、英国(Data.Gov.UK)的国家开放数据门户[10]。但是CKAN的部署和实现过程较为复杂,对于人员的专业素质要求较高[13]。DKAN(Drupal+CKAN)是基于Drupal的用于实现数据目录服务的一种方式,能够兼容CKAN且实现更多的功能,如对关联开放数据的支持等。DKAN和CKAN的主要技术对比见表1。

作为一个开源的内容管理系统(Content Management System,CMS),Drupal的所有功能的增减可以通过模块的启动和关闭来实现,易于开发和维护。截至2016年4月,Drupal站点上的模块已达33 728个,吸引了100 654个用户来贡献模块。Drupal已经广泛应用于图书馆各类门户网站的建设[15-16]以及教学资源管理中[17]。越来越多的政府数据门户也在采用Drupal,例如非洲近1/3的政府开放数据平台利用了DKAN[14]。本文的关注焦点则是Drupal在我国地方政府开放数据门户的应用。

2开放数据平台的核心功能分析

开放数据是指数据可以被任何人自由免费获取、利用和再,而不受版权、专利或其他机制的限制[11]。开放数据的本质是促进数据在最大范围上的再利用,为实现这一目标各国的最佳实践是在基于Web的开放数据平台上以“机器可读”(machine-readable,即数据能被程序自动处理)的格式各种高价值的数据[6]。为促进开放数据的机器可读性,政府数据开放的积极推动者、W3C主席蒂姆・伯纳斯-李于2010年在华盛顿特区的Gov20博览会上首次提出了开放程度(Openness)的“5星评级模型”(5 star rating scheme)[2,18]:

(1)1星()级别:以“开放许可”将数据到Web上,格式不限,可以是纸质文件的扫描件或PDF文档等,其特征简记为OL(open license);

(2)2星()级别:为机器可读的结构化数据,如一个Excel电子表格,其特征简记为RE(readable);

(3)3星()级别:为非专有格式,如CSV,其特征简记为OF(open format);

(4)4星()级别:采用W3C的开放标准,如RDF、Sparql等,其特征为通过URI来标识事物,简记为URI;

(5)5星()级别:将数据链接到其它数据集,即“关联数据”,其特征简记为LD(Linked Data)。

在模型中,星是累加的,即高级别的开放涵盖低级别的所有特性。该模型关注开放数据的两个主要方面:法律和技术,即法律上要有开放许可、技术上要以机器可读的格式数据。模型指出了数据格式的升级路线:从专有格式到非专有格式、从开放标准到关联数据(即数据万维网),见表2。

国际上已有越来越多的5星级别的开放政府数据被出来[2]。如纽约市开放政府数据网站(data.cityofnewyork.us)提供的关联数据已经达到了5星水平[8],2014年“开放数据指数”冠军-英国,在国家数据网站(Data.Gov.UK)上已经了150个5星数据集。与此相对照,我国地方政府的开放数据还没有5星级别的,如上海市()、浙江省()提供的数据格式仍处在2星、3星水平[7-8]。

在启用Sparql模块之前,需要引入ARC2 Library包,将其放入sites/all/modules/rdfx/vendor/arc目录下。该包用于存储系统自动生成RDF数据,并支持Sparql查询语句的执行。成功启用Sparql模块后,站点就拥有相应的Sparql端点,默认的URL为:http:∥域名:端口号/站点名称/sparql,本文的例子为:http:∥localhost:8088/drupal/sparql。应用程序通过HTTP协议向Sparql端点发送Sparql查询请求,便可获取关联数据集中的数据[2,23]。

5平台构建

在建立DKAN平台前,需要安装Drupal站点。Drupal依赖于Windows+Apache+Mysql+PHP或者Linux+Apche+Mysql+PHP开发环境,可以手工搭建该集成环境,也可以直接下载wamp(https:∥/projects/wampserver/)或者lamp集成包进行安装。DKAN依赖于Drupal 7x及以上版本的Drupal,推荐使用Drupal 741(https:∥/drupal-7.41-release-notes),因为该版本目前是Drupal 7x最稳定的版本。Drupal的DKAN模块托管在gitHub(https:∥/NuCivic/dkan)上,下载其相关模块进行安装即可。也可以选择直接安装嵌入DKAN的Drupal站点(https:∥/nucivic/dkan-drops-7),步骤与安装普通的Drupal站点相同。

安装Drupal模块时,需要在/modules/install new module下选择模块所在的路径,然后加载模块。DKAN.info文件列出了DKAN所依赖的所有模块,包括Drupal核心模块(如block、file、image、rdf、path、taxonomy等),和众多的第三方模块(如restserver、restws、views、rules、services、facetapi、feeds等),另外还需要open data和DKAN features相关模块。需要注意的是,成功启用DKAN模块前,站点必须提供并启用这些依赖模块。表4列出了DKAN的核心模块,其中DKAN Dataset模块将数据集处理为结点,结点内容包括数据集元数据信息和数据资源信息;DKAN Datastore模块提供数据文件的上传、数据解析和保存功能;RDFx模块是Drupal构建语义数据所依赖的核心模块,在DKAN中为字段添加DCAT词汇表的元数据配置信息。表4DKAN的核心模块

核心模块描述DKANdistro包含了DKAN默认的主题,并且定义了块和导航条目,对DKAN所需的文件或者模块进行声明。DKAN Dataset将数据集和资源文件以内容类型方式定义,并且提供了数据集注册的个性化流程。DKAN Datastore将完成解析的数据文件存入数据库。recline一个js库文件,提供数据文件的预览视图。FeedsFlatstoreProcessor该模块用于将CSV文件解析为二维数据表文件。NuBoot RadixDKAN的默认主题基于Radix。RDFx为各字段添加DCAT词汇表的元数据描述信息。

6应用实例

下面以浙江省开放数据网站上的教育科技大类中的“师资库数据集”为例,利用DKAN平台实现该数据集的。

61在平台上添加数据集

在Content->Add content中选择“内容类型”为Dataset,然后添加该数据集的描述信息――元数据。数据集的“字段”值取自浙江省开放数据网站(),实例地址为:http:∥/catedetail.action?resid=210562/20150619105946000432&catecode=SJLY006。容易发现,该数据集描述网页并未提供“开放许可”信息。而DKAN提供了17种开放许可,如OGL、ODbl、PDDL等,并且每种开放许可都能链接到相应的说明页面。

62为数据集添加数据资源

添加数据集后,需要为其添加具体的数据资源。DKAN同样也将数据资源作为一种“内容类型”,这种低耦合方式有利于平台实现结构化数据的高效管理。一个数据集可以对应多个数据资源文件,通过数据集的标识字段将数据集和数据资源文件连接起来。DKAN提供了注册数据资源的3种方式:API、数据文件上传和链接到数据资源文件的URL。本例采用API方式数据资源文件。DKAN能够有效管理数据集中的多种格式的数据文件,用户可以根据需要访问或下载它们。

完成上述操作后,平台中该数据集的展示页面如图3所示。该页面的左侧包含有数据集的开放许可(License),及机器可读的两种格式(RDF和JSON)的元数据文件的下载图标,其详细内容见本文32;页面右侧列出了数据集中的数据文件信息,右侧下方的Dataset Info部分以HTML表格列出了所有的元数据。图3DKAN平台上的数据集展示页面

比较该数据集在浙江省公共平台的展示与图3可知,DKAN平台在开放数据集的元数据管理上有着明显的优势:既为人的阅读提供了HTML格式的元数据,也为程序自动处理提供了机器可读的元数据文件。

7结语

近年来,开放政府数据已经成为信息管理、电子政务、图书情报等领域的研究热点。如何设计和建设一个高质量的开放数据平台从而促进数据集的发现和有效利用,对处于发展阶段的我国各级政府开放数据工作具有重要的现实意义。

Drupal的开源特性、模块化特点及DKAN等模块为构建开放数据平台提供了技术基础。本文表明,基于Drupal的DKAN平台支持通用的元数据标准和机器可读的元数据格式,并为各种格式的数据集(特别是5星级的关联数据集)提供API接口,能有效克服国内开放数据网站的一些不足。下一步工作的重点将是在平台核心功能的基础上增加数据查找和导航、数据存储、数据可视化、用户交互、统计分析等功能。

上一篇:立足教材研制数学“综合与实践”的好问题 下一篇:借鉴杜威经验推进我国课程体系的均衡发展