資料連結,讓大家能各取所需

許多人會抱怨政府提供的資料不夠乾淨,之前我們也花許多時間對資料作清理,但是清理之後開始在思考,到底什麼叫作乾淨的資料?

以一份行政區人口為例,對於想看資料的人來說,他只想要看到

行政區人口
新北市板橋區556,920
臺北市松山區210,343

這樣對看資料的人來說就是一份很乾淨的資料。

但是對於想與其他資料做交叉比對的人來說,這份資料就不乾淨了,因為他要交叉比對的另一份資料也許用的是 「臺北市」(台、臺問題真的困擾需多資料處理者),也許用的是「中華民國行政區域及村里代碼:63000」,也許是「ISO3166-2:TPE」

因此,對於資料使用者來說,也許期待看到的是:

行政區代碼人口
65000010556920
63000010210343

也有人可能為了想要方便篩選不同縣市資料,因此期待看到的是

縣市鄉鎮人口
新北市板橋區556920
臺北市松山區210343

所以什麼是乾淨的資料,似乎是沒有通則的,每個人因為對資料需求的不同,心中乾淨的資料就會不同,而這也是 Linked Data 資料連結的重要所在,有了 Linked Data ,「臺北市松山區」不再只是六個字而已,只要他能被連結到 「中華民國鄉鎮市區:臺北市松山區」,那麼這個資料就更容易被使用者依不同需求轉換成他所需要的型式。

SheetHub 希望能將資料從三星變五星,不只是口號而已,而是希望從五星資料具體為大家帶來好處,這邊就來介紹一下 SheetHub 提供的資料連結功能吧,讓被連結的資料每個人都可以取得心目中乾淨的資料。

以下就教大家在 SheetHub 如何透過已經建好的連結取得自己需要的格式吧!

data.gov.tw / 各鄉鎮市區人口密度 資料為例,這是來自於 http://data.gov.tw/node/8410 的資料。

首先介紹一下一個參數叫 column_query ,這個參數可以讓你篩選你想要的欄位,有時候原資料有些欄位你是不需要的,可以透過 column_query 取你所需。你只要在網址後面加上 ?column_query=[你要的欄位,用逗點分開] 即可。

例如 ?column_query=區域別,年底人口數 就可以只列出這兩個所需的欄位。

而我們可以到 索引頁籤可以看到他透過 LINK_ID=86 連結到了 ronnywang/中華民國鄉鎮市區

而點進去 ronnywang/中華民國鄉鎮市區 可以看到他包含了 TOWN_ID, SEGIS_TOWN_ID, TOWN_NAME ... 欄位可以使用

因為有了資料連結,現在在 column_query 中也可以用到這些連結到的欄位,因此可以用 ?column_query=86.SEGIS_TOWN_ID,年底人口數 取得只有代碼跟人口數的資料。

而我們到 ronnywang/中華民國鄉鎮市區 的索引 可以看到,他透過 LINK_ID=29 連結到 ronnywang/中華民國縣市 ,並且中華民國縣市這個 sheet 有 COUNTYID, NAME_1984, NAME_2010, NAME_2014, ISO3166, SEGIS_COUNTY_ID 等欄位,因此也可以用 ?column_query=86.29.NAME_2010,86.TOWN_NAME,年底人口數 取得有縣市名稱、鄉鎮名稱以及人口數的資料。

因此! 透過資料連結以及 column_query 參數,前面各種需求,都可以讓使用者依需求得到想要的資料格式囉! (目前 column_query 還需要手動在網址輸入參數,之後會加上網頁界面讓大家更容易的使用!)

下一篇會介紹如何透過 SheetHub 來做資料連結喔!