SlideShare uma empresa Scribd logo
1 de 28
OLAPを利用したLinked Dataの分析処理




  井上寛之1,天笠俊之2,3,北川博之2
  1 筑波大学   情報学群 情報科学類
  2 筑波大学   システム情報系 情報工学域
  3 宇宙航空研究開発機構   宇宙科学研究所 宇宙科学情報解析研究系   1
発表の流れ
背景
目的
関連研究
提案手法
実験
まとめ
今後の課題

         2
セマンティックウェブとRDF
セマンティックウェブ
  Web上のリソースにメタデータを付け,コンピュータが
   人間と同じように意味を理解できるようにする試み
    リソース:文書,画像,…

RDF(Resource Description Framework)
  情報を記述するための基本的なモデル
  三つ組(トリプル):主語,述語,目的語
    主語の属性・プロパティを述語で,その値を目的語で記述
    グラフ構造を構成する


                                  hasタイトル
     http://www.tsukuba.ac.jp/              “筑波大学”

                            楕円:リソース,矩形:リテラル(文字列)
                                               3
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
Linked Dataとして公開された数値・統計データ
     に対する分析処理が必要とされている




                              5
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
関係データベースを利用した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
本研究の目的と課題
目的
 Linked Dataとして一般に公開されている数値・統計
  データを,OLAPにより分析可能にする手法の提案

課題
 Linked DataからOLAP分析へのマッピング
  RDF(グラフ構造)を直接OLAPするのは困難
    既存のOLAPシステムを用いた分析を行うための変換
  OLAPでは分析の軸が必要
    軸に利用する概念階層の作成




                                  8
関連研究
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
本研究では,一般的なLinked Dataに対して,
OLAPを利用した分析処理を行う手法を提案する




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



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




 データおよびデータ間の情報から概念階層を半自動的に作成
      (RDF, Linked Data の特徴を利用)



                                  11
データ取得からスキーマ導出まで

1. RDFデータの取得


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


   3. ユーザーによる分析対象の選択


     4. 次元表の作成


       5. スキーマの導出
                       12
1. RDFデータの取得




1. RDFデータの取得                   2. RDFを関係データベースへ格納


                                 3. ユーザーによる分析対象の選択


                                   4. 次元表の作成

分析対象のRDFデータを取得                      5. スキーマの導出


  RDFダンプの読み込み
  URIによるRDFの参照
   同一ホスト内のリソース(URI)を再帰的に取得
   目的語として利用されている外部リソースも取得




  分析対象(www.example.com)   外部リソース(www.w3.org)
                                        13
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    店舗        水戸店             リソース
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
1. RDFデータの取得




3. ユーザーによるメジャーの選択
                                   2. RDFを関係データベースへ格納


                                     3. ユーザーによる分析対象の選


                                       4. 次元表の作成



OLAPの分析対象とする値(メジャー)の
                                         5. スキーマの導出




 選択をユーザーに依頼する
                          在庫
                          主語
                 製品カテゴリ
     売上実績                 製品名
                 主語
     主語                   製品カテゴリ_ID
                 名称
     製品カテゴリ_ID            店舗_ID
時刻   時刻_ID                在庫数
主語   店舗_ID       店舗
日時   売上高         主語
                 地名_ID    gn:地名
                          主語
     来客実績
                          地名
     主語
     店舗_ID
     時刻_ID
     来客数
                                                 16
1. RDFデータの取得




     4. 次元表の作成
                                                 2. RDFを関係データベースへ格納


                                                  3. ユーザーによる分析対象の選


                                                    4. 次元表の作成



    OLAPに利用する次元表を作成する
                                                      5. スキーマの導出




1         本研究では三種類の作成方法を提案
                          2
    データに直接記述されたリテラルの利用        データに直接記述された階層構造の利用



                  事実表    製品カテゴリ
            売上実績
                         主語
            主語
    時刻                   名称        3
            製品カテゴリ_ID
    主語                                 データセット外部にある
            時刻_ID
    日時                                     階層構造の利用
            店舗_ID
            売上高          店舗              gn:地名
                         主語              主語
                         地名_ID           地名

                                  青背景は,外部ホストのデータ
                                                            17
3
    データセット外部にある階層構造の利用
    予め階層構造を取得できると把握されている外部
     データセットの利用
                           外部データセット(リソース)
     分析対象

             つくば市             日本
              水戸市   茨城県



                    階層構造

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




5. スキーマの導出
                                       2. RDFを関係データベースへ


                                        3. ユーザーによる分析対象


                                          4. 概念階層の作成

例)売上高 がメジャーとして選択された場合                      5. スキーマの導出



  事実表)売上実績
  次元表)販売時刻,製品カテゴリ,店舗-gn:地名

                          製品カテゴリ
    時刻                    主語
            実績
    主語                    名称  次元表
            主語
    時
            製品カテゴリ_主語     店舗-gn:地名
    日
            販売時刻_主語       主語
    月
            販売店舗_主語       L1(市区町村)
    四半期
            売上高           L2(都道府県)
    年               事実表
      次元表                 L3(国)
                          L4(大陸) 次元表


                                              19
実験
目的
  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
実験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#”
実験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
実験2)結果(1/2)
ダンプデータの利用
 ハリケーン Bill(2009年8月17-22日)
  トリプル数:231,021,108個 / 観測回数:21,272,790回
 地理情報:GeoNames ダンプデータを利用

メジャー候補を列挙
 観測時刻,観測値,観測所座標,…

観測値をメジャーとした場合のスキーマを導出
 事実表)観測値を含む,観測と観測値を統合したテーブル
 次元表)
 1. 観測時刻(観測時刻から得た階層構造)
 2. 観測所(観測所の外部リソースから得た階層構造)

                                           23
“-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#” の略
実験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
まとめ
OLAPによるLinked Dataの分析処理を提案
  RDF,Linked Dataの特徴を生かした処理
   データの内部,および外部の関係から階層構造を取得

二種類の観測データに本手法を適用
  分析対象を決めた時の,分析の軸を準備
  OLAP分析に利用するスタースキーマを導出




                               26
今後の課題
 同じ述語で異なる目的語を複数持つトリプルへの対応

 本手法は “rdf:type” に強く依存
  “rdf:type” が,複数記述されている主語に対する処理
  “rdf:type” が,記述されていない主語に対する処理

 より多くのデータセットを分析可能にするために
  より多くのオントロジ・データセットへの対応
    階層構造の定義はオントロジ・データセット毎にまちまち

 他の分野のデータへの適用,検証




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




                 28

Mais conteúdo relacionado

Destaque (14)

Copy Of Fthb Presentation2
Copy Of Fthb Presentation2Copy Of Fthb Presentation2
Copy Of Fthb Presentation2
 
David Scott Cosmetics
David Scott CosmeticsDavid Scott Cosmetics
David Scott Cosmetics
 
Bl Consulting Ltd I Scala Pm Overview
Bl Consulting Ltd I Scala Pm OverviewBl Consulting Ltd I Scala Pm Overview
Bl Consulting Ltd I Scala Pm Overview
 
Chemical Reactions
Chemical ReactionsChemical Reactions
Chemical Reactions
 
2011 Sales Deck
2011 Sales Deck2011 Sales Deck
2011 Sales Deck
 
Ians Slides
Ians SlidesIans Slides
Ians Slides
 
Mortgage Market Meltdown V2
Mortgage Market Meltdown V2Mortgage Market Meltdown V2
Mortgage Market Meltdown V2
 
LA Autoshow
LA AutoshowLA Autoshow
LA Autoshow
 
Google Adsense Beginners
Google Adsense BeginnersGoogle Adsense Beginners
Google Adsense Beginners
 
The Event Industry’s Evangelist of Open Source
The Event Industry’s Evangelist of Open SourceThe Event Industry’s Evangelist of Open Source
The Event Industry’s Evangelist of Open Source
 
Phil Reeves Innov_ex 09
Phil Reeves Innov_ex 09Phil Reeves Innov_ex 09
Phil Reeves Innov_ex 09
 
Twitter lesson
Twitter lessonTwitter lesson
Twitter lesson
 
Úvod do umelej inteligencie
Úvod do umelej inteligencieÚvod do umelej inteligencie
Úvod do umelej inteligencie
 
Doc1
Doc1Doc1
Doc1
 

Mais de Hiroyuki Inoue

Mais de Hiroyuki Inoue (6)

クックパッドの開発プロセス
クックパッドの開発プロセスクックパッドの開発プロセス
クックパッドの開発プロセス
 
リアルタイム分析サービス『たべみる』を支える高可用性アーキテクチャ
リアルタイム分析サービス『たべみる』を支える高可用性アーキテクチャリアルタイム分析サービス『たべみる』を支える高可用性アーキテクチャ
リアルタイム分析サービス『たべみる』を支える高可用性アーキテクチャ
 
PARIS at SWIM seminar
PARIS at SWIM seminarPARIS at SWIM seminar
PARIS at SWIM seminar
 
Swim_2013_02_19_jpn
Swim_2013_02_19_jpnSwim_2013_02_19_jpn
Swim_2013_02_19_jpn
 
Analytical processing for Linked Data using OLAP
Analytical processing for Linked Data using OLAPAnalytical processing for Linked Data using OLAP
Analytical processing for Linked Data using OLAP
 
RDBを中核としたXMLDBの開発
RDBを中核としたXMLDBの開発RDBを中核としたXMLDBの開発
RDBを中核としたXMLDBの開発
 

OLAPを利用したLinked Dataの分析処理

  • 1. OLAPを利用したLinked Dataの分析処理 井上寛之1,天笠俊之2,3,北川博之2 1 筑波大学 情報学群 情報科学類 2 筑波大学 システム情報系 情報工学域 3 宇宙航空研究開発機構 宇宙科学研究所 宇宙科学情報解析研究系 1
  • 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
  • 5. Linked Dataとして公開された数値・統計データ に対する分析処理が必要とされている 5
  • 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
  • 8. 本研究の目的と課題 目的  Linked Dataとして一般に公開されている数値・統計 データを,OLAPにより分析可能にする手法の提案 課題  Linked DataからOLAP分析へのマッピング  RDF(グラフ構造)を直接OLAPするのは困難  既存のOLAPシステムを用いた分析を行うための変換  OLAPでは分析の軸が必要  軸に利用する概念階層の作成 8
  • 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
  • 12. データ取得からスキーマ導出まで 1. RDFデータの取得 2. RDFを関係データベースへ格納 3. ユーザーによる分析対象の選択 4. 次元表の作成 5. スキーマの導出 12
  • 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
  • 26. まとめ OLAPによるLinked Dataの分析処理を提案  RDF,Linked Dataの特徴を生かした処理  データの内部,および外部の関係から階層構造を取得 二種類の観測データに本手法を適用  分析対象を決めた時の,分析の軸を準備  OLAP分析に利用するスタースキーマを導出 26
  • 27. 今後の課題  同じ述語で異なる目的語を複数持つトリプルへの対応  本手法は “rdf:type” に強く依存  “rdf:type” が,複数記述されている主語に対する処理  “rdf:type” が,記述されていない主語に対する処理  より多くのデータセットを分析可能にするために  より多くのオントロジ・データセットへの対応  階層構造の定義はオントロジ・データセット毎にまちまち  他の分野のデータへの適用,検証 27