Mais conteúdo relacionado
Mais de Hiroyuki Inoue (6)
OLAPを利用したLinked Dataの分析処理
- 3. セマンティックウェブとRDF
セマンティックウェブ
Web上のリソースにメタデータを付け,コンピュータが
人間と同じように意味を理解できるようにする試み
リソース:文書,画像,…
RDF(Resource Description Framework)
情報を記述するための基本的なモデル
三つ組(トリプル):主語,述語,目的語
主語の属性・プロパティを述語で,その値を目的語で記述
グラフ構造を構成する
hasタイトル
http://www.tsukuba.ac.jp/ “筑波大学”
楕円:リソース,矩形:リテラル(文字列)
3
- 4. Linked Data
目的: 人々や組織が構造化されたデータを
Webで共有することを可能にする
RDFを用いてデータの属性・プロパティを記述
より多くのデータの活用を促進
特徴
HTTPを用いて,リソース (URI) を参照可能
標準化された技術 (RDF, URI, SPARQL) で構成される
Linked Open Data
数値統計データを含む,様々な分野のデータ
人,企業,政府,生物学,医学,書籍,音楽,気象,…
295データセット,310億トリプル,5.4億データセット間リンク1
4
1: http://www.w3.org/wiki/SweoIG/TaskForces/CommunityProjects/LinkingOpenData
- 6. OLAP(On-Line Analytical Processing)
大量に蓄積されたデータに対して,複雑で統計
的な問合せを行う分析手法の一つ
データキューブ カテゴリ OS Mac
Win
数値(事実) PC ノート
デスク
分析の軸(次元) 北海道
32 686
概念階層 東 東北
128
2
8
100 64
地方 東京 386
686 386
8 32
大阪
128 2
西 4 16
広島
386 16
64 8
福岡
64
32 686
Q1
Q2 128
Q3
上期 Q4
下期
時期 6
図: http://www.atmarkit.co.jp/fwin2ktutor/sql02/sql02_03.html
- 7. 関係データベースを利用したOLAP
関係データベースに格納されたデータを利用
スタースキーマ
カテゴリ OS Mac
数値(事実表) Win
PC ノート
分析の軸(次元表) デスク
北海道
32 686
次元表 128
カテゴリ
東 東北
8 2
100 64
ID
地方 東京 386
大カテゴリ
686 386
8 32
大阪
小カテゴリ 128 2
西 4 16
広島
事実表 386 16
売上実績 64
次元表 次元表 福岡 8
時期 ID 地方 64
32 686
ID カテゴリ_id ID Q1
Q2 128
上期下期 時刻_id 東西 Q3
Q4
上期
四半期 店舗_id 都市名 下期
売上高 時期
図: http://www.atmarkit.co.jp/fwin2ktutor/sql02/sql02_03.html
7
- 9. 関連研究
Benediktら1
OLAP分析を行うための,Linked Dataの変換
RDF Data Cube(QB)Vocabulary の利用
RDFで,データキューブを記述するための語彙
Cube Vocabulary 準拠のデータを関係DBに格納
概念階層はRDFで記述されている
データ公開時からOLAP分析の対象として,
Cube Vocabularyに準拠したデータは尐ない
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
- 11. 問題に対する本研究のアプローチ
RDF(グラフ構造)を関係スキーマにマッピング
データおよびデータ間の情報から概念階層を半自動的に作成
(RDF, Linked Data の特徴を利用)
11
- 13. 1. RDFデータの取得
1. RDFデータの取得 2. RDFを関係データベースへ格納
3. ユーザーによる分析対象の選択
4. 次元表の作成
分析対象のRDFデータを取得 5. スキーマの導出
RDFダンプの読み込み
URIによるRDFの参照
同一ホスト内のリソース(URI)を再帰的に取得
目的語として利用されている外部リソースも取得
分析対象(www.example.com) 外部リソース(www.w3.org)
13
- 14. 1. RDFデータの取得
2. RDFを関係データベースへ格納
2. RDFを関係DBへ格納 (1/2) 3. ユーザーによる分析対象の選
4. 次元表の作成
トリプルを rdf:type 毎に,RDBに格納 5. スキーマの導出
テーブルのスキーマを決定できない
RDFはスキーマを利用することが定められていない
垂直表現の述語表1に格納 1. DJ Abadiら,2007.
つくば店 コンピュータ “190,000”
製品カテゴリ 売上高
店舗
売上実績_1 時刻_1 “売上実績” テーブル(垂直表現)
時刻 主語 述語 目的語 値タイプ
売上実績_1 時刻 時刻_1 リソース
売上実績_2
売上実績_1 製品カテゴリ コンピュー リソース
時刻 タ
時刻_2 売上実績_1 売上高 “190,000” リテラル
売上高 売上実績_1 店舗 つくば店 リソース
rdf:type
“4,000” 売上実績_2 時刻 時刻_2 リソース
売上実績 店舗
売上実績_2 売上高 “4,000” リテラル
水戸店 14
売上実績_2 店舗 水戸店 リソース
- 15. 1. RDFデータの取得
2. RDFを関係データベース
2. RDFを関係DBへ格納 (2/2) 3. ユーザーによる分析対
4. 次元表の作成
垂直表現から水平表現へ変換 5. スキーマの導出
各 “rdf:type” がどのような属性を持つか把握できた
“売上実績” テーブル(垂直表現)
主語 述語 目的語 値タイプ 売上実績
売上実績_1 時刻 時刻_1 リソース 主語[PK]
売上実績_1 製品カテゴリ コンピュー リソース 時刻[FK]
タ 製品カテゴリ[FK]
売上実績_1 売上高 “190,000” リテラル 売上高
売上実績_1 店舗 つくば店 リソース 店舗[FK]
売上実績_2 時刻 時刻_2 リソース 得られたスキーマ
売上実績_2 売上高 “4,000” リテラル PK: 主キー
FK: 外部キー
売上実績_2 店舗 水戸店 リソース
“売上実績” テーブル(水平表現)
主語[PK] 時刻[FK] 製品カテゴリ[FK] 売上高 店舗[FK]
売上実績_1 時刻_1 コンピュータ “190,000” つくば店
売上実績_2 時刻_2 null “4,000” 水戸店
15
- 16. 1. RDFデータの取得
3. ユーザーによるメジャーの選択
2. RDFを関係データベースへ格納
3. ユーザーによる分析対象の選
4. 次元表の作成
OLAPの分析対象とする値(メジャー)の
5. スキーマの導出
選択をユーザーに依頼する
在庫
主語
製品カテゴリ
売上実績 製品名
主語
主語 製品カテゴリ_ID
名称
製品カテゴリ_ID 店舗_ID
時刻 時刻_ID 在庫数
主語 店舗_ID 店舗
日時 売上高 主語
地名_ID gn:地名
主語
来客実績
地名
主語
店舗_ID
時刻_ID
来客数
16
- 17. 1. RDFデータの取得
4. 次元表の作成
2. RDFを関係データベースへ格納
3. ユーザーによる分析対象の選
4. 次元表の作成
OLAPに利用する次元表を作成する
5. スキーマの導出
1 本研究では三種類の作成方法を提案
2
データに直接記述されたリテラルの利用 データに直接記述された階層構造の利用
事実表 製品カテゴリ
売上実績
主語
主語
時刻 名称 3
製品カテゴリ_ID
主語 データセット外部にある
時刻_ID
日時 階層構造の利用
店舗_ID
売上高 店舗 gn:地名
主語 主語
地名_ID 地名
青背景は,外部ホストのデータ
17
- 18. 3
データセット外部にある階層構造の利用
予め階層構造を取得できると把握されている外部
データセットの利用
外部データセット(リソース)
分析対象
つくば市 日本
水戸市 茨城県
階層構造
例)GeoNames
地理情報の階層構造を取得できるとわかっている
つくば市/茨城県/日本/アジア
18
- 19. 1. RDFデータの取得
5. スキーマの導出
2. RDFを関係データベースへ
3. ユーザーによる分析対象
4. 概念階層の作成
例)売上高 がメジャーとして選択された場合 5. スキーマの導出
事実表)売上実績
次元表)販売時刻,製品カテゴリ,店舗-gn:地名
製品カテゴリ
時刻 主語
実績
主語 名称 次元表
主語
時
製品カテゴリ_主語 店舗-gn:地名
日
販売時刻_主語 主語
月
販売店舗_主語 L1(市区町村)
四半期
売上高 L2(都道府県)
年 事実表
次元表 L3(国)
L4(大陸) 次元表
19
- 20. 実験
目的
Linked Dataとして公開されている数値データを対象に,
本手法を用いてOLAPに用いるスキーマの導出が可能か検証
実験1)空間放射線量 観測データ
National Radioactivity Stat as Linked Data1
文部科学省発行の環境放射能水準調査2をRDF化したデータセット
実験2)気象観測データ
Linked Sensor/Observation Data3
米国二万箇所以上の観測所メタデータ
上記観測所から得られた気象観測データ
1 http://www.kanzaki.com/works/2011/stat/ra/
2 http://radioactivity.mext.go.jp/ja/monitoring_by_prefecture/
20
3 http://wiki.knoesis.org/index.php/LinkedSensorData
- 21. 実験1)結果(1/2)
放射線量 観測データはクローリングして取得
トリプル数:1,003,410 個(2011年03-12月)
地理情報:GeoNames ダンプデータの利用
rdf:type
観測インスタンス,観測時刻,観測地(GeoNames)
観測インスタンス 観測値
rdf:value
ra:20110315/p02/t20 “0.040”
ev:place
ev:time 観測地
gn:2111833
観測時刻
tl:at
time:20110315T22PT1H “2011-04-14T00:00:00”^^xsd:dateTime
“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#” 21
”tl” は “http://purl.org/NET/c4dm/timeline.owl#”,”rdf” は “http://www.w3.org/1999/02/22-rdf-syntax-ns#”
- 22. 実験1)結果(2/2)
観測値をメジャーとした場合のスキーマを導出
事実表)観測値を含む,観測インスタンステーブル
次元表)
1. 観測時刻(観測時刻から階層構造を作成)
2. 観測地(GeoNamesのリソースから階層構造を取得)
次元表
事実表 次元表
time(観測時刻) observation_instance place(観測地)
subject(主語) (観測インスタンス) subject(主語)
sec(秒) subject(主語) layer_1(市区町村)
min(分) place (Place_subject) layer_2(都道府県)
hour(時) time (Time_subject) layer_3(国)
day(日) value(観測値) layer_4(大陸)
month(月)
year(年)
value(観測値)が文字列として扱われた
OLAP分析には,利用者によるデータ型の補完が必要 22
- 23. 実験2)結果(1/2)
ダンプデータの利用
ハリケーン Bill(2009年8月17-22日)
トリプル数:231,021,108個 / 観測回数:21,272,790回
地理情報:GeoNames ダンプデータを利用
メジャー候補を列挙
観測時刻,観測値,観測所座標,…
観測値をメジャーとした場合のスキーマを導出
事実表)観測値を含む,観測と観測値を統合したテーブル
次元表)
1. 観測時刻(観測時刻から得た階層構造)
2. 観測所(観測所の外部リソースから得た階層構造)
23
- 24. “-121.6736"^^xsd:float “45.0397”^^xsd:float
gn:Feature
wgs48:lat
wgs48:long
“3780"^^xsd:float
om-owl:hasLocation
wgs48:alt
wgs84:Point
om-owl:LocatedNearRel
om-owl:processLocation
om-owl:hasLocatedNearRel
om-owl:System
観測所
om-owl:procedure
Linked Sensor Data
Linked Observation Data
om-owl:generatedObservation om-owl:result 観測値
om-owl:MeasureData
instantOfObservation om-owl:floatValue
観測インスタンス “81.3”
^^xsd:float
om-owl:samplingTime
time:inXSDDateTime “2004-08-10T16:10:00-06:00”
time:Instant ^^xsd:dateTime
観測時刻 “wgs84” は “http://www.w3.org/2003/01/geo/wgs84_pos#” の略
“time” は “http://www.w3.org/2006/time#” の略
“gn” は “http://www.geonames.org/ontology#” の略
“om-owl” は “http://knoesis.wright.edu/ssw/ont/sensor-observation.owl#” の略 24
“xsd” は “http://www.w3.org/2001/XMLSchema#” の略
- 25. 実験2)結果(2/2)
導出されたスキーマ 次元表
System_LocatedNearRel
次元表 (観測所-周辺-その他)
事実表
Instant(観測時刻 Observation_MeasureData subject(主語)
subject(主語) (観測-観測値)
ID(名称)
sec(秒) subject(主語)
Source URI
min(分) procedure (System_subject)
wgs84:alt(高度)
hour(時) samplingTime (Instant_subject)
wgs84:lat(緯度)
day(日) floatValue(観測値) wgs84:long(経度)
month(月) layer_1(町)
year(年) layer_2(郡)
layer_3(州)
layer_4(国)
問題点 layer_5(大陸)
消滅した外部オントロジ
“weather:” オントロジ*
* http://knoesis.wright.edu/ssw/ont/weather.owl# 25
- 27. 今後の課題
同じ述語で異なる目的語を複数持つトリプルへの対応
本手法は “rdf:type” に強く依存
“rdf:type” が,複数記述されている主語に対する処理
“rdf:type” が,記述されていない主語に対する処理
より多くのデータセットを分析可能にするために
より多くのオントロジ・データセットへの対応
階層構造の定義はオントロジ・データセット毎にまちまち
他の分野のデータへの適用,検証
27