g0v x CKAN - 開放資料彙整平台
現況 / 為什麼
g0v 現在有許多資料四散在各處,例如:
- 專案自行提供的 API - ex 立委大頭照
- 引用外部的開放資料 API
- 其他外部的 pdf, doc ... 等非 API 資料來源
希望有一個地方能彙整這些資料,並且能以 「專案」、「tag」、「檔案格式」、「License」等方式快速搜尋出資料
而以上描述的使用模式,正是 CKAN 所擅長的。
CKAN 是什麼
CKAN 是一個開源的資料入口網,由 Open Knowledge Foundation 所發起。CKAN 官方自詡為 "the world’s leading open-source data portal platform",如此稱呼確實不為過。目前 CKAN 被應用在美國、英國、日本、巴西等等國家政府的開放資料入口網,台灣也有少數開始應用的例子。
- 美國:http://www.data.gov/
- 英國:http://data.gov.uk/data/search
- 其他例子,可見:http://ckan.org/instances/
技術面:CKAN 由 Python 輔以一些後端搜尋技術開發而成,資料庫使用 Postgresql
詳細可參考官網:http://ckan.org/
CKAN 的結構
主結構
- Organization (組織) - 資料的擁有者,例如「環保局」
- DataSet (資料集) - 資料的集合,可屬於單一組織 (也可不屬於任何組織),一個資料集內可有多筆資料
- Resource (資料/資源) - 通常是一個資料來源連結與一些 metadata,參照到一個外部的資料來源(例如 http://api.ly.g0v.tw/v0/collections/)
其它
- Group (分類) - 資料集的分類,一個 DataSet 可以屬於多個分類
- Group 的 member 可將 dataset 加入或移出 group
- 其餘如:tag, license, map 等東西很直覺,不多作解釋
- Organization 在 ckan 2.2 以後,可以多層
- Organization 的 member 可以看到該 organization 的 private dataset
- Organization 的 editor 與 admin 可以在 organization 底下新增 dataset
測試
- 暫時測試環境:http://ckan.g0v.today (我們安裝的版本為 CKAN 2.2)
- Issue Tracking: https://github.com/g0v/ckan
坑們
- 需要 lucene / solr 高手協助解決中文斷詞、中文搜尋問題
- 資料整理
- 將 g0v 使用到的外來 (data.gov.tw 或其他地方) 開放資料整理自 CKAN (參考 Q&A - Q2 )
- 將 g0v 出產的 API 或資料整理到 CKAN
- ly - http://api.ly.g0v.tw
- AddressBook
- 新聞小幫手
- 翻譯 (歡迎熟悉 transifex 的朋友參與:https://www.transifex.com/projects/p/ckan/language/zh_TW/ 需登入並申請進入 translation team)
- Extensions
- Install DataStore Extension
- Install FileStore Extension
- Install PDF Preview Extension
- Install Organization Hierarchy Extension
技術細節
- Preview
- DataExplorer: CKAN 預設可以透過 recline preview extension 以 GridView 的方式預覽 `csv` 及 `xls` 資料
- Text preview:對於 json / html / xml ... 等資料, CKAN 會用 browser 來 preview
- PDF preview
- PDF Preview 需額外安裝 Extension, 目前未安裝
- DataStore
- CKAN 預設只作為資料的 Reference,而不直接將「資料內容」匯入。因此也只能搜尋資料 (DataSet 或 Resource) 的 Metadata,而非內容。
- DataStore 是一個 CKAN 的 Extension,可將「資料內容」匯入 CKAN 的 postgresql 資料庫中,並且透過介面或 API 取得或搜尋「資料內容」
- FileStore
- 類似 DataStore, 但是是上傳檔案,而非將檔案匯入資料庫
Q & A
Q1: 與 http://data.g0v.tw 有什麼不同
A:
- http://data.g0v.tw 比較像是 data request 平台,並非用作資料彙整
- ronnywang 提議可將 data.g0v.tw 改為 data-request.g0v.tw : Logbot Link
Q2: 與 http://data.gov.tw (政府開放資料入口) 有什麼不同
A:
- `g0v CKAN` 專為 g0v 專案而設
- 若資料已經在 `data.gov.tw` ,但資料是 g0v 專案有使用到的資料。可將之 (用連結 reference) 加到 `g0v CKAN`。因此 `g0v CKAN` 可以漸漸成為所有 g0v 專案參與者想要找與專案相關的資料、專案相關 API 的入口網站。
- 可用 tag 或 group 等方式,標注該資料是被應用在哪個 g0v 專案。
Q3: 與 http://campaign-finance.g0v.olc.tw/ 會衝突嗎?
A:
- 應不會,目前 http://campaign-finance.g0v.olc.tw/ 看起來可用來彙整「政治獻金」還有哪些文件需要去列印出來(推坑),與此平台(整理既有資料)的方向不同。
- 簡單的說就是一個認領資料的地方,為了避免有重複認領的情況才設置,或是幫忙補充應該要提早認領的原因等等;討論區的形式比較不正式,在還沒有更好的選擇之前先將就著用?
其他相關討論
- 請問 此系統 與 OpenStack 的架構與功能
g8v.tv可能也有許多 文件要整合某個系統領域