LASS 專案 - 民生公共物聯網 資料來找碴

緣起

  • LASS 社群想要給水議題幫助,發現民生公共物聯網 似乎資料品質需要加強,才能方便後續的使用,於是想要用開源的資料驗證程式,檢查錯誤的地方,提升資料的品質


開發目的

  • 提升民生公共物聯網資料品質,減少開發者負擔,促進相關應用的發展

  • 開放開源專案程式碼與執行結果提供給所有人,讓公部門能參考加強資料正確性,也可使用這個程式,持續驗證資料的正確性。讓後續的應用程式開發者,也可參考/複製相關程式碼與邏輯,減輕後續開發的負擔

文件

公開
文件起始: 20191025
目前狀態: 設計草案
版權: CC by Name (LASS)

Scope

  • 資料驗證程式以民生公共物聯網開放資料與 API 驗證為目標,唯初期以水資源為開始
  • 主要驗證資料的正確性,其他問題留給別人去處理

開發原則

  • 程式碼開源,版權為 MIT?
  • 文件版權: CC by Name (LASS)
  • 社群共創, LASS 核心決策

專案名稱

[TBD]
CITDP
  • Civil IOT Taiwan - Data Police

情境

  • 資料提供單位,提供資料前驗證
  • 開發者,開發程式之前,先確認資料品質
  • 當應用程式執行期,資料有問題時,再檢查資料相關問題
  • 會有程式持續執行,長期監測資料正確性
  • 社群出資料品質報告
  • 開發者,程式碼參考與應用

規格

目前規格版本: V0.2,狀態:草案
  • 架構
  • 需使用 Unittest 的方法來開發
  • 需要有 CLI (Command Line Interface)
  • 兩層,支援 Tab completion, history, document
  • 需用 Schema 定義資料標準,根據 schema 做驗證,不是瑣碎的每個欄位驗證
  • 使用 Python (3.5?),可在 PC 上執行,Mac/Win 相容
  • 不需轉成執行檔
  • 要有執行 debug log, log 要有 level
  • 方便部分重測,繼續測試功能
  • Result 結果能轉設定,有問題的下一次可以不用重測
  • 可支援自動測試也可使用 CLI 手動測試
  • 週期驗證與資料保存
  • 設計可自己或被週期執行,報告與結果能被區分不被覆蓋
  • 針對輸出 Report, 可以再讀入做總結報告
  • 驗證對象
  • 能吃標準驗證已存擋資料
  • 能驗證線上 API, 線上開放資料檔案
  • 可再加入新的驗證對象
  • 驗證資料範圍
  • 目標: 民生公共物聯網所有公開資料與 SensorThings API
  • 優先: 水資源
  • 驗證角度
  • 根據相關規範做驗證
  • 資料格式是否正確
  • 觀測數值有沒有正確
  • 是否依照頻率更新
  • 存取的速度夠不夠快
  • 報告
  • 每個測項都有 PASS/Fail Result
  • 錯誤檢查細節
  • 可方便取得每一筆的錯誤,回報給資料處理單位
  • 針對某些特定 Schema 錯誤
  • 錯誤統計
  • 針對某個資料提供單位的結果與評比
  • 設定
  • 要有設定檔控制設定
  • 哪些開放資料 or API 需檢查
  • 檢查是否詳細,可以定義不同等級
  • Unittest 可彈性設定哪些要測
  • Schema 來源檔
  • 驗證哪些時間的資料
  • 執行情境與細部設定(針對不同單位使用方式和客製化使用)
  • 資料設定需提供來源單位
  • 文法規定
  • 自行定義型態
  • 建議使用 SensorThings API 的 schema 做為參考起始
  • 定義架構須能適用於 Open Data, SensorThings API, 且有擴充性,未來可能需要驗證其他 API
  • 驗證內容
  • 哪些 schema 要驗
  • 需有驗證 sample
  • 需有驗證 golden sample
  • 資料語意 Integer
  • 知識語意 (水位)
  • 穩定性
  • 驗證程式不能因為資料錯誤而當機,遇到問題需完整回報後離開
  • 情境
  • 驗證者手動執行,資料除錯與出報告
  • 自動週期執行,出報告
  • 減輕後續應用程式開發難度
  • 資料應用範例程式
  • 相關函式庫可被其他程式使用
  • 讓公部門運用
  • 當水利署/民生公共物聯網提出規範時,系統要能使用那個規範
  • 規範來源
  • 水利署
  • 民生物聯網
  • 社群活動設計
  • 資料/API錯誤報告
  • 資料/API建議報告
  • 維護與管理
  • 版號設計,釋出流程
  • 使用 Github
  • 提供報告,Log 等範例結果
  • 開發原則
  • 單一測項,盡可能測完整,提供更多log,即使已經可以宣判錯誤
  • 資料友善
  • 資料說明與定義更清楚
  • 開發與執行效率
  • data 正使用的 schema 列表
  • 簡答是否哪些 schema 尚未被定義
  • 實作預設定義檢查
  • 同樣資料盡可能不重複下載
  • 友善接續其他專案
  • 後續應用 App 接軌
  • Knowledge graph 接軌

設計

[ TBD ] 

實作

[ TBD ]

驗證

水資源物連網資料_討論與問題
  https://drive.google.com/open?id=1ci3SpAoqZGzhFUGwe2yRBPwi6w1eqOCD
[ TBD ]

測試

[ TBD ]

研究

[ TBD ]

線上會議

資料來找碴-規格討論-1
時間:一個小時, 10/11(五) 10:00-11:00
地點:  Zoom 參與
與會: 哈爸,志全,維嘉,東坡,輔祥


資料來找碴-規格討論-2
時地: 10/23(三) 9:30-10:30,線上 Zoom
與會: 哈爸,志全,維嘉,東坡

資料來找碴-規格討論-3
時地: 11/1(五) 19:30-20:30,線上 Zoom
建議與會: 社群對此專案有興趣的夥伴
Agenda:
  • [哈爸]專案基本說明
  • [哈爸]目前規格報告
  • 規格討論
  • [每人 1min]與會夥伴自我介紹
  • 設計/實作展開召集
  • 散會

事前準備
  • 建議比較有興趣參與的夥伴,先讀相關規格,準備問題與反饋。相關問題,可先自入共筆

連線資訊
加入 Zoom 會議
https://zoomtw.zoom.us/j/2227091234?pwd=d1VxdWY1aTRzb3hiY01ISmM5M1FoUT09

會議 ID:222 709 1234
密碼:1101

備註:
  • 哈爸報告專案說明與目前規格
  • 與會自我介紹
  • 志全報告目前看到資料上的問題
  • 簡單的溝通與討論
  • 規格狀態為草案,等到基本設計再跟社群公開與開會,那時也來將規格定案
  • 會議記錄會公開,會議錄影公開。請有需要的人參考 

會議參考資料
水資源物連網資料_討論與問題
  https://drive.google.com/open?id=1ci3SpAoqZGzhFUGwe2yRBPwi6w1eqOCD

與會人員: 

參考


CI物聯網規範文件 

資料品質檢驗機制參考:
(十) 政府資料品質提升機制運作指引 - 為提升政府資料開放內容之正確性、易用性、即時性及採適當格式開放,使政府資料開放邁向結構化,爰訂定本運作指引,以期協助各機關建立資料品質概念、逐步提升政府資料之可用性 …ref. from: 政府資料開放平台:  https://data.gov.tw/
(資料品質檢測方式: 分為三個構面,七項指標)