第 5 章 整合程序與實驗平台設計
Algorithm 3 子集合內資料項彙整運算程序 Require:
6.2 測試範例說明
國
立 政 治 大 學
‧
Na tiona
l Ch engchi University
查詢對象集合中找出可以整合的對象進行查詢,完成後再將各別查詢的結果於結 果輸出區內整批顯示。
圖 6.2: 整合查詢功能
完成整合查詢後,在查詢結果區內的資料仍呈現分散獨立的描述架構,因此 必須再透過執行資料重整程序 (章節 4.4) 將結果資料集合重新整理,最後將重整 的結果顯示於資料重整結果區,作後利用虛擬化圖表工具來顯示結果以供資料判 讀及利用。
6.2
測試範例說明
整合測試平台以目前台灣電子化政府所公開的資訊作為測試參考對象,並將 參考資料作適當的簡化與修改以便能夠在資料複雜度較低的情況下完整測試整合 程序的每個步驟,測試的對象包含了資料庫與電子化表格兩個不同格式的儲存方 式,其中資料庫的部分選擇使用中華民國統計資訊網 (http://www.stat.gov.tw/) 的 統計資料庫內的「來台旅客人數統計」作為模擬的資料庫測試標的,而電子化表格
‧
的部分則選擇交通部觀光局 (http://admin.taiwan.net.tw/) 所公布的「觀光類重要參 考指標」及中華民國行政院主計處 (http://www.dgbas.gov.tw/) 所公佈的「營利事業 家數及銷售額」、「各行業勞動生產力指數年增率」以及經濟部統計處的「製造業受
prefix ec: <http://sw.cs.nccu.edu/datasource-1#> . prefix qb: <http://purl.org/linked-data/cube#> . ec : obs1 a qb : Observation;
qb : dataSet ec : dataset1;
ec : dimension− ROC date "ROC − 99 − 01";
ec : dimension− country "Japan";
ec : attribute− people amount "T housandP eople";
ec : measure− quantity 86;
.
‧
Date Region Value 2010M1 America 34362 2010M1 Europe 13854 2010M2 America 34384 2010M2 Europe 13726資料來源 2 對應到 Data Cube 本體論:
prefix ec: <http://sw.cs.nccu.edu/datasource-2#> . prefix qb: <http://purl.org/linked-data/cube#> . ec : obs1 a qb : Observation;
qb : dataSet ec : dataset1;
ec : dimension− W est date "2010 − 01";
ec : dimension− Continent "America";
ec : attribute− people count "P eople";
ec : measure− amount 34362;
.
查詢語法改寫與執行
進行整合查詢時在 SPARQL 查詢語法輸入區輸入查詢條件如下,維度變數 v1 的條件是"2010-01",維度變數 v2 的條件是"Asia" 及"Europe",計量單位變數 attv 的條件是"ThousandPeople",數值計算方式選擇「 SUM」。
查詢條件:
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX dq: <http://purl.org/linked-data/cube#>
SELECT ?v1 ?v2 ?val ?attv WHERE{
?bnk1 dq:dimension ?dim1 . ?bnk2 dq:dimension ?dim2 . ?bnk3 dq:measure ?mea . ?bnk4 dq:attribute ?att .
?ob rdf:type dq:Observation .
‧
SELECT ?o ?label WHERE{ <http://sw.cs.nccu.edu.tw/mdip.rdf#West 2010 01>
<http://sw.cs.nccu.edu.tw/mdip.rdf#hasSameAs> ?o . ?o <http://www.w3.org/2000/01/rdf-schema#label> ?label }
– 垂直維度: Japan、China SELECT ?o ?label WHERE
{ <http://sw.cs.nccu.edu.tw/mdip.rdf#Asia>
<http://sw.cs.nccu.edu.tw/mdip.rdf#hasPartOf> ?o . ?o <http://www.w3.org/2000/01/rdf-schema#label> ?label }
• 計量單位: People select ?att ?label where
{ ?ext <http://www.w3.org/2000/01/rdf-schema#subPropertyOf>
<http://sw.cs.nccu.edu.tw/mdip.rdf#exchangeRelation> . <http://sw.cs.nccu.edu.tw/mdip.rdf#ThousandPeople> ?ext ?att . ?att <http://www.w3.org/2000/01/rdf-schema#label> ?label . }
‧ 國
立 政 治 大 學
‧
Na tiona
l Ch engchi University
原始的查詢條件加上擴增後的條件 Binding 至原始的查詢語法並針對不同的 查詢對象各別建立出新的查詢語法,範例如下:
SELECT ?v1 ?v2 ?val ?attv WHERE
{ ?bnk1 dq:dimension ?dim1 . ?bnk2 dq:dimension ?dim2 . ?bnk3 dq:measure ?mea . ?bnk4 dq:attribute ?att . ?ob rdf:type dq:Observation .
?ob ?dim1 ?v1 . ?ob ?dim2 ?v2 . ?ob ?mea ?val . ?ob ?att ?attv} BINDINGS ?v1 ?v2 ?attv {
( "Japan" "ROC-99-01" "People")( "China" "ROC-99-01" "People") }
完成查詢語法的改寫與執行後產生初始的查詢結果,結果中各別的資料項仍 維持原始的資料描述,如維度上有西元年與民國年的差異,計量單位則有千人與 人的差異,除此之外查詢結果資料還沒彙整為查詢條件所設定的"Asia" 條件。
圖 6.3: 範例 1-資料查詢結果
查詢結果重整
最後再透過資料重整的程序將資料維度及計量單位進行轉換,彙整的部分則 將"Japan" 及"China" 合併建立出"Asia" 資料並產生比較圖表。
‧ 國
立 政 治 大 學
‧
Na tiona
l Ch engchi University
圖 6.4: 範例 1-查詢結果重整
6.2.2
範例二:2009 年與 2010 年製造業家數與生產力指數年增率
比較
本範例選用「營利事業家數及銷售額」(表 6.3) 及「各行業勞動生產力指數年 增率」(表 6.4) 兩個資料集,以下分別以整合步驟的重點區塊說明整合的過程。
本體論對應
表 6.3: 營利事業家數及銷售額
年度 家數 產業別
2009 393 電力及然氣供應業 2009 128458 製造業 2009 12191 農林漁牧業 2010 415 電力及然氣供應業 2010 130210 製造業 2010 12240 農林漁牧業
資料來源 3 對應到 Data Cube 本體論:
prefix ec: <http://sw.cs.nccu.edu/datasource-3#> .
‧
prefix qb: <http://purl.org/linked-data/cube#> . ec : obs1 a qb : Observation;
qb : dataSet ec : dataset3;
ec : dimension− W est year "2009";
ec : dimension− Industry "Electricity Gas Supply";
ec : attribute− company count "company count";
ec : measure− amount 393;
prefix ec: <http://sw.cs.nccu.edu/datasource-4#> . prefix qb: <http://purl.org/linked-data/cube#> . ec : obs1 a qb : Observation;
qb : dataSet ec : dataset4;
ec : dimension− ROC year "ROC − 98";
ec : dimension− Industry "Electricity Gas Supply";
ec : attribute− percentage "percentage";
ec : measure− ratio −5.15;
.
查詢語法改寫與執行
進行整合查詢時在 SPARQL 查詢語法輸入區中第一維度條件選擇"2009"、
"2010",第二維度條件選擇"Manufacturing",計量單位則選擇"company count"
及"percentage",之後透過整合知識庫內的關聯性描述將查詢條件擴增及 Binding
‧ 國
立 政 治 大 學
‧
Na tiona
l Ch engchi University
至原始條件並產生新的查詢語法進行查詢,範例如下:
SELECT ?v1 ?v2 ?val ?attv WHERE
{ ?bnk1 dq:dimension ?dim1 . ?bnk2 dq:dimension ?dim2 . ?bnk3 dq:measure ?mea . ?bnk4 dq:attribute ?att . ?ob rdf:type dq:Observation .
?ob ?dim1 ?v1 . ?ob ?dim2 ?v2 . ?ob ?mea ?val . ?ob ?att ?attv} BINDINGS ?v1 ?v2 ?attv {
( "2009" "Manufacturing" "company count")( "2010" "Manufacturing" "com-pany count")
}
初始查詢結果如下:
圖 6.5: 範例 2-資料查詢結果
查詢結果重整
初始結果資料集在經過彙整重建程序後產生比較資料及圖表。
‧ 國
立 政 治 大 學
‧
Na tiona
l Ch engchi University
圖 6.6: 範例 2-查詢結果重整
6.2.3