Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

1,061 views

Published on

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

Published in: Technology
  • Be the first to comment

  • Be the first to like this

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

  1. 1. LODのOLAP分析を可能にするETLフレームワークの提案 井上寛之1,天笠俊之2,3,北川博之2 1 筑波大学 大学院 システム情報工学研究科 コンピュータサイエンス専攻 2 筑波大学 システム情報系 情報工学域 3 宇宙航空研究開発機構 宇宙科学研究所 宇宙科学情報解析研究系 1
  2. 2. 発表の流れ背景前提知識目的と問題関連研究提案手法実験まとめ,今後の課題 2
  3. 3. Linked Open Data,RDFLinked Open Data の広がり  構造化されたデータをWebで公開・共有する方法の一つ  他のデータとリンクすることで「データのWeb」を構築 例)データシティ鯖江(福井県鯖江市)  市内トイレ情報,AED設置箇所,イベント情報,…  XML形式によるRDFデータの公開Resource Description Framework(RDF)  Webにおけるモノとモノの関係を記述するフレームワーク  W3C によって標準化1  三つ組(トリプル):主語,述語,目的語 タイトル http://www.tsukuba.ac.jp/ “筑波大学” 31. W3C:REC-rdf-syntax-19900222 楕円:リソース,矩形:リテラル(文字列)
  4. 4. On-Line Analytical ProcessingOLAP1  大量に蓄積されたデータに対して,複雑で統計的な 問合せを行う分析手法の一つ Mac カテゴリ OS  製品の売上分析等,BIで活用 PC Win ノート  データキューブを構成 デスク 北海道 32 686  分析の対象となる数値(事実) 128 東 東北 8 2  分析の軸(次元) 100 64 地方 東京 386 686 386 8 32 大阪 128 2 西 4 16 広島 386 16 64 8 福岡 64 32 686 Q1 Q2 128 Q3 上期 Q41. 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. 時期 4 図: http://www.atmarkit.co.jp/fwin2ktutor/sql02/sql02_03.html
  5. 5. OLAP のための ETL Extract, Transform, and Load(ETL)  Extract: 情報源からのデータ抽出  Transform: データの変換・加工  Load: データウェアハウスへの読み込み 関係データベースに格納されたデータに対するOLAP  スタースキーマ カテゴリ 次元表  事実表を中心とし, ID 複数の次元表から構成される 大カテゴリ 小カテゴリ 事実表 売上実績 次元表 次元表 時期 ID 地方 ID カテゴリ_id ID 上期下期 時刻_id 東西 四半期 店舗_id 都市名 売上高 5
  6. 6. Linked Open Data の分析Linked Open Data(LOD)  分野: 政府,地理,医学,生物学,図書,映画,音楽,…  サイズ: 295データセット,310億トリプル,5.4億リンク1 数値・統計データが多く公開されている  国政データ – Data.gov(米国など),Eurostat(EU諸国)  科学データ – 遺伝子,創薬  センサデータ – 気象観測,放射線観測 数値・統計データが多く公開されており,分析が必要1. http://www.w3.org/wiki/SweoIG/TaskForces/CommunityProjects/LinkingOpenData 6
  7. 7. 関連研究: LODに対するOLAP分析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語彙の利用に制約はない[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”. 7 In COLD, volume 905 of CEUR Workshop Proceedings. CEURWS.org, 2012.
  8. 8. 関連研究: LODに対するOLAP分析 2つの方向性 1. RDFデータを関係DBへ格納後,OLAPを行う  Kampgen ら [1] – 既存のOLAPシステムを利用する点で有利 2. RDFデータに直接OLAP的な操作を行う  Etcheverry ら [2,3] – 本研究では,一般的な SPARQL(RDF問合せ言語)を利用 Linked Open Data に対して, 前者の関係DBに格納するアプローチで,  どちらの手法もOLAPの為の特定のRDF語彙を必要とする既存のOLAPシステムを利用した分析処理を行う手法を提案する  RDF Data Cube (QB) Vocabulary  Open Cube Vocabulary,QB4OLAP  特定の語彙に依存しない,一般的な手法が必要である  Linked Open Data ではスキーマ,RDF語彙の利用に制約はない [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”. 8 In COLD, volume 905 of CEUR Workshop Proceedings. CEURWS.org, 2012.
  9. 9. 本研究の目的と問題目的 Linked Dataとして一般に公開されている数値・統計 データを,OLAPにより分析可能にする一連の変換 フレームワークの提案問題 Linked DataからOLAP分析へのマッピング  RDF(グラフ構造)を直接OLAPするのは困難  既存のOLAPシステムを用いた分析を行うための変換  OLAPでは分析の軸が必要  軸に利用する概念階層の作成 9
  10. 10. 問題に対する本研究のアプローチ RDF の OLAP 分析 ↓ RDF(グラフ構造)を関係スキーマにマッピング OLAP に用いる分析の軸の準備 ↓ データ自身およびリンクする 外部の情報における概念階層から軸を導出 (RDF, Linked Data の特徴を利用) 10
  11. 11. フレームワーク概要 関係スキーマへの マッピング1) RDFの抽出 2) RDFを関係データベースへ格納 4) スキーマの生成 <XML> Web 分析の軸の導出 3) 次元導出 11
  12. 12. 1. RDFデータの取得1. RDFデータの取得 2. RDFを関係データベースへ格納 3. 次元の導出分析対象のRDFデータを取得 4. スキーマの生成  RDFダンプの読み込み  URIによるRDFの参照  同一ホスト内のリソース(URI)を再帰的に取得  目的語として利用されている外部リソースも取得 分析対象(www.example.com) 外部リソース(www.w3.org) 12
  13. 13. 1. RDFデータの取得 2. RDFを関係データベースへ格2. RDFを関係DBへ格納 (1/3) 3. 次元の導出 OLAP分析に利用可能なように格納する必要がある 4. スキーマの生成  Property Table1(PT)- 主語とその全ての属性が一行に格納される URI 時刻 製品カテゴリ 売上高 店舗 売上実績_1 時刻_1 コンピュータ 190,000 つくば店 テーブルの属性を把握する必要がある  LODではRDFスキーマを利用する制限がない  あるリソースがどのような属性を持つのか把握できない Type-Partitioned Triple Store(TPTS) の提案  RDFリソースを rdf:type 毎に Triple Store2 に格納  三つ組(主語,述語,目的語)を一行で格納  “述語” の値から,rdf:type 毎の属性が把握することができる  Property Table として作り変える 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. 13 In: Horrocks, I., Hendler, J. (eds.) ISWC 2002. LNCS, vol. 2342, pp. 54–68. Springer, Heidelberg (2002)
  14. 14. 1. RDFデータの取得2. RDFを関係DBへ格納 (2/3) 2. RDFを関係データベースへ格納 3. 次元の導出Type-partitioned Triple Store (TPTS) 4. スキーマの生成  rdf:type 毎のテーブルに分割  トリプルを一行に格納,目的語のデータ型も格納つくば店 コンピュータ “190,000”^^xsd:integer 店舗 製品カテゴリ 売上高 “売上実績” テーブル(TPTS) 売上実績_1 時刻_1 時刻 主語 述語 目的語 型 売上実績_1 時刻 時刻_1 リソース 売上実績_2 売上実績_1 製品カテゴリ コンピュー リソース 時刻 タ 時刻_2 売上実績_1 売上高 190,000 数値 売上高 売上実績_1 店舗 つくば店 リソースrdf:type “4,000” 売上実績_2 時刻 時刻_2 リソース売上実績 店舗 ^^xsd:integer 売上実績_2 売上高 4,000 数値 水戸店 14 売上実績_2 店舗 水戸店 リソース
  15. 15. 1. RDFデータの取得2. RDFを関係DBへ格納 (3/3) 2. RDFを関係データベースへ格納 3. 次元の導出Property Table(PT) へ変換 4. スキーマの生成  各 rdf:type がどのような属性を持つか把握できた“売上実績” テーブル(TPTS) 得られたスキーマ主語 述語 目的語 値タイプ売上実績_1 時刻 時刻_1 リソース 売上実績売上実績_1 製品カテゴリ コンピュー リソース 主語[PK] タ 時刻[FK]売上実績_1 売上高 190,000 数値 製品カテゴリ[FK]売上実績_1 店舗 つくば店 リソース 売上高売上実績_2 時刻 時刻_2 リソース 店舗[FK]売上実績_2 売上高 4,000 数値 PK: 主キー FK: 外部キー売上実績_2 店舗 水戸店 リソース“売上実績” テーブル(PT)主語[PK] 時刻[FK] 製品カテゴリ[FK] 売上高 店舗[FK]売上実績_1 時刻_1 コンピュータ 190,000 つくば店売上実績_2 時刻_2 null 4,000 水戸店 15
  16. 16. ユーザーによるメジャーの選択OLAPの分析対象とする値(メジャー)の 選択をユーザーに依頼する 在庫 URI 製品カテゴリ 売上実績 製品名 URI URI 製品カテゴリ_URI 名称 製品カテゴリ_URI 店舗_ID時刻 時刻_URI 在庫数URI 店舗_URI 店舗日時 売上高 URI 地名_URI gn:地名 URI 来客実績 地名 URI 店舗_URI 時刻_URI 来客数 16
  17. 17. 1. RDFデータの取得 3. 次元の導出 2. RDFを関係データベースへ格納 3. 次元の導出 4. スキーマの生成 OLAPに利用する次元表を作成する  本研究では三種類の作成方法を提案1 2 データに直接記述されたリテラルの利用 データに内在する階層構造の利用 親カテゴリ URI 事実表 製品カテゴリ 売上実績 名称 URI URI 時刻 名称 製品カテゴリ_URI 3 URI 時刻_URI 親カテゴリ_URI データセット外部にある 日時 階層構造の利用 店舗_URI 売上高 店舗 URI GeoNames gn:地名_URI 17
  18. 18. 3 データセット外部にある階層構造の利用 予め階層構造を取得できると把握されている 外部データセット(オントロジ)の利用 例)GeoNames  地理情報の階層構造を取得できるとわかっている  つくば市/茨城県/日本/アジア 外部データセット(リソース) 分析対象 つくば市 日本 水戸市 茨城県 階層構造 18
  19. 19. 1. RDFデータの取得4. スキーマの生成 2. RDFを関係データベースへ格納 3. 次元の導出例)売上高 がメジャーの場合 4. スキーマの生成  事実表)売上実績  次元表)販売時刻,製品カテゴリ,店舗-gn:地名 製品カテゴリ 時刻 URI 実績 URI 名称 次元表 URI 時 製品カテゴリ_URI 店舗-gn:地名 日 販売時刻_URI URI 月 販売店舗_URI L1(市区町村) 四半期 売上高 L2(都道府県) 年 事実表 次元表 L3(国) L4(大陸) 次元表 スキーマの出力(Mondrian 向け XMLファイル) 19
  20. 20. 実験目的  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/ 20 3 http://wiki.knoesis.org/index.php/LinkedSensorData
  21. 21. 実験)結果(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. 22. 実験)結果(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(年) 22
  23. 23. 実験)Mondrian OLAP による分析例 観測地 観測地 観測時刻 (μSv/h)(GeoNames) 23
  24. 24. 観測地について Drilled Down 実験)Mondrian OLAP による分析例 観測地 観測地 観測時刻 (μSv/h)(GeoNames) 24
  25. 25. 観測地について Drilled Down 実験)Mondrian OLAP による分析例 観測地 観測地 観測時刻 福島県を観測時刻で Drilled Down (μSv/h)(GeoNames) 25
  26. 26. まとめ,今後の課題 LODのOLAP分析を可能にするETLフレームワークを提案  OLAPの為の特定のRDF語彙の利用を必要としない  既存手法よりも多くのLODをOLAP分析可能にする  RDF(グラフ構造)を関係スキーマにマッピング  データの内部,および外部の情報から階層構造を取得  RDF,Linked Dataの特徴を生かした処理 気象観測,生物情報学データに本手法を適用  分析対象を決めた時の,分析の軸を導出  OLAP分析に利用するスタースキーマを生成 今後の課題  本手法は “rdf:type” に強く依存  “rdf:type” が,複数記述されている主語に対する処理  “rdf:type” が,記述されていない主語に対する処理  分析対象LODの更新を,スキーマへ更新する仕組みの検討 26
  27. 27. ご清聴ありがとうございました 27

×