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