Upload
hiroyuki-inoue
View
366
Download
2
Embed Size (px)
DESCRIPTION
An ETL Framework for on-line analytical processing of Linked Open Data at DEIM2013, in Japanese.
Citation preview
1
LOD の OLAP 分析を可能にするETL フレームワークの提案
井上寛之1,天笠俊之 2,3 ,北川博之 2
1 筑波大学 大学院 システム情報工学研究科 コンピュータサイエンス専攻2 筑波大学 システム情報系 情報工学域 3 宇宙航空研究開発機構 宇宙科学研究所 宇宙科学情報解析研究系
背景
前提知識
目的と問題
関連研究
提案手法
実験
まとめ,今後の課題
発表の流れ
2
Linked Open Data の広がり 構造化されたデータを Web で公開・共有する方法の一
つ 他のデータとリンクすることで「データの Web 」を構
築
例)データシティ鯖江(福井県鯖江市) 市内トイレ情報, AED 設置箇所,イベント情報,… XML 形式による RDF データの公開
Resource Description Framework ( RDF ) Web におけるモノとモノの関係を記述するフレームワーク
W3C によって標準化 1
三つ組(トリプル):主語,述語,目的語3
Linked Open Data , RDF
http://www.tsukuba.ac.jp/タイトル “ 筑波大学”
楕円:リソース,矩形:リテラル(文字列)1. W3C:REC-rdf-syntax-19900222
OLAP 1
大量に蓄積されたデータに対して,複雑で統計的な問合せを行う分析手法の一つ
製品の売上分析等, BI で活用 データキューブを構成
分析の対象となる数値(事実) 分析の軸(次元)
4
On-Line Analytical Processing
図 : http://www.atmarkit.co.jp/fwin2ktutor/sql02/sql02_03.html
100
32
4
32
32128
128
128
6464
64
386
386
386
686
686
686
1616
8
8
8
2
2
北海道
東北
東京
大阪
広島
東
西
地方
福岡
下期
時期
上期
Q1Q2
Q3Q4
PC
カテゴリ OS MacWin
ノートデスク
1. E.F. Codd, S.B. Codd, C.T. Salley, and Inc Codd & Date. Providing OLAP (On-line Analytical Processing) to User-analysts: An IT Mandate. Codd amp; Associates, 1993.
Extract, Transform, and Load ( ETL ) Extract: 情報源からのデータ抽出 Transform: データの変換・加工 Load: データウェアハウスへの読み込み
関係データベースに格納されたデータに対する OLAP スタースキーマ
事実表を中心とし,複数の次元表から構成される
5
OLAP のための ETL
売上実績ID
カテゴリ _id
時刻 _id
店舗 _id
売上高
カテゴリID
大カテゴリ
小カテゴリ
時期ID
上期下期
四半期
地方ID
東西
都市名
事実表次元表
次元表
次元表
Linked Open Data ( LOD ) 分野 : 政府,地理,医学,生物学,図書,映画,音楽,… サイズ : 295 データセット, 310 億トリプル, 5.4 億リンク
1
数値・統計データが多く公開されている 国政データ – Data.gov (米国など), Eurostat ( EU 諸国) 科学データ – 遺伝子,創薬 センサデータ – 気象観測,放射線観測
数値・統計データが多く公開されており,分析が必要
6
Linked Open Data の分析
1. http://www.w3.org/wiki/SweoIG/TaskForces/CommunityProjects/LinkingOpenData
2 つの方向性1. RDF データを関係 DB へ格納後, OLAP を行う
Kampgen ら [1] – 既存の OLAP システムを利用する点で有利
2. RDF データに直接 OLAP 的な操作を行う Etcheverry ら [2,3] – SPARQL ( RDF 問合せ言語)を利用
どちらの手法も OLAP の為の特定の RDF 語彙を必要とする
RDF Data Cube (QB) Vocabulary Open Cube Vocabulary , QB4OLAP
特定の語彙に依存しない,一般的な手法が必要である Linked Open Data ではスキーマ, RDF 語彙の利用に制約はない
関連研究 : LOD に対する OLAP 分析
[1] B. Kampgen, and A. Harth. “Transforming Statistical Linked Data for Use in OLAP Systems”. In I-SEMANTICS 2011, 7th Int. Conf. on Semantic Systems, 2011. [2] L. Etcheverry and A. A. Vaisman. “Enhancing OLAP Analysis with Web Cubes”. In ESWC, volume 7295 of Lecture Notes in Computer Science, pages 469–483. Springer, 2012. [3] L. Etcheverry and A. A. Vaisman. “QB4OLAP: A Vocabulary for OLAP Cubes on the Semantic Web”. In COLD, volume 905 of CEUR Workshop Proceedings. CEURWS.org, 2012.
7
2 つの方向性1. RDF データを関係 DB へ格納後, OLAP を行う
Kampgen ら [1] – 既存の OLAP システムを利用する点で有利
2. RDF データに直接 OLAP 的な操作を行う Etcheverry ら [2,3] – SPARQL ( RDF 問合せ言語)を利用
どちらの手法も OLAP の為の特定の RDF 語彙を必要とする
RDF Data Cube (QB) Vocabulary Open Cube Vocabulary , QB4OLAP
特定の語彙に依存しない,一般的な手法が必要である Linked Open Data ではスキーマ, RDF 語彙の利用に制約はない
関連研究 : LOD に対する OLAP 分析
[1] B. Kampgen, and A. Harth. “Transforming Statistical Linked Data for Use in OLAP Systems”. In I-SEMANTICS 2011, 7th Int. Conf. on Semantic Systems, 2011. [2] L. Etcheverry and A. A. Vaisman. “Enhancing OLAP Analysis with Web Cubes”. In ESWC, volume 7295 of Lecture Notes in Computer Science, pages 469–483. Springer, 2012. [3] L. Etcheverry and A. A. Vaisman. “QB4OLAP: A Vocabulary for OLAP Cubes on the Semantic Web”. In COLD, volume 905 of CEUR Workshop Proceedings. CEURWS.org, 2012.
8
本研究では,一般的な Linked Open Data に対して,前者の関係 DB に格納するアプローチで,
既存の OLAP システムを利用した分析処理を行う手法を提案する
目的 Linked Data として一般に公開されている数値・統計
データを, OLAP により分析可能にする一連の変換フレームワークの提案
問題 Linked Data から OLAP 分析へのマッピング
RDF (グラフ構造)を直接 OLAP するのは困難 既存の OLAP システムを用いた分析を行うための変換
OLAP では分析の軸が必要 軸に利用する概念階層の作成
本研究の目的と問題
9
問題に対する本研究のアプローチ
RDF の OLAP 分析↓
RDF (グラフ構造)を関係スキーマにマッピング
OLAP に用いる分析の軸の準備↓
データ自身およびリンクする外部の情報における概念階層から軸を導出
( RDF, Linked Data の特徴を利用)
10
11
フレームワーク概要
1) RDF の抽出
Web
2) RDF を関係データベースへ格納
3) 次元導出
4) スキーマの生成
<XML>
関係スキーマへのマッピング
分析の軸の導出
分析対象の RDF データを取得 RDFダンプの読み込み URI による RDF の参照
同一ホスト内のリソース( URI )を再帰的に取得 目的語として利用されている外部リソースも取得
1. RDF データの取得1. RDF データの取得
2. RDF を関係データベースへ格納
3. 次元の導出
4. スキーマの生成
分析対象( www.example.com ) 外部リソース( www.w3.org )12
OLAP 分析に利用可能なように格納する必要がある Property Table1 ( PT ) - 主語とその全ての属性が一行に格納され
る
テーブルの属性を把握する必要がある LOD では RDF スキーマを利用する制限がない あるリソースがどのような属性を持つのか把握できない
Type-Partitioned Triple Store ( TPTS ) の提案 RDF リソースを rdf:type 毎に Triple Store2 に格納
三つ組(主語,述語,目的語)を一行で格納 “述語” の値から, rdf:type 毎の属性が把握することができる Property Table として作り変える
13
2. RDF を関係 DB へ格納 (1/3)
URI 時刻 製品カテゴリ 売上高 店舗
売上実績 _1 時刻 _1 コンピュータ 190,000 つくば店
1. Wilkinson, K.: Jena property table implementation. SSWS, pp. 35–46. Athens, Georgia, USA (2006) 2. Broekstra, J., et al.: Sesame: A Generic Architecture for Storing and Querying RDF and RDF Schema.
In: Horrocks, I., Hendler, J. (eds.) ISWC 2002. LNCS, vol. 2342, pp. 54–68. Springer, Heidelberg (2002)
1. RDF データの取得
2. RDF を関係データベースへ格納
3. 次元の導出
4. スキーマの生成
2. RDF を関係 DB へ格納 (2/3) Type-partitioned Triple Store (TPTS)
rdf:type 毎のテーブルに分割 トリプルを一行に格納,目的語のデータ型も格納
14
つくば店 “190,000”^^xsd:integer
コンピュータ
製品カテゴリ 売上高
時刻 _1時刻 主語 述語 目的語 型
売上実績 _1 時刻 時刻 _1 リソース売上実績 _1 製品カテゴリ コンピュー
タリソース
売上実績 _1 売上高 190,000 数値
売上実績 _1 店舗 つくば店 リソース
売上実績 _2 時刻 時刻 _2 リソース
売上実績 _2 売上高 4,000 数値
売上実績 _2 店舗 水戸店 リソース
“ 売上実績” テーブル( TPTS )売上実績_1
店舗
売上実績rdf:type
売上実績_2
水戸店
店舗
時刻 _2時刻
“4,000”^^xsd:integer
売上高
1. RDF データの取得
2. RDF を関係データベースへ格納
3. 次元の導出
4. スキーマの生成
RDFグラフ 関係スキーマ
Property Table(PT) へ変換 各 rdf:type がどのような属性を持つか把握できた
2. RDF を関係 DB へ格納 (3/3)
主語 [PK] 時刻 [FK] 製品カテゴリ [FK] 売上高 店舗 [FK]
売上実績 _1 時刻 _1 コンピュータ 190,000 つくば店
売上実績 _2 時刻 _2 null 4,000 水戸店
“ 売上実績” テーブル( PT )
1. RDF データの取得
2. RDF を関係データベースへ格納
3. 次元の導出
4. スキーマの生成
主語 述語 目的語 値タイプ売上実績 _1 時刻 時刻 _1 リソース売上実績 _1 製品カテゴリ コンピュー
タリソース
売上実績 _1 売上高 190,000 数値
売上実績 _1 店舗 つくば店 リソース
売上実績 _2 時刻 時刻 _2 リソース
売上実績 _2 売上高 4,000 数値
売上実績 _2 店舗 水戸店 リソース
“ 売上実績” テーブル( TPTS )
売上実績主語 [PK]
時刻 [FK]
製品カテゴリ [FK]
売上高店舗 [FK]
得られたスキーマ
PK: 主キーFK: 外部キー
15
ユーザーによるメジャーの選択
OLAP の分析対象とする値(メジャー)の選択をユーザーに依頼する
売上実績URI
製品カテゴリ_URI
時刻 _URI
店舗 _URI
売上高
製品カテゴリURI
名称
時刻URI
日時
店舗URI
地名 _URI gn: 地名URI
地名来客実績URI
店舗 _URI
時刻 _URI
来客数
在庫URI
製品名製品カテゴリ _URI
店舗 _ID
在庫数
16
3. 次元の導出
OLAP に利用する次元表を作成する 本研究では三種類の作成方法を提案
1. RDF データの取得
2. RDF を関係データベースへ格納
3. 次元の導出
4. スキーマの生成
売上実績URI
製品カテゴリ _URI
時刻 _URI
店舗 _URI
売上高
製品カテゴリURI
名称親カテゴリ_URI
時刻URI
日時
店舗URI
gn: 地名 _URI
データに直接記述されたリテラルの利用 データに内在する階層構造の利用
データセット外部にある階層構造の利用
事実表
12
3
17
親カテゴリURI
名称
GeoNames
予め階層構造を取得できると把握されている外部データセット(オントロジ)の利用
例) GeoNames 地理情報の階層構造を取得できるとわかっている つくば市 /茨城県 /日本 / アジア
データセット外部にある階層構造の利用
分析対象外部データセット ( リソース )
つくば市
茨城県日本
階層構造
水戸市
3
18
例)売上高 がメジャーの場合 事実表)売上実績 次元表)販売時刻,製品カテゴリ,店舗 -gn: 地名
スキーマの出力( Mondrian 向け XML ファイル)
4. スキーマの生成
実績URI
製品カテゴリ _URI
販売時刻 _URI
販売店舗 _URI
売上高
製品カテゴリURI
名称時刻URI
時日月四半期年
店舗 -gn: 地名URI
L1 (市区町村)L2 (都道府県)L3 (国)L4 (大陸)
事実表
次元表
次元表
次元表
1. RDF データの取得
2. RDF を関係データベースへ格納
3. 次元の導出
4. スキーマの生成
19
実験
目的 Linked Data として公開されている数値データを対象に,本手法を用いて OLAP に用いるスキーマの導出が可能か検証
実験)空間放射線量 観測データ National Radioactivity Stat as Linked Data1
文部科学省発行の環境放射能水準調査 2 を RDF 化したデータセット
その他の実験 Linked Sensor/Observation Data3 への適用 マウス遺伝子データ等への適用
1 http://www.kanzaki.com/works/2011/stat/ra/2 http://radioactivity.mext.go.jp/ja/monitoring_by_prefecture/3 http://wiki.knoesis.org/index.php/LinkedSensorData 20
放射線量 観測データはクローリングして取得 トリプル数: 1,003,410 個( 2011年 03-12月) 地理情報: GeoNames ダンプデータの利用
rdf:type 観測インスタンス,観測時刻,観測地 (GeoNames)
21
実験)結果( 1/2 )
ra:20110315/p02/t20 “0.040”
gn:2111833
rdf:value
time:20110315T22PT1H
ev:placeev:time
“2011-04-14T00:00:00”^^xsd:dateTimetl:at
観測インスタンス 観測値
観測地
観測時刻
“ra” は “ http://www.kanzaki.com/works/2011/stat/ra/” ,” time” は “ http://www.kanzaki.com/works/2011/stat/dim/d/”“gn” は “ http://sws.geonames.org/” ,” ev” は “ http://purl.org/NET/c4dm/event.owl#””tl” は “ http://purl.org/NET/c4dm/timeline.owl#” ,” rdf” は “ http://www.w3.org/1999/02/22-rdf-syntax-ns#”
観測値をメジャーとした場合のスキーマを導出 事実表)観測値を含む,観測インスタンステーブル 次元表)
1. 観測時刻(観測時刻から階層構造を作成)2. 観測地( GeoNames のリソースから階層構造を取得)
22
実験)結果( 2/2 )
observation_instance(観測インスタンス)
subject (主語)place (Place_subject)
time (Time_subject)
value (観測値)
time (観測時刻)
subject (主語)
sec (秒)
min (分)
hour (時)
day (日)
month (月)
year (年)
place (観測地)
subject (主語)
layer_1 (市区町村)
layer_2 (都道府県)
layer_3 (国)
layer_4 (大陸)
事実表次元表
次元表
23
実験) Mondrian OLAP による分析例
観測地( GeoNames )
観測時刻観測地
( μSv/h )
24
実験) Mondrian OLAP による分析例
観測地( GeoNames )
観測時刻観測地
( μSv/h )
観測地について Drilled Down
25
実験) Mondrian OLAP による分析例
観測地( GeoNames )
観測時刻観測地
( μSv/h )
観測地について Drilled Down
福島県を観測時刻で Drilled Down
まとめ,今後の課題
LOD の OLAP 分析を可能にする ETL フレームワークを提案 OLAP の為の特定の RDF 語彙の利用を必要としない
既存手法よりも多くの LOD を OLAP 分析可能にする RDF (グラフ構造)を関係スキーマにマッピング データの内部,および外部の情報から階層構造を取得
RDF , Linked Data の特徴を生かした処理
気象観測,生物情報学データに本手法を適用 分析対象を決めた時の,分析の軸を導出 OLAP 分析に利用するスタースキーマを生成
今後の課題 本手法は “ rdf:type” に強く依存
“rdf:type” が,複数記述されている主語に対する処理 “rdf:type” が,記述されていない主語に対する処理
分析対象 LOD の更新を,スキーマへ更新する仕組みの検討26
ご清聴ありがとうございました
27