27
LOD の OLAP のののののののの ETL のののののののののの のののの のののの 2,3 のののの 2 1 のののの ののの ののののののののののの ののののののののののののの 2 のののの ののののののの ののののの 3 のののののののののの ののののののの ののののののののののの 1

LODのOLAP分析を可能にするETLフレームワークの提案

Embed Size (px)

DESCRIPTION

An ETL Framework for on-line analytical processing of Linked Open Data at DEIM2013, in Japanese.

Citation preview

Page 1: LODのOLAP分析を可能にするETLフレームワークの提案

1

LOD の OLAP 分析を可能にするETL フレームワークの提案

井上寛之1,天笠俊之 2,3 ,北川博之 2

1 筑波大学 大学院 システム情報工学研究科 コンピュータサイエンス専攻2 筑波大学 システム情報系 情報工学域 3 宇宙航空研究開発機構 宇宙科学研究所 宇宙科学情報解析研究系

Page 2: LODのOLAP分析を可能にするETLフレームワークの提案

背景

前提知識

目的と問題

関連研究

提案手法

実験

まとめ,今後の課題

発表の流れ

2

Page 3: LODのOLAP分析を可能にするETLフレームワークの提案

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

Page 4: LODのOLAP分析を可能にするETLフレームワークの提案

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.

Page 5: LODのOLAP分析を可能にするETLフレームワークの提案

Extract, Transform, and Load ( ETL ) Extract: 情報源からのデータ抽出 Transform: データの変換・加工 Load: データウェアハウスへの読み込み

関係データベースに格納されたデータに対する OLAP スタースキーマ

事実表を中心とし,複数の次元表から構成される

5

OLAP のための ETL

売上実績ID

カテゴリ _id

時刻 _id

店舗 _id

売上高

カテゴリID

大カテゴリ

小カテゴリ

時期ID

上期下期

四半期

地方ID

東西

都市名

事実表次元表

次元表

次元表

Page 6: LODのOLAP分析を可能にするETLフレームワークの提案

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

Page 7: LODのOLAP分析を可能にするETLフレームワークの提案

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

Page 8: LODのOLAP分析を可能にするETLフレームワークの提案

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 システムを利用した分析処理を行う手法を提案する

Page 9: LODのOLAP分析を可能にするETLフレームワークの提案

目的 Linked Data として一般に公開されている数値・統計

データを, OLAP により分析可能にする一連の変換フレームワークの提案

問題 Linked Data から OLAP 分析へのマッピング

RDF (グラフ構造)を直接 OLAP するのは困難 既存の OLAP システムを用いた分析を行うための変換

OLAP では分析の軸が必要 軸に利用する概念階層の作成

本研究の目的と問題

9

Page 10: LODのOLAP分析を可能にするETLフレームワークの提案

問題に対する本研究のアプローチ

RDF の OLAP 分析↓

RDF (グラフ構造)を関係スキーマにマッピング

OLAP に用いる分析の軸の準備↓

データ自身およびリンクする外部の情報における概念階層から軸を導出

( RDF, Linked Data の特徴を利用)

10

Page 11: LODのOLAP分析を可能にするETLフレームワークの提案

11

フレームワーク概要

1) RDF の抽出

Web

2) RDF を関係データベースへ格納

3) 次元導出

4) スキーマの生成

<XML>

関係スキーマへのマッピング

分析の軸の導出

Page 12: LODのOLAP分析を可能にするETLフレームワークの提案

分析対象の RDF データを取得 RDFダンプの読み込み URI による RDF の参照

同一ホスト内のリソース( URI )を再帰的に取得 目的語として利用されている外部リソースも取得

1. RDF データの取得1. RDF データの取得

2. RDF を関係データベースへ格納

3. 次元の導出

4. スキーマの生成

分析対象( www.example.com ) 外部リソース( www.w3.org )12

Page 13: LODのOLAP分析を可能にするETLフレームワークの提案

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. スキーマの生成

Page 14: LODのOLAP分析を可能にするETLフレームワークの提案

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グラフ 関係スキーマ

Page 15: LODのOLAP分析を可能にするETLフレームワークの提案

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

Page 16: LODのOLAP分析を可能にするETLフレームワークの提案

ユーザーによるメジャーの選択

OLAP の分析対象とする値(メジャー)の選択をユーザーに依頼する

売上実績URI

製品カテゴリ_URI

時刻 _URI

店舗 _URI

売上高

製品カテゴリURI

名称

時刻URI

日時

店舗URI

地名 _URI gn: 地名URI

地名来客実績URI

店舗 _URI

時刻 _URI

来客数

在庫URI

製品名製品カテゴリ _URI

店舗 _ID

在庫数

16

Page 17: LODのOLAP分析を可能にするETLフレームワークの提案

3. 次元の導出

OLAP に利用する次元表を作成する 本研究では三種類の作成方法を提案

1. RDF データの取得

2. RDF を関係データベースへ格納

3. 次元の導出

4. スキーマの生成

売上実績URI

製品カテゴリ _URI

時刻 _URI

店舗 _URI

売上高

製品カテゴリURI

名称親カテゴリ_URI

時刻URI

日時

店舗URI

gn: 地名 _URI

データに直接記述されたリテラルの利用 データに内在する階層構造の利用

データセット外部にある階層構造の利用

事実表

12

3

17

親カテゴリURI

名称

GeoNames

Page 18: LODのOLAP分析を可能にするETLフレームワークの提案

予め階層構造を取得できると把握されている外部データセット(オントロジ)の利用

例) GeoNames 地理情報の階層構造を取得できるとわかっている つくば市 /茨城県 /日本 / アジア

データセット外部にある階層構造の利用

分析対象外部データセット ( リソース )

つくば市

茨城県日本

階層構造

水戸市

3

18

Page 19: LODのOLAP分析を可能にするETLフレームワークの提案

例)売上高 がメジャーの場合 事実表)売上実績 次元表)販売時刻,製品カテゴリ,店舗 -gn: 地名

スキーマの出力( Mondrian 向け XML ファイル)

4. スキーマの生成

実績URI

製品カテゴリ _URI

販売時刻 _URI

販売店舗 _URI

売上高

製品カテゴリURI

名称時刻URI

時日月四半期年

店舗 -gn: 地名URI

L1 (市区町村)L2 (都道府県)L3 (国)L4 (大陸)

事実表

次元表

次元表

次元表

1. RDF データの取得

2. RDF を関係データベースへ格納

3. 次元の導出

4. スキーマの生成

19

Page 20: LODのOLAP分析を可能にするETLフレームワークの提案

実験

目的 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

Page 21: LODのOLAP分析を可能にするETLフレームワークの提案

放射線量 観測データはクローリングして取得 トリプル数: 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#”

Page 22: LODのOLAP分析を可能にするETLフレームワークの提案

観測値をメジャーとした場合のスキーマを導出 事実表)観測値を含む,観測インスタンステーブル 次元表)

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 (大陸)

事実表次元表

次元表

Page 23: LODのOLAP分析を可能にするETLフレームワークの提案

23

実験) Mondrian OLAP による分析例

観測地( GeoNames )

観測時刻観測地

( μSv/h )

Page 24: LODのOLAP分析を可能にするETLフレームワークの提案

24

実験) Mondrian OLAP による分析例

観測地( GeoNames )

観測時刻観測地

( μSv/h )

観測地について Drilled Down

Page 25: LODのOLAP分析を可能にするETLフレームワークの提案

25

実験) Mondrian OLAP による分析例

観測地( GeoNames )

観測時刻観測地

( μSv/h )

観測地について Drilled Down

福島県を観測時刻で Drilled Down

Page 26: LODのOLAP分析を可能にするETLフレームワークの提案

まとめ,今後の課題

LOD の OLAP 分析を可能にする ETL フレームワークを提案 OLAP の為の特定の RDF 語彙の利用を必要としない

既存手法よりも多くの LOD を OLAP 分析可能にする RDF (グラフ構造)を関係スキーマにマッピング データの内部,および外部の情報から階層構造を取得

RDF , Linked Data の特徴を生かした処理

気象観測,生物情報学データに本手法を適用 分析対象を決めた時の,分析の軸を導出 OLAP 分析に利用するスタースキーマを生成

今後の課題 本手法は “ rdf:type” に強く依存

“rdf:type” が,複数記述されている主語に対する処理 “rdf:type” が,記述されていない主語に対する処理

分析対象 LOD の更新を,スキーマへ更新する仕組みの検討26

Page 27: LODのOLAP分析を可能にするETLフレームワークの提案

ご清聴ありがとうございました

27