OLAPを利利⽤用したLinked Dataの分析処理理
システム情報⼯工学研究科 コンピュータサイエンス専攻 1年年
201220623
井上 寛之
指導教員: 北北川 博之
,
天笠笠 俊之
¤
背景
¤
⽬目的
¤
関連研究
¤
提案⼿手法
¤
実験
¤
まとめ
¤
今後の課題
発表の流流れ
2¤
コンピュータに意味を理理解させるための技術
¤
応⽤用例例
¤
“Bing”, “Knowledge Graph” (Microsoft, Google)
¤
“Siri” (Apple)
セマンティック技術
3“Tsukuba”
University
City
Shopping Center
Bank
Circuit
Train
Mountain
セマンティックウェブとRDF
¤
セマンティックウェブ
¤
Web上のリソースにメタデータを付け
,
コンピュータが
⼈人間と同じように意味を理理解できるようにする試み
¤
リソース:⽂文書
,
画像
,
…
¤
RDF(Resource Description Framework)
¤
Web上のリソースを記述するための基本的なモデル
¤
三つ組(トリプル):主語
,
述語
,
⽬目的語
¤
主語の属性・プロパティを述語で
,
その値を⽬目的語で記述
¤
グラフ構造を構成する
http://www.tsukuba.ac.jp/
hasTitle
“筑波⼤大学”
楕円:リソース,矩形:リテラル(⽂文字列列)
4Linked Data
¤
⽬目的: ⼈人々や組織が構造化されたデータを
Webで共有することを可能にする
¤
RDFを⽤用いてデータの属性・プロパティを記述
¤
より多くのデータの活⽤用を促進
¤
特徴
¤
HTTPを⽤用いて,リソース (URI) を参照可能
¤
標準化された技術 (RDF, URI, SPARQL) で構成される
¤
Linked Open Data
¤
数値統計データを含む,様々な分野のデータ
¤
⼈人,企業,政府,⽣生物学,医学,書籍,⾳音楽,気象,…
¤
295データセット,310億トリプル,5.4億データセット間リンク
1 5 1: http://www.w3.org/wiki/SweoIG/TaskForces/CommunityProjects/LinkingOpenDataLinked Dataとして公開された数値・統計データ
に対する分析処理理が必要とされている
OLAP(On-‐‑‒Line Analytical Processing)
¤
⼤大量量に蓄積されたデータに対して
,
複雑で統計
的な問合せを⾏行行う分析⼿手法の⼀一つ
¤
データキューブ
¤
数値(事実)
¤
分析の軸(次元)
¤
概念念階層
図: http://www.atmarkit.co.jp/fwin2ktutor/sql02/sql02_̲03.html100
32
4
32
32
128
128
128
64
64
64
386
386
386
686
686
686
16
16
8
8
8
2
2
北北海道 東北北 東京 ⼤大阪 広島 東 ⻄西 地⽅方 福岡 下期 時期 上期 Q1 Q2 Q3 Q4 PC カテゴリ OS Mac Win ノート デスク 6 分析対象(メジャー)図: http://www.atmarkit.co.jp/fwin2ktutor/sql02/sql02_̲03.html
100
32
4
32
32
128
128
128
64
64
64
386
386
386
686
686
686
16
16
8
8
8
2
2
北北海道 東北北 東京 ⼤大阪 広島 東 ⻄西 地⽅方 福岡 下期 時期 上期 Q1 Q2 Q3 Q4 PC カテゴリ OS Mac Win ノート デスク¤
関係データベースに格納されたデータを利利⽤用
¤
スタースキーマ
¤
数値(事実表)
¤
分析の軸(次元表)
関係データベースを利利⽤用したOLAP
売上実績 ID カテゴリ_̲id 時刻_̲id 店舗_̲id 売上⾼高 カテゴリ ID ⼤大カテゴリ ⼩小カテゴリ 時期 ID 上期下期 四半期 地⽅方 ID 東⻄西 都市名事実表
次元表
次元表
次元表
7 分析対象(メジャー)¤
⽬目的
¤
Linked Dataとして⼀一般に公開されている数値・統計
データを
,
OLAPにより分析可能にする⼿手法の提案
¤
課題
¤
Linked DataからOLAP分析へのマッピング
¤
RDF
(グラフ構造)を直接
OLAP
するのは困難
¤
既存の
OLAP
システムを⽤用いた分析を⾏行行うための変換
¤
OLAP
では分析の軸が必要
¤
軸に利利⽤用する概念念階層の作成
本研究の⽬目的と課題
8¤
2つの⽅方向性
¤
RDFデータを関係DBへ格納後
,
OLAPを⾏行行う
¤
RDFデータに直接OLAP的な操作を⾏行行う
¤
Kampgenら
1
¤
Linked Dataを関係DBに格納する変換⼿手法の提案
¤
RDF Data Cube(QB)Vocabulary の利利⽤用
¤
RDFで
,
データキューブを記述するための語彙
¤
Data Cube Vocabulary 準拠のデータを関係DBに格納
¤
概念念階層はRDFで記述されている
¤
対象データがData Cube Vocabularyに準拠している
ことが前提
関連研究 (1/2)
1. B. Kampgen, and A. Harth. “Transforming Statistical Linked Data for Use in OLAP Systems”, I-‐‑‒SEMANTICS 2011, 7th Int. Conf. on Semantic Systems, 2011. 9
¤
Etcheverryら[2]
¤
OpenCube Vocabulary の提案
¤
RDF で OLAP Cube を記述する語彙
¤
RDFデータモデルに対するOLAP操作を定義
¤
SPARQL 1.1 集約演算による
,
OLAP操作の⼀一部を実装
¤
⽬目的の操作を⾏行行うSPARQLクエリ⽣生成アルゴリズムを提案
¤
同様に
,
対象データがOpenCube Vocabularyに
準拠していることが前提
¤
またデータの取得
,
変換(ETL)についての議論論がない
10関連研究 (2/2)
2. L. Etcheverry and Alejandro A. Vaisman. “Enhancing OLAP Analysis with Web Cube”. 9th Extended Semantic Web Conference 2012.
本研究では,⼀一般的なLinked Dataに対して,
前者の関係DBに格納するアプローチで,
OLAPを利利⽤用した分析処理理を⾏行行う⼿手法を提案する
問題に対する本研究のアプローチ
RDF
(グラフ構造)を関係スキーマにマッピング
(RDFデータをRDBに格納)
データおよびデータ間の情報から概念念階層を半⾃自動的に作成
(RDF, Linked Data の特徴を利利⽤用)
11データ取得からスキーマ導出まで
1. RDFデータの取得
2. RDFを関係データベースへ格納
3. ユーザーによる分析対象の選択
4. 次元表の作成
5. スキーマの導出
12RDF
の関係スキーマへのマッピング
データ及びデータ間の情報を利利⽤用
¤
分析対象のRDFデータを取得
¤
RDFダンプの読み込み
¤
URIによるRDFの参照
¤
同⼀一ホスト内のリソース(URI)を再帰的に取得
¤
⽬目的語として利利⽤用されている外部リソースも取得
1. RDFデータの取得
1. RDFデータの取得 2. RDFを関係データベースへ格納 3. ユーザーによる分析対象の選択 4. 次元表の作成 5. スキーマの導出分析対象(www.example.com)
外部リソース(www.w3.org)
132. RDFを関係DBへ格納 (1/2)
¤
トリプルを rdf:type 毎に,RDBに格納
¤
テーブルのスキーマを決定できない
¤
RDFはスキーマを利利⽤用することが定められていない
¤
垂直表現の述語表
1
に格納
14つくば店
“190,000”
1. DJ Abadiら,2007.
コンピュータ
製品カテゴリ
売上⾼高
時刻_̲1
時刻
主語 述語 ⽬目的語 値タイプ 売上実績_1 時刻 時刻_1 リソース 売上実績_1 製品カテゴリ コンピュータ リソース 売上実績_1 売上⾼高 “190,000” リテラル 売上実績_1 店舗 つくば店 リソース 売上実績_2 時刻 時刻_2 リソース 売上実績_2 売上⾼高 “4,000” リテラル 売上実績_2 店舗 ⽔水⼾戸店 リソース“売上実績” テーブル(垂直表現)
売上実績_̲1
店舗
売上実績
rdf:type
1. RDFデータの取得 2. RDFを関係データベースへ格納 3. ユーザーによる分析対象の選択 4. 次元表の作成 5. スキーマの導出売上実績_̲2
⽔水⼾戸店
店舗
時刻_̲2
時刻
“4,000”
売上⾼高
¤
垂直表現から⽔水平表現へ変換
¤
各 “rdf:type” がどのような属性を持つか把握できた
2. RDFを関係DBへ格納 (2/2)
主語[PK] 時刻[FK] 製品カテゴリ[FK] 売上⾼高 店舗[FK] 売上実績_1 時刻_1 コンピュータ “190,000” つくば店 売上実績_2 時刻_2 null “4,000” ⽔水⼾戸店“売上実績” テーブル(⽔水平表現)
1. RDFデータの取得 2. RDFを関係データベースへ格納 3. ユーザーによる分析対象の選択 4. 次元表の作成 5. スキーマの導出 主語 述語 ⽬目的語 値タイプ 売上実績_1 時刻 時刻_1 リソース 売上実績_1 製品カテゴリ コンピュータ リソース 売上実績_1 売上⾼高 “190,000” リテラル 売上実績_1 店舗 つくば店 リソース 売上実績_2 時刻 時刻_2 リソース 売上実績_2 売上⾼高 “4,000” リテラル 売上実績_2 店舗 ⽔水⼾戸店 リソース“売上実績” テーブル(垂直表現)
売上実績
主語[PK]
時刻[FK]
製品カテゴリ[FK]
売上⾼高
店舗[FK]
得られたスキーマ
PK: 主キー FK: 外部キー 153. ユーザーによるメジャーの選択
¤
OLAPの分析対象とする値(メジャー)の
選択をユーザーに依頼する
1. RDFデータの取得 2. RDFを関係データベースへ格納 3. ユーザーによる分析対象の選択 4. 次元表の作成 5. スキーマの導出売上実績
主語
製品カテゴリ_̲ID
時刻_̲ID
店舗_̲ID
売上⾼高
製品カテゴリ
主語
名称
時刻
主語
⽇日時
店舗
主語
地名_̲ID
gn:地名
主語
地名
来客実績
主語
店舗_̲ID
時刻_̲ID
来客数
在庫
主語
製品名
製品カテゴリ_̲ID
店舗_̲ID
在庫数
16次元表候補
事実表候補
4. 次元表の作成
¤
OLAPに利利⽤用する次元表を作成する
¤
本研究では三種類の作成⽅方法を提案
1. RDFデータの取得 2. RDFを関係データベースへ格納 3. ユーザーによる分析対象の選択 4. 次元表の作成 5. スキーマの導出売上実績
主語
製品カテゴリ_̲ID
時刻_̲ID
店舗_̲ID
売上⾼高
製品カテゴリ
主語
名称
時刻
主語
⽇日時
店舗
主語
地名_̲ID
gn:地名
主語
地名
データに直接記述されたリテラルの利利⽤用
データに直接記述された階層構造の利利⽤用
データセット外部にある
階層構造の利利⽤用
⻘青背景は,外部ホストのデータ
事実表
1
2
3
17¤
予め階層構造を取得できると知られている外部
データセットの利利⽤用
¤
例例)GeoNames
¤
地理理情報の階層構造を取得できるとわかっている
¤
つくば市/茨城県/⽇日本/アジア
データセット外部にある階層構造の利利⽤用
分析対象
外部データセット(リソース)
つくば市
茨城県
⽇日本
階層構造
⽔水⼾戸市
3
18¤
例例)売上⾼高 がメジャーとして選択された場合
¤
事実表)売上実績
¤
次元表)販売時刻
,
製品カテゴリ
,
店舗-‐‑‒gn:地名
5. スキーマの導出
実績
主語
製品カテゴリ_̲主語
販売時刻_̲主語
販売店舗_̲主語
売上⾼高
製品カテゴリ
主語
名称
時刻
主語
時
⽇日
⽉月
四半期
年年
店舗-‐‑‒gn:地名
主語
L1(市区町村)
L2(都道府県)
L3(国)
L4(⼤大陸陸)
事実表
次元表
次元表
次元表
1. RDFデータの取得 2. RDFを関係データベースへ格納 3. ユーザーによる分析対象の選択 4. 概念念階層の作成 5. スキーマの導出 19実験
¤
⽬目的
¤
Linked Dataとして公開されている数値データを対象に
,
本⼿手法を⽤用いてOLAPに⽤用いるスキーマの導出が可能か検証
¤
空間放射線量量
観測データ
¤
National Radioactivity Stat as Linked Data
1¤
⽂文部科学省省発⾏行行の環境放射能⽔水準調査
2を
RDF
化したデータセット
1 http://www.kanzaki.com/works/2011/stat/ra/
¤
放射線量量 観測データはクローリングして取得
¤
トリプル数:1,003,410 個(2011年年03-‐‑‒12⽉月)
¤
地理理情報:GeoNames ダンプデータの利利⽤用
¤
rdf:type
¤
観測インスタンス
,
観測時刻
,
観測地(GeoNames)
21実験結果(1/3)
ra:20110315/p02/t20
“0.040”gn:2111833
rdf:value
time:20110315T22PT1H
ev:place
ev: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#”
¤
観測値をメジャーとした場合のスキーマを導出
¤
事実表)観測値を含む
,
観測インスタンステーブル
¤
次元表)
1.
観測地(GeoNamesのリソースから階層構造を取得)
2.
観測時刻(観測時刻から階層構造を作成)
22実験結果(2/3)
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(⼤大陸陸)
事実表
次元表
次元表
¤
Mondrian OLAP
1
による分析の例例
¤
都道府県別
,
平均空間放射線量量(2011年年3-‐‑‒11⽉月)
¤
縦軸:放射線量量(マイクロシーベルト/時間)
¤
横軸:都道府県
23実験結果(3/3)
¤
Linked Sensor/Observation Data
3
¤
⽶米国⼆二万箇所以上の気象観測所メタデータ
¤
上記
,
観測所から得られたハリケーン観測データ
¤
実験結果
¤
観測所の場所
,
時刻
,
観測値などからスキーマを作成できた
¤
⼀一部オントロジが参照できないデータがあった
¤
マウス遺伝⼦子
4
,
シロイヌナズナ遺伝⼦子データ
5
¤
BioLOD として公開されているRDFデータ
¤
実験結果
¤
遺伝⼦子の
,
染⾊色体内での位置情報などを利利⽤用
¤
周辺リソースとの関係が複雑
¤
⽣生物学の研究者が要求するような分析は⾏行行えなかった
24その他のデータセットへの適⽤用
3. H. Patni, Satya S. Sahoo, C. Henson, and A. Sheth. “Linked Sensor Data”.
SPOT 2010 with ESWC 2010. http://wiki.knoesis.org/index.php/LinkedSensorData 4. http://biolod.org/database/rib185i/Mouse_̲MGI_̲Gene