摘要:[目的/意義]本研究針對我國地方政府數(shù)據(jù)開放平臺面臨的挑戰(zhàn),設(shè)計并構(gòu)建基于CKAN的政府數(shù)據(jù)開放平臺,為我國政府數(shù)據(jù)開放平臺的建設(shè)和改進提供參考。[方法/過程]在對CKAN的應(yīng)用及特征進行概述的基礎(chǔ)上,分析CKAN具有的核心功能,探討CKAN的元數(shù)據(jù)管理以及關(guān)聯(lián)數(shù)據(jù)集的API發(fā)布,最后給出平臺安裝的步驟和策略。[結(jié)果/結(jié)論]充分發(fā)揮CKAN平臺的核心功能、元數(shù)據(jù)管理以及關(guān)聯(lián)數(shù)據(jù)集的API發(fā)布等方面的優(yōu)勢,結(jié)合Drupal等開源內(nèi)容管理框架來構(gòu)建政府數(shù)據(jù)開放平臺才是最優(yōu)選擇。
關(guān)鍵詞:CKAN;政府數(shù)據(jù)開放平臺;元數(shù)據(jù);關(guān)聯(lián)數(shù)據(jù)
DOI:10.3969/j.issn.1008-0821.2019.03.008
〔中圖分類號〕G203;D63-39〔文獻標識碼〕A〔文章編號〕1008-0821(2019)03-0069-08
開放政府數(shù)據(jù)是世界各國政府的一項戰(zhàn)略舉措,它通過以機器可讀的格式共享政府數(shù)據(jù),促使其它人能夠免費再利用。在過去的5~7年中,大多數(shù)政府都頒布了開放數(shù)據(jù)政策,而且許多數(shù)據(jù)集可以在數(shù)據(jù)門戶網(wǎng)站上可用。在2008-2013年的開放數(shù)據(jù)早期,主要的關(guān)注點是,構(gòu)建一個開放數(shù)據(jù)平臺并盡可能發(fā)布更多的數(shù)據(jù)集。因此,隨著城市、地區(qū)、中央等層級的政府希望在開放數(shù)據(jù)領(lǐng)域擁有一席之地,各個層次的政府數(shù)據(jù)開放平臺也開始涌現(xiàn)。從理論上來看,一些學者對政府數(shù)據(jù)開放平臺評價和建設(shè)問題進行了研究。岳麗欣等對國內(nèi)已有的相關(guān)數(shù)據(jù)開放平臺進行比較,構(gòu)建相關(guān)評價體系對已有平臺進行評估,明確目前平臺建設(shè)所存在的缺點[1]。錢曉紅等初步討論與介紹了各國政府開放數(shù)據(jù)平臺的建設(shè)現(xiàn)狀,比較了現(xiàn)有政府開放數(shù)據(jù)平臺存在的問題,在此基礎(chǔ)上構(gòu)建了基于數(shù)據(jù)集開放的政府數(shù)據(jù)開放平臺,并論述了其技術(shù)特征[2]。李盼等針對我國地方政府開放數(shù)據(jù)門戶網(wǎng)站在元數(shù)據(jù)規(guī)范和數(shù)據(jù)格式上的不足,設(shè)計并建立基于Drupal的政府開放數(shù)據(jù)平臺[3]。自2011年起,北京、上海等地區(qū)在大數(shù)據(jù)的影響下首次開展政府數(shù)據(jù)開放工作,建立了地方政府數(shù)據(jù)開放平臺,但與美國相比,我國的政府數(shù)據(jù)開放建設(shè)才剛剛開始,沒有建立國家統(tǒng)一的數(shù)據(jù)開放網(wǎng)站,各級地方政府的數(shù)據(jù)開放網(wǎng)站也在逐步發(fā)展中,有待于進一步提升[4]。因此,本文介紹CKAN工具,探討基于CKAN的政府數(shù)據(jù)開放平臺構(gòu)建,旨在為我國政府開放平臺的建設(shè)和改進提供參考。
1CKAN概述與特征
1.1CKAN概述
CKAN(Comprehensive Knowledge Archive Network,全面知識檔案網(wǎng)絡(luò))是開放知識基金會(Open Knowledge Foundation)所發(fā)展與維護的一個開放原始碼的數(shù)據(jù)管理系統(tǒng),能夠提供相關(guān)工具來存取數(shù)據(jù),從而便捷地發(fā)布和使用數(shù)據(jù)。開放知識基金會是一個于2004年在英國劍橋成立的非營利性組織,長期致力在數(shù)字時代推廣各種形式的開放知識。近年來,該組織活躍于全球30多個國家和地區(qū),著眼于開放數(shù)據(jù)和開放政府的推廣和支持。CKAN面對的對象是那些希望發(fā)布和共享開放數(shù)據(jù)的政府機構(gòu)、組織和公司[5],而且在世界各地的官方及民間組織的數(shù)據(jù)網(wǎng)站中被廣泛地應(yīng)用。CKAN既可以作為一個公共平臺(如Datahub[6]),也可以被應(yīng)用于各級政府數(shù)據(jù)開放平臺:在中央政府層面,包括美國、英國、奧地利、巴西、德國、荷蘭、挪威、斯洛伐克、烏拉圭等國家都應(yīng)用CKAN構(gòu)建中央政府數(shù)據(jù)開放平臺;在地方政府層面,包括布宜諾斯艾利斯、昆士蘭、赫爾辛基、柏林、漢堡、托斯卡尼等構(gòu)建地方政府數(shù)據(jù)開放平臺。
1.2CKAN的特征
1)架構(gòu)。CKAN后端用Python編寫,前端用Javascript/HTML編寫[7]。前端是Web界面(Web Interface),提供數(shù)據(jù)集的顯示瀏覽與查找。后端包括六個部分。第一,控制器層,包括Web界面使用功能。CKAN網(wǎng)頁從Jinja 2模板文件中生成;搜索功能由Solr提供。第二,CKAN Action API,向客戶端公開所有CKAN核心特征。第三,命令行接口(Python粘貼腳本),用于管理數(shù)據(jù)集和用戶等。第四,邏輯層,獲取和修改數(shù)據(jù)以及驗證和授權(quán)、批準等。第五,模型層,包含存儲在數(shù)據(jù)庫中的實體類別。數(shù)據(jù)庫通信中,會使用開放源代碼的Web應(yīng)用框架Pylons和Python編程語言下的一款開源軟件SQLAlchemy。第六,面向?qū)ο箨P(guān)系型開源數(shù)據(jù)庫PostgreSQL[8]。
2)同步特征。CKAN可以通過一些努力來實現(xiàn)數(shù)據(jù)源的同步。通過使用CKAN的擴充套件Ckanext-harvest,可以定期從不同的存儲庫來源中采集數(shù)據(jù)。為了將此擴展應(yīng)用于自定義存儲庫源,必須用Python編寫來實現(xiàn)采集接口[9]。CKAN采集器(CKAN Harvester)包含在CKAN擴展套件中,可以通過使用采集器運行命令來運行。在生產(chǎn)環(huán)境中,系統(tǒng)實用程序Cron能設(shè)置周期性被執(zhí)行的指令,可用于定期運行采集工作。
3)升級。由于CKAN是一個開放源代碼的產(chǎn)品,意味著產(chǎn)品升級由客戶自己完成。為了便于升級,CKAN文檔中提供了升級說明[10]。此外,有一個CKAN郵件列表[11],發(fā)布了有關(guān)新版本的信息。這個列表是CKAN維護人員可以訂閱的列表,旨在促進與即將發(fā)布的版本保持同步。盡管CKAN很少出現(xiàn)重大更改,但仍然會出現(xiàn)較小破壞性變化并且有時候會出現(xiàn)反應(yīng)遲鈍的不兼容的變化,因而CKAN版本每3個月更新1次。此外,CKAN經(jīng)常發(fā)布帶有錯誤修復(fù)和優(yōu)化的修補程序。
4)主題化。CKAN提供了兩種不同的方式來自定義網(wǎng)站。一方面,如果開放數(shù)據(jù)平臺是托管的,那么CKAN團隊或合作伙伴可以對平臺的外觀進行更改,這意味著客戶就不需要掌握編程技能;另一方面,如果CKAN是由客戶自己部署的,那么可以通過修改源代碼來定制主題。盡管沒有預(yù)定義的模板,但開放數(shù)據(jù)網(wǎng)站可以定制,而且如果需要的話,網(wǎng)站一切都可以更改。但是,在這種情況下,客戶需要了解Python、JavaScript、HTML和CSS的基本知識,知道如何進行更改。此外,也有大量網(wǎng)站主題化教程的文檔,提供了如何更改布局的例子[12]。
5)其它特點。CKAN可新增、定制化內(nèi)容與頁面,并且能與第三方網(wǎng)站內(nèi)容管理系統(tǒng)進行整合,如Drupal。CKAN也具有國際化與多國語支持,使用的接口支持至少18種語言,也具備多國語言內(nèi)容與呈現(xiàn)數(shù)據(jù)集的信息,可支持多國語言搜尋,而且每個數(shù)據(jù)集可指定主要的語言。在社區(qū)方面,CKAN可提供許多主要的特色,讓CKAN入口網(wǎng)站的用戶進行數(shù)據(jù)的通訊與協(xié)同合作。為了促進用戶參與,CKAN具有數(shù)據(jù)共享和通信的功能,可加掛社交響應(yīng)模塊與分享模塊,如Google、Twitter和Facebook集成,并有RSS/Atom可追蹤數(shù)據(jù)更新。
2CKAN核心功能分析
2.1數(shù)據(jù)儲存
當建立一個數(shù)據(jù)集或資源時,可存放在CKAN服務(wù)器上或鏈接到外部其它地方。CKAN不僅可以保留元數(shù)據(jù)與鏈接,還可以提供數(shù)據(jù)本身的安全儲存。CKAN DataStore提供了一個專用數(shù)據(jù)庫,用于存儲來自CKAN資源的結(jié)構(gòu)化數(shù)據(jù)。DataStore[13]是一個內(nèi)建于CKAN的擴充套件,通過一個獨立數(shù)據(jù)庫儲存上傳至CKAN的結(jié)構(gòu)數(shù)據(jù)內(nèi)容,這些數(shù)據(jù)可以是CSV或XLS格式。DataStore上傳至數(shù)據(jù)庫的數(shù)據(jù)內(nèi)容可提供數(shù)據(jù)預(yù)覽外掛使用,而且DataStore還提供DataStore API,可供開發(fā)者以RESTful API獲得JSON格式數(shù)據(jù)。無論是上傳至CKAN的FileStore還是外部鏈接,DataStore通常都與DataPusher一起得到使用,而且DataStore會自動將數(shù)據(jù)從合適的文件上傳至DataStore[14]。
2.2數(shù)據(jù)采集
當前,許多組織已經(jīng)擁有自己的數(shù)據(jù)儲存地方,而且也具有良好定義的流程和程序來發(fā)布和管理數(shù)據(jù)。在這種情況下,數(shù)據(jù)可簡單地定期從儲存庫采集到CKAN。為了促進這一模式,CKAN開發(fā)了一個復(fù)雜、可定制化的采集機制,可以從許多不同的數(shù)據(jù)庫來源中獲取數(shù)據(jù)并進行匯入。這些機制包括:地理空間CSW服務(wù)器;現(xiàn)有的網(wǎng)絡(luò)目錄;簡單的HTML索引頁或Web訪問的活頁夾;ArcGIS中Geoportal服務(wù)器和數(shù)據(jù)庫Z39.50[15]。在數(shù)據(jù)采集方面,CKAN有一個擴充套件Ckanext-Harvest,提供一個可自定義的接口,以采集其它網(wǎng)站或服務(wù)的元數(shù)據(jù),并整合為CKAN數(shù)據(jù)集。harvest的運作大致可分為3步:1)收集(Gather),獲得Harvest資源的ID、數(shù)量等基本信息;2)獲取(Fetch),獲得前述資源中每個對象或數(shù)據(jù)集的元數(shù)據(jù);3)輸入(Import),將上一階段取得的元數(shù)據(jù)轉(zhuǎn)換并建立為CKAN數(shù)據(jù)集[16]。
2.3數(shù)據(jù)發(fā)布與管理
CKAN提供一個直觀的Web接口,可以讓數(shù)據(jù)發(fā)布者和管理者在被稱為“組織”的分布式授權(quán)模型中輕松地注冊、更新與細分數(shù)據(jù)集(見圖1)?!敖M織”讓每個數(shù)據(jù)發(fā)布者擁有自己的數(shù)據(jù)集入口和核準成員的審批流程。這意味著,可以向各部門或機構(gòu)的管理員來進行責任分配和授權(quán),而不是集中管理。在數(shù)據(jù)輸入方面,CKAN具有完整的數(shù)據(jù)上傳與編輯接口,可依照需求自定義表單域。表單域包含了文本框、多行文本框、密碼框、隱藏域、復(fù)選框、單選框和下拉選擇框等,用于采集用戶的輸入或選擇的數(shù)據(jù)[17]。具體而言,可以通過多種方式在CKAN中添加和編輯數(shù)據(jù),包括:1)直接通過Web接口;2)使用CKAN豐富的JSON API;3)通過定制化的電子表格匯入,同時支持多種權(quán)限規(guī)劃模式[18]。在數(shù)據(jù)發(fā)布方面,CKAN有一個擴充套件DataPusher[19],用于新增前述的結(jié)構(gòu)數(shù)據(jù)至CKAN時,自動上傳數(shù)據(jù)內(nèi)容至DataStore數(shù)據(jù)庫,可在數(shù)據(jù)編輯頁面的DataStore上來確認上傳狀態(tài)或手動上傳數(shù)據(jù)至DataStore數(shù)據(jù)庫。
2.4數(shù)據(jù)搜索
CKAN提供了豐富的搜索體驗,可以快速進行“谷歌式”的關(guān)鍵詞搜索以及標簽搜索和瀏覽相關(guān)數(shù)據(jù)集,而且所有數(shù)據(jù)集字段都是可檢索的。用戶可以快速查看哪些數(shù)據(jù)集是可用的,以及使用哪種格式和哪些許可證。具體而言,包括如下搜索類型:1)搜索所有數(shù)據(jù)集屬性,即用戶可以搜索所有數(shù)據(jù)集的元數(shù)據(jù),從標題到標簽,再到發(fā)布者名稱;2)全文搜索,即搜索全文字段;3)模糊匹配,用于搜索緊密匹配的術(shù)語,而不是精確匹配的選項;4)分面搜索(Faceted Search),通過諸如標簽、格式、許可證、發(fā)行者等方面的細分,可以通過更多方面連續(xù)縮小搜索范圍,從而允許用戶在查看搜索結(jié)果后將搜索范圍限制為具有特定格式或標記的數(shù)據(jù)集;5)API搜索,即所有搜索工具可
圖1CKAN中“組織”的分布式授權(quán)模型
以通過API提供[20]。
2.5地理空間圖形支持
CKAN有先進的地理空間功能,包括以地圖方式預(yù)覽數(shù)據(jù)里的地理信息,以地理位置進行數(shù)據(jù)的搜索。通過啟用Ckanext-Spatial,CKAN可以理解與數(shù)據(jù)集關(guān)聯(lián)的位置,并通過Web界面和API提供地理空間搜索功能。Ckanext-Spatial是CKAN的擴充套件,提供地理信息相關(guān)功能。這些功能包括5個方面:1)Spatial Metadata建立地理空間數(shù)據(jù)的索引。2)Spatial Search Widget按地圖搜尋數(shù)據(jù)集“Spatial”字段的地理空間數(shù)據(jù)。安裝完成后,即可在數(shù)據(jù)集列表顯示頁面的左下方看到“Filter By Location”的區(qū)域,這個區(qū)域在放大后,依照用戶選取的地理區(qū)域篩選出符合的數(shù)據(jù)集。3)Dataset Extent Map以地圖顯示數(shù)據(jù)集“Spatial”字段所述的地理空間數(shù)據(jù),而且僅支持Geojson格式。在“額外的信息”中填寫的Spatial Geojson信息將顯示在左下角的Dataset Extent中。4)CSW Server提供CSW服務(wù)接口。5)Spatial Harvesters提供地理空間相關(guān)的Harvesters,可以將CSW、WAF、Spatial Metadata Document等數(shù)據(jù)目錄來源的后設(shè)數(shù)據(jù)采集下來并整合至CKAN之中,數(shù)據(jù)本身仍位于原數(shù)據(jù)目錄的網(wǎng)站[21]。使用CKAN數(shù)據(jù)目錄管理軟件的data.gov、data.gov.uk、data.gov.au均支持地圖檢索,在可縮放的地圖上劃定一片區(qū)域,或在輸入框輸入地名主題詞,即可檢索與該選定區(qū)域相關(guān)的全部數(shù)據(jù)集合[22]。
此外,還有一些功能有地圖顯示支持:OpenLayers Viewer功能可以地圖方式呈現(xiàn)WMS、WFS、GeoJSON、GML、KML、Google Fusion Tables等地理數(shù)據(jù)/服務(wù)涵蓋的地理范圍,如果僅想預(yù)覽部分格式,那么可在CKAN配置文件中加入ckanext.geoview.ol_viewer.formats變量;Leaflet GeoJSON Viewer以地圖檢視GeoJSON檔案,支持Geojson與Gjson兩種文件格式名稱定義,如果使用此功能,則需要在ckan.plugins加入resource_proxy與geojson_view(2.2以下版本則為geojson_preview);Leaflet WMTS Viewer以地圖檢視WMTS服務(wù)圖層,支持wmts格式名稱定義[23]。
2.6可視化
CKAN的數(shù)據(jù)預(yù)覽工具具有許多強大的功能,可用于預(yù)覽Data Store中存儲的數(shù)據(jù)。具體而言,包括5個方面:1)表格視圖。如果CSV與EXCEL格式的結(jié)構(gòu)化數(shù)據(jù)上傳或鏈接到CKAN,那么DataStore會將其加載到數(shù)據(jù)庫中,從而允許CKAN提供一系列查看和處理數(shù)據(jù)的方式,而這些數(shù)據(jù)最初以表格形式顯示。用戶可以按特定比例來對數(shù)據(jù)進行排序,也可以篩選或分面或完全隱藏列。2)圖形化數(shù)據(jù)。用戶可以顯示圖表數(shù)據(jù),選擇坐標軸上的變量并通過在同一個y軸上將它們一起繪制成多個變量來進行比較。3)測繪數(shù)據(jù)。如果表格中有CKAN識別為經(jīng)度和緯度的列,那么CKAN可以繪制地圖上的數(shù)據(jù)點,而且這些數(shù)據(jù)點可以平移(拖動)和縮放。選擇一個數(shù)據(jù)點,那么將顯示相應(yīng)行中的所有字段值。4)圖像數(shù)據(jù)。CKAN的預(yù)覽不限于表格數(shù)據(jù),還可以顯示常見的圖像數(shù)據(jù)。如果資源是網(wǎng)頁,那么它也將直接在CKAN數(shù)據(jù)集中得到預(yù)覽。5)自己推出(Roll Your Own)。CKAN的內(nèi)置預(yù)覽是使用DataStore的API。如果用戶有自己的數(shù)據(jù)預(yù)覽工具或正在計劃構(gòu)建它們,那么可以很容易地將它們插入到API中,以便可以即時創(chuàng)建可視化,而無需用戶下載數(shù)據(jù)[24]。
2.7擴展彈性
CKAN允許用戶選擇想要用于數(shù)據(jù)門戶上的功能,或者用戶也可以按照《擴展指南》(Extending Guide)來開發(fā)自己的產(chǎn)品。CKAN可安裝多達60種可擴充套件,可獨立添加到原有設(shè)定延伸的功能。例如,前面所述的地理空間功能Ckanext-Space;從不同的存儲庫來源采集數(shù)據(jù)的Ckanext-Harvest;整合谷歌分析數(shù)據(jù)的Ckanext-GoogleAnalytics;提供地理數(shù)據(jù)預(yù)覽功能的Ckanext-Geoview[25]。如果用戶想要為自己的數(shù)據(jù)門戶開發(fā)擴展程序,可以直接與CKAN協(xié)會的商業(yè)會員進行聯(lián)系,如OPENGOV、LINK DIGITAL、VIDERUM[26],或者在開發(fā)人員郵件列表或用戶郵件列表中查詢可以促進開發(fā)擴展程序的人員[27]。
3元數(shù)據(jù)管理
元數(shù)據(jù)是一種能夠跨時間、跨領(lǐng)域來創(chuàng)造、管理、并使用記錄的一種結(jié)構(gòu)或半結(jié)構(gòu)化數(shù)據(jù)[28]。所謂結(jié)構(gòu)化數(shù)據(jù)是指,有系統(tǒng)地將數(shù)據(jù)排序而且經(jīng)常以特定的規(guī)格來記錄[29]。一個CKAN數(shù)據(jù)集包含一個或多個資源和元數(shù)據(jù),這些資源可以是文件或文件的鏈接或API的鏈接,讓數(shù)據(jù)集可分群組與下標簽,從而更容易被瀏覽與查詢。CKAN元數(shù)據(jù)主要包含:1)標題(Title),是允許數(shù)據(jù)集搜索、分享和鏈接的直觀標志;2)唯一標識符(Identifier),即數(shù)據(jù)集都有一個唯一的網(wǎng)址是由發(fā)布者制定;3)群組(Group),顯示屬于哪一群組的數(shù)據(jù),能夠提供方便的數(shù)據(jù)鏈接,可尋找和共享彼此感興趣的發(fā)布者與用戶;4)說明(Description),描述或分析數(shù)據(jù)的附加信息,這可以是靜態(tài)的或可編輯的wiki,任何人都可以及時審核或通過管理員審核來進行貢獻;5)數(shù)據(jù)預(yù)覽(Data Preview),通過.csv數(shù)據(jù),可快速地在瀏覽器中看到是否是自身所需的數(shù)據(jù)集;6)修正歷史(Revision History),即CKAN可以顯示修正歷史的數(shù)據(jù)集,這可由用戶自由編輯;7)API密鑰(API Key),通過API Key,如果有相關(guān)的API權(quán)限,即可允許改變數(shù)據(jù)集每一個元數(shù)據(jù)的字段數(shù)據(jù)[30]。在上述元數(shù)據(jù)中第六部分內(nèi)容上,CKAN使用開放知識基金會(Open Knowledge Foundation)的Versioned Domain Model(VDM)來完整記錄數(shù)據(jù)集元數(shù)據(jù)的編修與版本,保存用戶活動的完整歷史記錄。
另一方面,由于CKAN是分布式聯(lián)合數(shù)據(jù)搜集,因而可以遠程抓取其它系統(tǒng)的數(shù)據(jù),便于集中瀏覽與搜尋。具體而言,可以從其它CKAN站點取得元數(shù)據(jù),可用于建立一個CKAN節(jié)點的聯(lián)合網(wǎng)絡(luò)來彼此分享數(shù)據(jù)。例如,一個國家級的開放數(shù)據(jù)門戶網(wǎng)站想要收集地方政府CKAN站點的數(shù)據(jù),或者一個特定主體式CKAN站點想要建立可從其它CKAN源數(shù)據(jù)集的子集合中收集數(shù)據(jù)的站點。以美國和英國為例:美國是世界上最早建立“一站式”數(shù)據(jù)門戶的國家,它直接為后來的諸如英國、法國、加拿大、澳大利亞等國的開放政府數(shù)據(jù)樹立了榜樣[31],它的開放數(shù)據(jù)門戶網(wǎng)站Data.gov可從數(shù)百個機構(gòu)獲得元數(shù)據(jù),讓它們?nèi)菀诪g覽與搜尋;2010年1月,英國政府數(shù)據(jù)網(wǎng)站(Data.gov.uk)正式對外開放,開放該網(wǎng)站是英國政府的透明度議程中的一部分,旨在以容易發(fā)現(xiàn)、許可和再利用的形式來發(fā)布數(shù)據(jù)[32],Data.gov.uk也實現(xiàn)發(fā)現(xiàn)元數(shù)據(jù)服務(wù),旨在滿足英國規(guī)定歐盟INSPIRE指令(http://inspire.ec.europa.eu/)的義務(wù)。
4關(guān)聯(lián)數(shù)據(jù)集的API發(fā)布
如果按照英國計算機科學家及全球信息網(wǎng)(World Wide Web,Web或WWW)發(fā)明人蒂姆·伯納斯-李(Tim Berners-Lee)多年提倡的語義網(wǎng)(Semantic Web)概念進行政府數(shù)據(jù)開放,那么建議采用資源描述框架(Resource Description Framework,RDF)以及關(guān)聯(lián)數(shù)據(jù)技術(shù),以便結(jié)合多種類型資源的數(shù)據(jù)來呈現(xiàn)。蒂姆·伯納斯-李在2010年制定5星評級模型(見表1),能夠衡量個別數(shù)據(jù)集的再利用程度及數(shù)據(jù)質(zhì)量,作為以語義網(wǎng)釋放政府數(shù)據(jù)的相關(guān)配套措施。由此可見,應(yīng)當關(guān)注政府數(shù)據(jù)開放平臺如何為5星級的關(guān)聯(lián)數(shù)據(jù)集提供API服務(wù)。就CKAN而言,在2010年1月發(fā)布的初期版本[33]就具有將數(shù)據(jù)集及所包含的數(shù)據(jù)將數(shù)據(jù)發(fā)布設(shè)為數(shù)據(jù)鏈路的功能(支持RDF/XML與Notation 3格式)。所謂數(shù)據(jù)鏈路是指,在數(shù)據(jù)通信網(wǎng)中,按一種鏈路協(xié)議的技術(shù)要求連接兩個或多個數(shù)據(jù)站的電信設(shè)施[34]。為了進一步完善數(shù)據(jù)鏈路功能,開放知識基金會于2013年開始開發(fā)Ckanext-Dcat擴充套件[35],從而不僅提供更多數(shù)據(jù)鏈路格式(RDF/XML、Notation 3、Turtle與JSON-LD)輸出,而且更加對應(yīng)CKAN的數(shù)據(jù)采集接口,以支持大量數(shù)據(jù)輸入。
CKAN包括一個Web接口和CKAN動作API(CKAN Action API),使得數(shù)據(jù)發(fā)布者不僅可以添加、刪除和編輯數(shù)據(jù)集,還可以進行授權(quán)管理以及用戶分析[37]。數(shù)據(jù)用戶則可以通過Web界面或API來搜索、預(yù)覽和下載數(shù)據(jù)集。CKAN提供豐富的RESTful JSON API針對數(shù)據(jù)集與元數(shù)據(jù)提供查詢與存取功能。API提供的存取包括:1)主接口所有功能的全文檢索與任何屬性與多層次檢索查詢與搜尋;2)全部數(shù)據(jù)集信息包含下載的鏈接;3)儲存的數(shù)據(jù);4)出版者或版面等的數(shù)據(jù)集列表;5)最近活動與數(shù)據(jù)更新部分(也通過RSS/Atom);6)數(shù)據(jù)集使用統(tǒng)計與分析功能,如通過整合谷歌分析(Google Analytics)擴充數(shù)據(jù)集來源瀏覽次數(shù)與下載次數(shù);7)次數(shù),并可加掛擴充模塊;8)RDF版本的目錄(利用CKAN RDF擴充);9)整個目錄的下載轉(zhuǎn)為CSV & JSON格式。通過使用CKAN API,用戶的應(yīng)用程序可以:獲取站點的數(shù)據(jù)集;搜索匹配查詢的資源;創(chuàng)建、更新和刪除數(shù)據(jù)集、資源和其它對象;獲取網(wǎng)站上最近更改的數(shù)據(jù)集的活動流[38]。
CKAN整個API文件存放于http://docs.ckan.org/,擁有精細的授權(quán)與訪問控制,可針對各個數(shù)據(jù)集設(shè)定使用者和出版者的新增與編輯權(quán)限。通過讀寫API,可以提供授權(quán)的用戶去更新數(shù)據(jù)集信息或元數(shù)據(jù),可讓數(shù)據(jù)發(fā)布者很容易利用其它已有的工具與工作流程,從而整合數(shù)據(jù)集去發(fā)布。雖然CKAN ActionAPI用于對數(shù)據(jù)集和資源進行CRUD操作,但查詢結(jié)構(gòu)化資源(Excel或CSV文件)中的內(nèi)容是通過Datastore API完成的[39]。為了將Excel文件添加到Datastore中,必須對其進行修改。在添加文件之前,必須刪除相關(guān)函數(shù)。這使得CKAN存在幾個顯著的缺陷:需要修改Excel文件,并不是所有記錄都添加到API數(shù)據(jù)庫中,也沒有對特殊字母進行排序。由于這些缺陷,CKAN未能執(zhí)行一些預(yù)期的API查詢。
5平臺構(gòu)建
由微軟開放技術(shù)有限公司發(fā)布的Vmdepot是可以輕松部署在Microsoft Azure[40]上的預(yù)配置操作系統(tǒng)、應(yīng)用程序的社區(qū)主導型目錄。要想通過Vmdepot鏡像來部署CKAN開放數(shù)據(jù)門戶,就必須要有一個可用的Microsoft Azure公有云賬戶。在Vmdepot上,可以下載包含預(yù)裝軟件包的Ubuntu12.04.3的2個鏡像:在包含CKAN數(shù)據(jù)庫存儲的鏡像上,預(yù)先安裝了PostgreSQL-9.1和Solr包;在包含CKAN實例的鏡像上安裝了Apache。CKAN平臺可以從源安裝,也可以從包安裝。為避免安裝過程中出現(xiàn)并發(fā)問題,因而使用包含運行CKAN安裝的2個鏡像來在Azure上創(chuàng)建2臺虛擬機。創(chuàng)建過程中,必須通過SSH遠程登錄到CKAN計算機上來創(chuàng)建CKAN的系統(tǒng)管理員用戶,然后才能實現(xiàn)功能環(huán)境。但是,在遵循官方CKAN文檔中的“入門”指南時,會遇到無法使用paster命令來刪除測試數(shù)據(jù)的情況。paster命令是Python Paste Framework[41]的一部分。這將導致要重新創(chuàng)建虛擬機,并不再嘗試通過使用此命令來創(chuàng)建和刪除測試數(shù)據(jù)。另外,CKAN可安裝于Linux Ubuntu以及其他如RedHat、Debian、Fedora、CentOS與OSX操作系統(tǒng)上。
在建立CKAN開放數(shù)據(jù)平臺時,政府可以采用以下3種主要策略:1)使用開放源代碼安裝它并自己維護它;2)購買提供CKAN Express的開放知識基金會標準數(shù)據(jù)門戶;3)使用提供了CKAN協(xié)議包的非官方提供商。CKAN Express提供了3個被稱為“試點”(Pilot)、“生產(chǎn)”(Production)和“專業(yè)”(Professional)的程序包。程序包的服務(wù)等級協(xié)議包括CKAN的所有基本服務(wù)以及數(shù)據(jù)存儲和采集(DataStore and Harvesting)的擴展[42]?!皩I(yè)”的程序包還包括管理員網(wǎng)站培訓、100GB的文件存儲、最多10個編輯器,以及通過電子郵件或電話為數(shù)據(jù)編輯者和管理員提供支持,即在2個工作小時內(nèi)針對相關(guān)問題及時做出回應(yīng)。這些程序包的最低認購期是1年,然后是30天的通知。
6結(jié)語
CKAN是世界領(lǐng)先的開放數(shù)據(jù)管理平臺,集數(shù)據(jù)發(fā)布、共享、搜索和使用為一體,并且提供了強大而完善的RPC APIs供用戶調(diào)用[43]。作為數(shù)據(jù)的發(fā)布平臺,CKAN在國內(nèi)外有很多應(yīng)用案例,但如果要發(fā)布另外形式的一些內(nèi)容(如圖片、多媒體等資源),則可以采取兩種方式:一種是在CKAN中撰寫擴展套件,處理這些資源的預(yù)覽;另一種是在CKAN的外層再包一個框架,然后在外面的框架中進行處理。這兩種方式各有利弊:在CKAN中直接處理的好處是,所有內(nèi)容集中在一起,能夠統(tǒng)一開展工作,但不確定CKAN的架構(gòu)是否適合負荷這類內(nèi)容;在外層再包一個框架的好處是,當前有很多這種框架的資源,但缺點是內(nèi)容分散在兩處。即便如此,CKAN也不是十全十美,一些方面還需要結(jié)合其它開源內(nèi)容管理框架,如Drupal具有開源特性和模塊化特點。以英國開放政府數(shù)據(jù)網(wǎng)站data.gov.uk來說,擁有8 000個數(shù)據(jù)集、50 000個數(shù)據(jù)(其中有32 000個是實際的數(shù)據(jù)文件),采用CKAN作為數(shù)據(jù)管理系統(tǒng)、以Drupal作為內(nèi)容管理系統(tǒng),再加上數(shù)據(jù)庫與網(wǎng)站抓取機制,共使用2臺主機(Xeon 5660s,2.8GHz,12核心,36GB內(nèi)存)[44]。因此,充分發(fā)揮CKAN平臺的核心功能、元數(shù)據(jù)管理以及關(guān)聯(lián)數(shù)據(jù)集的API發(fā)布等方面的優(yōu)勢,結(jié)合Drupal等開源內(nèi)容管理框架來構(gòu)建開放數(shù)據(jù)平臺才是最優(yōu)選擇。
參考文獻
[1]岳麗欣,劉文云.我國政府數(shù)據(jù)開放平臺建設(shè)現(xiàn)狀及平臺框架構(gòu)建研究[J].圖書館,2017,(2):81-85.
[2]錢曉紅,胡芒谷.政府開放數(shù)據(jù)平臺的構(gòu)建及技術(shù)特征[J].圖書情報知識,2014,(3):124-129.
[3]李盼,翟軍,陳燕.基于Drupal的政府開放數(shù)據(jù)平臺構(gòu)建[J].現(xiàn)代情報,2016,(8):37-43.
[4]孫紹丹,陳凌,馬卓.基于鏈接分析法的中美政府數(shù)據(jù)開放網(wǎng)站影響力比較研究[J].圖書館學研究,2018,(14):43-51.
[5]The Data Hub Software[EB/OL].https://ckan.org/files/2012/02/CKAN-Information-brochure.pdf,2018-02-25.
[6]What is DataHub?[EB/OL].https://datahub.csail.mit.edu/www/,2018-02-27.
[7]About CKAN[EB/OL].http://ckan.org/developers/about-ckan/,2018-02-29.
[8]Basic Orientation to CKAN(for developers)[EB/OL].https://gist.github.com/seanh/3414107,2018-03-02.
[9]Ckan-Harvest-Remote Harvesting Extension[EB/OL].https://github.com/ckan/ckanext-harvest,2018-03-02.
[10]Upgrading a Source Install[EB/OL].http://docs.ckan.org/en/ckan-2.7.0/maintaining/upgrading/upgrade-source.html,2018-03-05.
[11]Ckan-Announce—A Low-Volume Mailing List for Important CKAN Announcements[EB/OL].https://lists.okfn.org/mailman/listinfo/ckan-announce,2018-03-08.
[12]Theming Guide[EB/OL].http://docs.ckan.org/en/latest/theming/index.html,2018-03-08.
[13]DataStore Extension[EB/OL].http://docs.ckan.org/en/latest/maintaining/datastore.html,2018-04-06.
[14]DataStore Extension[EB/OL].https://ckan.org/portfolio/datastore/,2018-04-16.
[15]CKAN[EB/OL].http://www.dcc.ac.uk/resources/external/ckan,2018-03-15.
[16]Ckan/Ckanext-Harvest[EB/OL].https://github.com/ckan/ckanext-harvest,2018-03-16.
[17]表單域[EB/OL].https://baike.baidu.com/item/%E8%A1%A8%E5%8D%95%E5%9F%9F/3788809?fr=Aladdin,2018-03-10.
[18]Publish and Manage Data[EB/OL].https://ckan.org/portfolio/publish-and-manage-data/,2018-03-13.
[19]DataPusher-Automatically Add Data to the CKAN DataStore[EB/OL].http://docs.ckan.org/projects/datapusher/en/latest/,2018-03-13.
[20]Search and Discovery[EB/OL].https://ckan.org/portfolio/search-and-discovery/,2018-03-18.
[21]Ckanext-Spatial-Geo Related Plugins for CKAN[EB/OL].http://docs.ckan.org/projects/ckanext-spatial/en/latest/,2018-03-25.
[22]邸弘陽,任思琪.政府數(shù)據(jù)公開網(wǎng)絡(luò)平臺的數(shù)據(jù)管理與利用方式研究[J].圖書館雜志,2017,(1):88-96.
[23]Ckan/Ckanext-Geoview[EB/OL].https://github.com/ckan/ckanext-geoview,2018-03-28.
[24]Visualization[EB/OL].https://ckan.org/portfolio/visualization/,2018-04-16.
[25]List of Extentions[EB/OL].https://github.com/ckan/ckan/wiki/List-of-extensions,2018-04-25.
[26]Commercial Support[EB/OL].https://ckan.org/commercial/,2018-04-26.
[27]Extend[EB/OL].https://ckan.org/portfolio/extend/,2018-04-27.
[28]Wallace.Archiving Metadata Forum:Report from the Recordkeeping Metadata Working Meeting,June 2000[J].Archival Science,2001,(3):253-269.
[29]Greenberg.A Quantitative Categorical Analysis of Metadata Elements in Image-applicable Metadata Schemas[J].Journal of the American Society for Information Science & Technology,2001,(11):917-924.
[30]Search and Discovery[EB/OL].https://ckan.org/portfolio/search-and-discovery/,2018-04-28.
[31]陳美.美國開放政府數(shù)據(jù)的保障機制研究[J].情報雜志,2013,(7):148-153.
[32]陳美.英國開放數(shù)據(jù)政策執(zhí)行研究[J].圖書館建設(shè),2014,(3):22-27.
[33]v0.11 2010-01-25[EB/OL].http://docs.ckan.org/en/latest/changelog.html#v0-11-2010-01-25,2018-04-29.
[34]數(shù)據(jù)鏈路[EB/OL].https://baike.baidu.com/item/%E6%95%B0%E6%8D%AE%E9%93%BE%E8%B7%AF/7181323?fr=Aladdin,2018-05-01.
[35]Ckan/Ckanext-Dcat[EB/OL].https://github.com/ckan/ckanext-dcat,2018-05-02.
[36]5★ Open Data[EB/OL].http://5stardata.info/,2018-05-02.
[37]CKAN Features[EB/OL].http://ckan.org/features/,2018-05-03.
[38]API[EB/OL].https://ckan.org/portfolio/api/,2018-05-04.
[39]DataStore Extension[EB/OL].http://docs.ckan.org/en/ckan-2.7.3/maintaining/datastore.html,2018-05-05.
[40]Microsoft Azure[EB/OL].http://vmdepot.msopentech.com/,2018-05-05.
[41]Python Paste Framework[EB/OL].http://pythonpaste.org/,2018-05-05.
[42]CKAN Express[EB/OL].http://ckanexpress.com/pricing/,2018-05-05.
[43]陳美.澳大利亞地方政府開放數(shù)據(jù)的保障機制研究——基于多元公共行政觀的視角[J].情報理論與實踐,2017,(12):139-144.
[44]Wich Hardware for a CKAN Like Data.gov.uk?[EB/OL].http://lists.okfn.org/pipermail/ckan-discuss/2012-October/002451.html,2018-05-05.
(責任編輯:郭沫含)