SlideShare a Scribd company logo
1 of 25
XLWrap に関するご紹介

              筑波大学大学院 システム情報工学研究科
            コンピュータサイエンス専攻 北川データ工学研究室
                           大澤 昇平


この資料に関するお問合せ:shohei.ohsawa@kde.cs.tsukuba.ac.jp
2011/1/22                                         1
アジェンダ

    XLWrapの全体像・機能
    • 概要:XLWrap とは
    • マッピングルール
    • サポートしている機能
    • HTTPフロントエンド

    XLWrapのマッピングルールの記述
    • 目標
    • マッピングルールの内容
    • 手順
    • 実行結果

    まとめ・デモ・質疑応答



                         2
アジェンダ

    XLWrapの全体像・機能
    • 概要:XLWrap とは
    • マッピングルール
    • サポートしている機能
    • HTTPフロントエンド

    XLWrapのマッピングルールの記述
    • 目標
    • マッピングルールの内容
    • 手順
    • 実行結果

    まとめ・デモ・質疑応答



                         3
概要: XLWrap とは
•   XLWrap とは、スプレッドシートで表現されているデータを RDFグラフに変換するソフト
    ウェアです。
•   HTTP サーバが内蔵されているため、SPARQLエンドポイントとして機能する他、リモート
    にあるスプレッドシートへのアクセスが可能であるため、ウェブ上に公開されている
    Excel ファイルなどを、シームレスにラッピングすることができます。

XLWrapサーバのバックエンド

                     マッピングルール
                       マッピング
                        マッピング
                     (運営者が記述)
                        ルール
                         ルール



     スプレッドシート
         マッピング        XLWrapデータ   変換   変換された        格納
    (Excel,マッピング                                         トリプルストア
           ルールCSV)
           OOCalc,
            ルール          変換器           RDFグラフ              (Jena)


XLWrapサーバの HTTP フロントエンド
                                            問合せ              問合せ
                                                          SPARQL
              運営者用ダッシュボード              Snorqlブラウザ
                                                         エンドポイント



                                                                    4
マッピングルール 1/2
              •   XLWrap では、ユーザが手動でマッピングルールを記述します。マッピングルールは、原則的に各スプ
                  レッドシートに対し、一つ記述します。

              •   マッピングルールでは、変換先RDFグラフにおいて、各リソース/リテラルの値が、変換元スプレッドシート
                  のどのセルに対応するかを記述していきます。


                   名前空間についても、マッピ
変換先RDFグラフ




                   ングルール内で定義できます                                   398
                                                 ex:itemsSold
                        ex:Austria_Product1
                                                 ex:revenue      9154.00      ノードの値が必ずセ
                                                                              ルと対応している必
                                  このように、複数セルの値   ex:category                   要はありません
                                  を結合することもできます                  “laptop PC”
変換元スプレッドシート




                                                                                   5
マッピングルール 2/2
              •            XLWrapでは、マッピングルールにおいて、「変換の繰り返し」を定義することができます。

              •            マッピングルールでは、変換元スプレッドシートを「行」「列」「シート」を軸に持つ三次元の
                           データと捉え、それぞれの軸についての繰り返し方法を定義します。
                  Sheet1
変換元スプレッドシート

                  Sheet2




                                                                  行の繰り返し

                                                                  列の繰り返し

                                                                  シートの繰り返し



                                                                          6
サポートしている機能
•   サポートしているスプレッドシートの形式:Excel, OpenOffice Calc, CSV

•   名前空間
    – 変換先RDFグラフの定義に、名前空間を使うことができます

•   コンスタント・グラフ
    – 変換先RDFグラフの定義に、入力元のExcelデータの値によらない、コンスタントなグラフを加
      えることができます。

•   セル値の演算
    –   算術演算(+, -, *, /)
    –   文字列の結合演算
    –   比較演算(<, >, 等)
    –   論理演算(&&, ||)

    – URL エンコード
    – DBPedia へのマッピング
         •   例: A1=“Australia” の場合、DBP_LOCATION(A1) と書くと、dbpedia:Australia と等価な意味になる
    – ユーザ定義関数


                                                                                       7
HTTPフロントエンド 1/3
•   XLWrap には、HTTPフロントエンドとして、「SPARQLエンドポイント」 「Snorqlブラウ
    ザ」 「運営者用ダッシュボード」などの機能が搭載されています。




                                運営者用ダッシュボード(トップページ)
                                XLWrapを起動し、http://localhost:8900/
                                (デフォルト設定)へアクセスしたときに表
                                示されるページ。SPARQLエンドポイント、
                                Snorqlブラウザへのリンクなどが見える。




                                                                8
HTTPフロントエンド 2/3




       運営者用ダッシュボード(ステータス情報)
       スプレッドシートが正しく変換されると、
       Wrapped spreadsheets in cache という項目
       に表示される。



                                             9
HTTPフロントエンド 3/3




       Snorqlブラウザ
       写真は変換済みのRDFグラフに対し、すべ
       てのトリプルを出力するような問合せを実
       行したもの。


                              10
アジェンダ

    XLWrapの全体像・機能
    • 概要:XLWrap とは
    • マッピングルール
    • サポートしている機能
    • HTTPフロントエンド

    XLWrapのマッピングルールの記述
    • 目標
    • マッピングルールの内容
    • 手順
    • 実行結果

    まとめ・デモ・質疑応答



                         11
目標 1/2
Excel データ




 統計局 日本の統計 第1章 国土・気象 1-1 国土状況 より
 http://www.stat.go.jp/data/nihon/01.htm
 http://www.stat.go.jp/data/nihon/zuhyou/01syo/n0100100.xls (直リンク)



このような Excel のデータを、

                                                                     12
目標 2/2
RDFデータ(一部)



                                                   jpstat:value          83,457
       jpstat:Region                                                     0.2208
                                               jpstat:percentage
              rdf:type           jpstat:area                              509
                                                 jpstat:total
                                                          jpstat:small            14
    jpstat:Region_北海道
                                                         jpstat:middle            2
                         jpstat:islan ds                 jpstat:large
                                                                                  6
                                                 jpstat:tiny
                                                                          487




このように変換するのが目標です。

                                                                                       13
マッピングルールの内容
tohkei1.trig                                         接頭辞
  1 @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .      31
  2 @prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-   32 :Region {                            テンプレートグラフ
      ns#> .                                                     33      [ xl:uri "'http://www.stat.go.jp/rdf#Region_' &
  3 @prefix xsd:     <http://www.w3.org/2001/XMLSchema#> .            REMOVE_WHITESPACE(A9)"^^xl:Expr ] a jpstat:Region ;
  4 @prefix owl:     <http://www.w3.org/2002/07/owl#> .          34      jpstat:area    [ jpstat:value "C9"^^xl:Expr;
  5 @prefix foaf: <http://xmlns.com/foaf/0.1/> .                      jpstat:percentage "D9 / 100"^^xl:Expr];
  6 @prefix ex:      <http://example.org/> .                     35      jpstat:islands [
  7 @prefix dc:      <http://purl.org/dc/elements/1.1/> .        36          jpstat:total    "E9"^^xl:Expr;
  8                                                              37          jpstat:tiny     "E9 - F9 - G9 - H9"^^xl:Expr;
  9 @prefix xl:      <http://purl.org/NET/xlwrap#> .             38          jpstat:small    "F9"^^xl:Expr;
 10 @prefix jpstat:      <http://www.stat.go.jp/rdf#> .          39          jpstat:middle "G9"^^xl:Expr;
 11                                                              40          jpstat:large    "H9"^^xl:Expr
 12                                                              41      ].
 13 { [] a xl:Mapping ;                            メタ情報          42 }
 14      xl:offline "false"^^xsd:boolean ;
 15                                                                            記述の手順
 16      xl:template [
 17          xl:fileName "mappings/files/n0100100.xls" ;
 18          xl:sheetNumber "0" ;
                                                                                      接頭辞の記述
 19          xl:templateGraph :Region ;
 20          xl:transform [
 21              a rdf:Seq ;                   繰り返し                                   メタ情報の記述
 22              rdf:_1 [
 23                  a xl:RowShift ;
 24                  xl:restriction "A9:H9" ;
 25                  xl:breakCondition "ALLEMPTY(A9:H9)" ;                      テンプレートグラフの記述
 26                  xl:steps "1" ;
 27              ] ;
 28          ]
 29      ] .                                                                          繰り返しの記述
 30 }


                                                                                                                    14
手順:接頭辞の記述

接頭辞の記述
@prefix   rdfs:   <http://www.w3.org/2000/01/rdf-schema#> .
@prefix   rdf:    <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix   xsd:    <http://www.w3.org/2001/XMLSchema#> .
@prefix   owl:    <http://www.w3.org/2002/07/owl#> .
@prefix   foaf:   <http://xmlns.com/foaf/0.1/> .
@prefix   ex:     <http://example.org/> .
@prefix   dc:     <http://purl.org/dc/elements/1.1/> .
                                                                    XLWrap 用の接頭辞
                                                                    (XLWrap 内で既定)
@prefix xl:     <http://purl.org/NET/xlwrap#> .
@prefix jpstat:     <http://www.stat.go.jp/rdf#> .                  統計局用の接頭辞
                                                                    (私が決定)




                                                                               15
手順:メタ情報の記述

メタ情報の記述
{ [] a xl:Mapping ;
    xl:offline "false"^^xsd:boolean ;

    xl:template [
        xl:fileName "mappings/files/n0100100.xls" ;   ファイル名
        xl:sheetNumber "0" ;                          シート番号
        xl:templateGraph :Region ;                    テンプレートグラフの名前
        xl:transform [                                (テンプレートグラフにつ
            a rdf:Seq ;                               いては次のページで解
                                 ここの中身(繰り返しの記
                                                      説)
                                 述)に関しては p.19 で解説
          ]
    ] .
}




                                                              16
手順:テンプレートグラフの記述 1/2
                                                              jpstat:value          83,457
                  jpstat:Region                                                     0.2208
変換先RDFグラフ




                                                          jpstat:percentage
                         rdf:type           jpstat:area                              509
                                                            jpstat:total
                                                                     jpstat:small            14
               jpstat:Region_北海道
                                                                    jpstat:middle             2
                                    jpstat:islan ds                 jpstat:large
                                                                                              6
                                                            jpstat:tiny
                                                                                     487 (=509 - 14 - 2 - 6)
変換元Excelシート




                                                                                                               17
手順:テンプレートグラフの記述 2/2
              :Region {
                  [ xl:uri "'http://www.stat.go.jp/rdf#Region_' & REMOVE_WHITESPACE(A9)"^^xl:Expr ]
                  a jpstat:Region ;
マッピングルール




                  jpstat:area    [ jpstat:value "C9"^^xl:Expr; jpstat:percentage "D9 / 100"^^xl:Expr];
                  jpstat:islands [
                      jpstat:total    "E9"^^xl:Expr;
                      jpstat:small    "F9"^^xl:Expr;
                      jpstat:middle   "G9"^^xl:Expr;
                      jpstat:large    "H9"^^xl:Expr
                      jpstat:tiny     "E9 - F9 - G9 - H9"^^xl:Expr;
                  ].
              }
変換元Excelシート




                                                                                                   18
手順:繰り返しの記述
               xl:transform [
                   a rdf:Seq ;
                   rdf:_1 [
マッピングルール




                       a xl:RowShift ;                         RowShiftが適用される
                       xl:restriction "A9:H9" ;                最初の範囲
                       xl:breakCondition "ALLEMPTY(A9:H9)" ;   停止条件
                       xl:steps "1" ;
                   ] ;
               ]
変換元Excelシート




                                                                          RowShift


                                                                        (停止条件)
                                                                        すべてのセルが
                                                                        空だったら停止
実行結果 1/2
 SELECT DISTINCT * WHERE {
   ?s ?p ?o
 }




                             次のページへ続く
                                        20
実行結果 2/2




           21
アジェンダ

    XLWrapの全体像・機能
    • 概要:XLWrap とは
    • マッピングルール
    • サポートしている機能
    • HTTPフロントエンド

    XLWrapのマッピングルールの記述
    • 目標
    • マッピングルールの内容
    • 手順
    • 実行結果

    まとめ・デモ・質疑応答



                         22
まとめ
• 今回は、Excel形式のデータを、RDFに変換することができるXLWrap を紹
  介しました。

• 前半では、XLWrapの全体像、機能についてご説明しました。
• 後半では、マッピングルールの記述方法についてご説明しました。

• 現在、内部のデータを Excel で管理している事業者は多いと予想。
  →今後既存のデータを Linked Data 化する過程で、XLWrap の需要が高
  まってくるのではないかと考えられます。




                                               23
デモ




     24
質疑応答




       25

More Related Content

What's hot

広告配信現場で使うSpark機械学習
広告配信現場で使うSpark機械学習広告配信現場で使うSpark機械学習
広告配信現場で使うSpark機械学習x1 ichi
 
20181212 - PGconf.ASIA - LT
20181212 - PGconf.ASIA - LT20181212 - PGconf.ASIA - LT
20181212 - PGconf.ASIA - LTKohei KaiGai
 
【java8 勉強会】 怖くない!ラムダ式, Stream API
【java8 勉強会】 怖くない!ラムダ式, Stream API【java8 勉強会】 怖くない!ラムダ式, Stream API
【java8 勉強会】 怖くない!ラムダ式, Stream APIdcomsolution
 
PySparkによるジョブを、より速く、よりスケーラブルに実行するための最善の方法 ※講演は翻訳資料にて行います。 - Getting the Best...
PySparkによるジョブを、より速く、よりスケーラブルに実行するための最善の方法  ※講演は翻訳資料にて行います。 - Getting the Best...PySparkによるジョブを、より速く、よりスケーラブルに実行するための最善の方法  ※講演は翻訳資料にて行います。 - Getting the Best...
PySparkによるジョブを、より速く、よりスケーラブルに実行するための最善の方法 ※講演は翻訳資料にて行います。 - Getting the Best...Holden Karau
 
2014 11-20 Machine Learning with Apache Spark 勉強会資料
2014 11-20 Machine Learning with Apache Spark 勉強会資料2014 11-20 Machine Learning with Apache Spark 勉強会資料
2014 11-20 Machine Learning with Apache Spark 勉強会資料Recruit Technologies
 
OpenFOAM+のCo-simulation機能とFMUの試作
OpenFOAM+のCo-simulation機能とFMUの試作OpenFOAM+のCo-simulation機能とFMUの試作
OpenFOAM+のCo-simulation機能とFMUの試作Amane Tanaka
 
Fundamentals of Relational Database Management Systems chapter19
Fundamentals of Relational Database Management Systems chapter19Fundamentals of Relational Database Management Systems chapter19
Fundamentals of Relational Database Management Systems chapter19Keisuke Suzuki
 
巨大な表を高速に扱うData.table について
巨大な表を高速に扱うData.table について巨大な表を高速に扱うData.table について
巨大な表を高速に扱うData.table についてHaruka Ozaki
 
2015-11-17 きちんと知りたいApache Spark ~機械学習とさまざまな機能群
2015-11-17 きちんと知りたいApache Spark ~機械学習とさまざまな機能群2015-11-17 きちんと知りたいApache Spark ~機械学習とさまざまな機能群
2015-11-17 きちんと知りたいApache Spark ~機械学習とさまざまな機能群Yu Ishikawa
 
Rユーザのためのspark入門
Rユーザのためのspark入門Rユーザのためのspark入門
Rユーザのためのspark入門Shintaro Fukushima
 
20191211_Apache_Arrow_Meetup_Tokyo
20191211_Apache_Arrow_Meetup_Tokyo20191211_Apache_Arrow_Meetup_Tokyo
20191211_Apache_Arrow_Meetup_TokyoKohei KaiGai
 
Sparkで始めるお手軽グラフデータ分析
Sparkで始めるお手軽グラフデータ分析Sparkで始めるお手軽グラフデータ分析
Sparkで始めるお手軽グラフデータ分析Nagato Kasaki
 
Tokyo r25 hiro_macchan
Tokyo r25 hiro_macchanTokyo r25 hiro_macchan
Tokyo r25 hiro_macchanHiroki Matsui
 
PostgreSQL 10 新機能 @OSC 2017 Fukuoka
PostgreSQL 10 新機能 @OSC 2017 FukuokaPostgreSQL 10 新機能 @OSC 2017 Fukuoka
PostgreSQL 10 新機能 @OSC 2017 FukuokaShigeru Hanada
 
R超入門機械学習をはじめよう
R超入門機械学習をはじめようR超入門機械学習をはじめよう
R超入門機械学習をはじめよう幹雄 小川
 
今さら聞けないHadoop勉強会第3回 セントラルソフト株式会社(20120327)
今さら聞けないHadoop勉強会第3回 セントラルソフト株式会社(20120327)今さら聞けないHadoop勉強会第3回 セントラルソフト株式会社(20120327)
今さら聞けないHadoop勉強会第3回 セントラルソフト株式会社(20120327)YoheiOkuyama
 
131101 foss4 g_tokyo_r_presentation
131101 foss4 g_tokyo_r_presentation131101 foss4 g_tokyo_r_presentation
131101 foss4 g_tokyo_r_presentationTakayuki Nuimura
 

What's hot (20)

広告配信現場で使うSpark機械学習
広告配信現場で使うSpark機械学習広告配信現場で使うSpark機械学習
広告配信現場で使うSpark機械学習
 
20181212 - PGconf.ASIA - LT
20181212 - PGconf.ASIA - LT20181212 - PGconf.ASIA - LT
20181212 - PGconf.ASIA - LT
 
【java8 勉強会】 怖くない!ラムダ式, Stream API
【java8 勉強会】 怖くない!ラムダ式, Stream API【java8 勉強会】 怖くない!ラムダ式, Stream API
【java8 勉強会】 怖くない!ラムダ式, Stream API
 
PySparkによるジョブを、より速く、よりスケーラブルに実行するための最善の方法 ※講演は翻訳資料にて行います。 - Getting the Best...
PySparkによるジョブを、より速く、よりスケーラブルに実行するための最善の方法  ※講演は翻訳資料にて行います。 - Getting the Best...PySparkによるジョブを、より速く、よりスケーラブルに実行するための最善の方法  ※講演は翻訳資料にて行います。 - Getting the Best...
PySparkによるジョブを、より速く、よりスケーラブルに実行するための最善の方法 ※講演は翻訳資料にて行います。 - Getting the Best...
 
2014 11-20 Machine Learning with Apache Spark 勉強会資料
2014 11-20 Machine Learning with Apache Spark 勉強会資料2014 11-20 Machine Learning with Apache Spark 勉強会資料
2014 11-20 Machine Learning with Apache Spark 勉強会資料
 
Rでreproducible research
Rでreproducible researchRでreproducible research
Rでreproducible research
 
OpenFOAM+のCo-simulation機能とFMUの試作
OpenFOAM+のCo-simulation機能とFMUの試作OpenFOAM+のCo-simulation機能とFMUの試作
OpenFOAM+のCo-simulation機能とFMUの試作
 
Fundamentals of Relational Database Management Systems chapter19
Fundamentals of Relational Database Management Systems chapter19Fundamentals of Relational Database Management Systems chapter19
Fundamentals of Relational Database Management Systems chapter19
 
Glibc malloc internal
Glibc malloc internalGlibc malloc internal
Glibc malloc internal
 
巨大な表を高速に扱うData.table について
巨大な表を高速に扱うData.table について巨大な表を高速に扱うData.table について
巨大な表を高速に扱うData.table について
 
2015-11-17 きちんと知りたいApache Spark ~機械学習とさまざまな機能群
2015-11-17 きちんと知りたいApache Spark ~機械学習とさまざまな機能群2015-11-17 きちんと知りたいApache Spark ~機械学習とさまざまな機能群
2015-11-17 きちんと知りたいApache Spark ~機械学習とさまざまな機能群
 
Rユーザのためのspark入門
Rユーザのためのspark入門Rユーザのためのspark入門
Rユーザのためのspark入門
 
20191211_Apache_Arrow_Meetup_Tokyo
20191211_Apache_Arrow_Meetup_Tokyo20191211_Apache_Arrow_Meetup_Tokyo
20191211_Apache_Arrow_Meetup_Tokyo
 
Sparkで始めるお手軽グラフデータ分析
Sparkで始めるお手軽グラフデータ分析Sparkで始めるお手軽グラフデータ分析
Sparkで始めるお手軽グラフデータ分析
 
Tokyo r25 hiro_macchan
Tokyo r25 hiro_macchanTokyo r25 hiro_macchan
Tokyo r25 hiro_macchan
 
PostgreSQL 10 新機能 @OSC 2017 Fukuoka
PostgreSQL 10 新機能 @OSC 2017 FukuokaPostgreSQL 10 新機能 @OSC 2017 Fukuoka
PostgreSQL 10 新機能 @OSC 2017 Fukuoka
 
R超入門機械学習をはじめよう
R超入門機械学習をはじめようR超入門機械学習をはじめよう
R超入門機械学習をはじめよう
 
Japan r.3
Japan r.3Japan r.3
Japan r.3
 
今さら聞けないHadoop勉強会第3回 セントラルソフト株式会社(20120327)
今さら聞けないHadoop勉強会第3回 セントラルソフト株式会社(20120327)今さら聞けないHadoop勉強会第3回 セントラルソフト株式会社(20120327)
今さら聞けないHadoop勉強会第3回 セントラルソフト株式会社(20120327)
 
131101 foss4 g_tokyo_r_presentation
131101 foss4 g_tokyo_r_presentation131101 foss4 g_tokyo_r_presentation
131101 foss4 g_tokyo_r_presentation
 

Viewers also liked

rdfapi.js and js3.js by webr3
rdfapi.js and js3.js by webr3rdfapi.js and js3.js by webr3
rdfapi.js and js3.js by webr3ykskm
 
第1回Linked Data勉強会:ReDeFer
第1回Linked Data勉強会:ReDeFer第1回Linked Data勉強会:ReDeFer
第1回Linked Data勉強会:ReDeFerNoritada Shimizu
 
Linkeddata.jp study meeting #1
Linkeddata.jp study meeting #1Linkeddata.jp study meeting #1
Linkeddata.jp study meeting #1KAMURA
 
第1回LinkedData勉強会
第1回LinkedData勉強会第1回LinkedData勉強会
第1回LinkedData勉強会Fumihiro Kato
 
SPARQL Timelinerの使い方
SPARQL Timelinerの使い方SPARQL Timelinerの使い方
SPARQL Timelinerの使い方uedayou
 
Linked data the next 5 years - From Hype to Action
Linked data the next 5 years - From Hype to ActionLinked data the next 5 years - From Hype to Action
Linked data the next 5 years - From Hype to ActionAndreas Blumauer
 
SPARQLを利用した逆マッシュアップ-プログラミングを必要としないアプリ作成方法-
SPARQLを利用した逆マッシュアップ-プログラミングを必要としないアプリ作成方法-SPARQLを利用した逆マッシュアップ-プログラミングを必要としないアプリ作成方法-
SPARQLを利用した逆マッシュアップ-プログラミングを必要としないアプリ作成方法-uedayou
 
Chainerの使い方と 自然言語処理への応用
Chainerの使い方と自然言語処理への応用Chainerの使い方と自然言語処理への応用
Chainerの使い方と 自然言語処理への応用Yuya Unno
 
自然言語処理のためのDeep Learning
自然言語処理のためのDeep Learning自然言語処理のためのDeep Learning
自然言語処理のためのDeep LearningYuta Kikuchi
 

Viewers also liked (11)

rdfapi.js and js3.js by webr3
rdfapi.js and js3.js by webr3rdfapi.js and js3.js by webr3
rdfapi.js and js3.js by webr3
 
第1回Linked Data勉強会:ReDeFer
第1回Linked Data勉強会:ReDeFer第1回Linked Data勉強会:ReDeFer
第1回Linked Data勉強会:ReDeFer
 
Linkeddata.jp study meeting #1
Linkeddata.jp study meeting #1Linkeddata.jp study meeting #1
Linkeddata.jp study meeting #1
 
第1回LinkedData勉強会
第1回LinkedData勉強会第1回LinkedData勉強会
第1回LinkedData勉強会
 
SPARQL Timelinerの使い方
SPARQL Timelinerの使い方SPARQL Timelinerの使い方
SPARQL Timelinerの使い方
 
Linked data the next 5 years - From Hype to Action
Linked data the next 5 years - From Hype to ActionLinked data the next 5 years - From Hype to Action
Linked data the next 5 years - From Hype to Action
 
SPARQLを利用した逆マッシュアップ-プログラミングを必要としないアプリ作成方法-
SPARQLを利用した逆マッシュアップ-プログラミングを必要としないアプリ作成方法-SPARQLを利用した逆マッシュアップ-プログラミングを必要としないアプリ作成方法-
SPARQLを利用した逆マッシュアップ-プログラミングを必要としないアプリ作成方法-
 
第7回 Linked Data 勉強会 @yayamamo
第7回 Linked Data 勉強会 @yayamamo第7回 Linked Data 勉強会 @yayamamo
第7回 Linked Data 勉強会 @yayamamo
 
Chainerの使い方と 自然言語処理への応用
Chainerの使い方と自然言語処理への応用Chainerの使い方と自然言語処理への応用
Chainerの使い方と 自然言語処理への応用
 
自然言語処理のためのDeep Learning
自然言語処理のためのDeep Learning自然言語処理のためのDeep Learning
自然言語処理のためのDeep Learning
 
深層学習による自然言語処理の研究動向
深層学習による自然言語処理の研究動向深層学習による自然言語処理の研究動向
深層学習による自然言語処理の研究動向
 

Similar to XLWrapについてのご紹介

クラウドから始めるRのビッグデータ分析- Oracle R Enterprise in Cloud
クラウドから始めるRのビッグデータ分析- Oracle R Enterprise in Cloudクラウドから始めるRのビッグデータ分析- Oracle R Enterprise in Cloud
クラウドから始めるRのビッグデータ分析- Oracle R Enterprise in Cloud幹雄 小川
 
Scalaプログラミング・マニアックス
Scalaプログラミング・マニアックスScalaプログラミング・マニアックス
Scalaプログラミング・マニアックスTomoharu ASAMI
 
Object-Funcational Analysis and design
Object-Funcational Analysis and designObject-Funcational Analysis and design
Object-Funcational Analysis and designTomoharu ASAMI
 
Map server入門 - FOSS4G 2012 Hokkaido
Map server入門 - FOSS4G 2012 HokkaidoMap server入門 - FOSS4G 2012 Hokkaido
Map server入門 - FOSS4G 2012 HokkaidoHideo Harada
 
Object-Functional Analysis and Design : 次世代モデリングパラダイムへの道標
Object-Functional Analysis and Design : 次世代モデリングパラダイムへの道標Object-Functional Analysis and Design : 次世代モデリングパラダイムへの道標
Object-Functional Analysis and Design : 次世代モデリングパラダイムへの道標Tomoharu ASAMI
 
20160121 データサイエンティスト協会 木曜セミナー #5
20160121 データサイエンティスト協会 木曜セミナー #520160121 データサイエンティスト協会 木曜セミナー #5
20160121 データサイエンティスト協会 木曜セミナー #5Koichiro Sasaki
 
MapReduceを置き換えるSpark 〜HadoopとSparkの統合〜 #cwt2015
MapReduceを置き換えるSpark 〜HadoopとSparkの統合〜 #cwt2015MapReduceを置き換えるSpark 〜HadoopとSparkの統合〜 #cwt2015
MapReduceを置き換えるSpark 〜HadoopとSparkの統合〜 #cwt2015Cloudera Japan
 
Blueprintsについて
BlueprintsについてBlueprintsについて
BlueprintsについてTetsuro Nagae
 
Elasticsearch入門 pyfes 201207
Elasticsearch入門 pyfes 201207Elasticsearch入門 pyfes 201207
Elasticsearch入門 pyfes 201207Jun Ohtani
 
"SRv6の現状と展望" ENOG53@上越
"SRv6の現状と展望" ENOG53@上越"SRv6の現状と展望" ENOG53@上越
"SRv6の現状と展望" ENOG53@上越Kentaro Ebisawa
 
今さら聞けないHadoop勉強会第2回 セントラルソフト株式会社(20120228)
今さら聞けないHadoop勉強会第2回 セントラルソフト株式会社(20120228)今さら聞けないHadoop勉強会第2回 セントラルソフト株式会社(20120228)
今さら聞けないHadoop勉強会第2回 セントラルソフト株式会社(20120228)YoheiOkuyama
 
セマンテックウェブとRDFDB
セマンテックウェブとRDFDBセマンテックウェブとRDFDB
セマンテックウェブとRDFDBHirosuke Asano
 
Intro to SVE 富岳のA64FXを触ってみた
Intro to SVE 富岳のA64FXを触ってみたIntro to SVE 富岳のA64FXを触ってみた
Intro to SVE 富岳のA64FXを触ってみたMITSUNARI Shigeo
 
MAP 実装してみた
MAP 実装してみたMAP 実装してみた
MAP 実装してみたMasakazu Asama
 
OpenFOAM LES乱流モデルカスタマイズ
OpenFOAM LES乱流モデルカスタマイズOpenFOAM LES乱流モデルカスタマイズ
OpenFOAM LES乱流モデルカスタマイズmmer547
 
Evolution of Impala #hcj2014
Evolution of Impala #hcj2014Evolution of Impala #hcj2014
Evolution of Impala #hcj2014Cloudera Japan
 

Similar to XLWrapについてのご紹介 (20)

クラウドから始めるRのビッグデータ分析- Oracle R Enterprise in Cloud
クラウドから始めるRのビッグデータ分析- Oracle R Enterprise in Cloudクラウドから始めるRのビッグデータ分析- Oracle R Enterprise in Cloud
クラウドから始めるRのビッグデータ分析- Oracle R Enterprise in Cloud
 
V6 unix in okinawa
V6 unix in okinawaV6 unix in okinawa
V6 unix in okinawa
 
Scalaプログラミング・マニアックス
Scalaプログラミング・マニアックスScalaプログラミング・マニアックス
Scalaプログラミング・マニアックス
 
Object-Funcational Analysis and design
Object-Funcational Analysis and designObject-Funcational Analysis and design
Object-Funcational Analysis and design
 
Map server入門 - FOSS4G 2012 Hokkaido
Map server入門 - FOSS4G 2012 HokkaidoMap server入門 - FOSS4G 2012 Hokkaido
Map server入門 - FOSS4G 2012 Hokkaido
 
Object-Functional Analysis and Design : 次世代モデリングパラダイムへの道標
Object-Functional Analysis and Design : 次世代モデリングパラダイムへの道標Object-Functional Analysis and Design : 次世代モデリングパラダイムへの道標
Object-Functional Analysis and Design : 次世代モデリングパラダイムへの道標
 
20160121 データサイエンティスト協会 木曜セミナー #5
20160121 データサイエンティスト協会 木曜セミナー #520160121 データサイエンティスト協会 木曜セミナー #5
20160121 データサイエンティスト協会 木曜セミナー #5
 
MapReduceを置き換えるSpark 〜HadoopとSparkの統合〜 #cwt2015
MapReduceを置き換えるSpark 〜HadoopとSparkの統合〜 #cwt2015MapReduceを置き換えるSpark 〜HadoopとSparkの統合〜 #cwt2015
MapReduceを置き換えるSpark 〜HadoopとSparkの統合〜 #cwt2015
 
Blueprintsについて
BlueprintsについてBlueprintsについて
Blueprintsについて
 
Silkについて
SilkについてSilkについて
Silkについて
 
Prelude to Halide
Prelude to HalidePrelude to Halide
Prelude to Halide
 
Elasticsearch入門 pyfes 201207
Elasticsearch入門 pyfes 201207Elasticsearch入門 pyfes 201207
Elasticsearch入門 pyfes 201207
 
"SRv6の現状と展望" ENOG53@上越
"SRv6の現状と展望" ENOG53@上越"SRv6の現状と展望" ENOG53@上越
"SRv6の現状と展望" ENOG53@上越
 
今さら聞けないHadoop勉強会第2回 セントラルソフト株式会社(20120228)
今さら聞けないHadoop勉強会第2回 セントラルソフト株式会社(20120228)今さら聞けないHadoop勉強会第2回 セントラルソフト株式会社(20120228)
今さら聞けないHadoop勉強会第2回 セントラルソフト株式会社(20120228)
 
セマンテックウェブとRDFDB
セマンテックウェブとRDFDBセマンテックウェブとRDFDB
セマンテックウェブとRDFDB
 
Survey of Apache Spark
Survey of Apache SparkSurvey of Apache Spark
Survey of Apache Spark
 
Intro to SVE 富岳のA64FXを触ってみた
Intro to SVE 富岳のA64FXを触ってみたIntro to SVE 富岳のA64FXを触ってみた
Intro to SVE 富岳のA64FXを触ってみた
 
MAP 実装してみた
MAP 実装してみたMAP 実装してみた
MAP 実装してみた
 
OpenFOAM LES乱流モデルカスタマイズ
OpenFOAM LES乱流モデルカスタマイズOpenFOAM LES乱流モデルカスタマイズ
OpenFOAM LES乱流モデルカスタマイズ
 
Evolution of Impala #hcj2014
Evolution of Impala #hcj2014Evolution of Impala #hcj2014
Evolution of Impala #hcj2014
 

More from Ohsawa Goodfellow

Open-ended Learning in Symmetric Zero-sum Games @ ICML19
Open-ended Learning in Symmetric Zero-sum Games @ ICML19 Open-ended Learning in Symmetric Zero-sum Games @ ICML19
Open-ended Learning in Symmetric Zero-sum Games @ ICML19 Ohsawa Goodfellow
 
PRML上巻勉強会 at 東京大学 資料 第1章後半
PRML上巻勉強会 at 東京大学 資料 第1章後半PRML上巻勉強会 at 東京大学 資料 第1章後半
PRML上巻勉強会 at 東京大学 資料 第1章後半Ohsawa Goodfellow
 
PRML上巻勉強会 at 東京大学 資料 第1章前半
PRML上巻勉強会 at 東京大学 資料 第1章前半PRML上巻勉強会 at 東京大学 資料 第1章前半
PRML上巻勉強会 at 東京大学 資料 第1章前半Ohsawa Goodfellow
 
Natural Language Processing (Almost) from Scratch(第 6 回 Deep Learning 勉強会資料; 榊)
Natural Language Processing (Almost) from Scratch(第 6 回 Deep Learning 勉強会資料; 榊)Natural Language Processing (Almost) from Scratch(第 6 回 Deep Learning 勉強会資料; 榊)
Natural Language Processing (Almost) from Scratch(第 6 回 Deep Learning 勉強会資料; 榊)Ohsawa Goodfellow
 
Deep Learning via Semi-Supervised Embedding (第 7 回 Deep Learning 勉強会資料; 大澤)
Deep Learning via Semi-Supervised Embedding (第 7 回 Deep Learning 勉強会資料; 大澤)Deep Learning via Semi-Supervised Embedding (第 7 回 Deep Learning 勉強会資料; 大澤)
Deep Learning via Semi-Supervised Embedding (第 7 回 Deep Learning 勉強会資料; 大澤)Ohsawa Goodfellow
 
Deep Auto-Encoder Neural Networks in Reiforcement Learnning (第 9 回 Deep Learn...
Deep Auto-Encoder Neural Networks in Reiforcement Learnning (第 9 回 Deep Learn...Deep Auto-Encoder Neural Networks in Reiforcement Learnning (第 9 回 Deep Learn...
Deep Auto-Encoder Neural Networks in Reiforcement Learnning (第 9 回 Deep Learn...Ohsawa Goodfellow
 
Semi-Supervised Autoencoders for Predicting Sentiment Distributions(第 5 回 De...
 Semi-Supervised Autoencoders for Predicting Sentiment Distributions(第 5 回 De... Semi-Supervised Autoencoders for Predicting Sentiment Distributions(第 5 回 De...
Semi-Supervised Autoencoders for Predicting Sentiment Distributions(第 5 回 De...Ohsawa Goodfellow
 
Learning Deep Architectures for AI (第 3 回 Deep Learning 勉強会資料; 松尾)
Learning Deep Architectures for AI (第 3 回 Deep Learning 勉強会資料; 松尾)Learning Deep Architectures for AI (第 3 回 Deep Learning 勉強会資料; 松尾)
Learning Deep Architectures for AI (第 3 回 Deep Learning 勉強会資料; 松尾)Ohsawa Goodfellow
 
Deep Learning 勉強会 (Chapter 7-12)
Deep Learning 勉強会 (Chapter 7-12)Deep Learning 勉強会 (Chapter 7-12)
Deep Learning 勉強会 (Chapter 7-12)Ohsawa Goodfellow
 
Deep learning勉強会20121214ochi
Deep learning勉強会20121214ochiDeep learning勉強会20121214ochi
Deep learning勉強会20121214ochiOhsawa Goodfellow
 
第9章 ネットワーク上の他の確率過程
第9章 ネットワーク上の他の確率過程第9章 ネットワーク上の他の確率過程
第9章 ネットワーク上の他の確率過程Ohsawa Goodfellow
 

More from Ohsawa Goodfellow (11)

Open-ended Learning in Symmetric Zero-sum Games @ ICML19
Open-ended Learning in Symmetric Zero-sum Games @ ICML19 Open-ended Learning in Symmetric Zero-sum Games @ ICML19
Open-ended Learning in Symmetric Zero-sum Games @ ICML19
 
PRML上巻勉強会 at 東京大学 資料 第1章後半
PRML上巻勉強会 at 東京大学 資料 第1章後半PRML上巻勉強会 at 東京大学 資料 第1章後半
PRML上巻勉強会 at 東京大学 資料 第1章後半
 
PRML上巻勉強会 at 東京大学 資料 第1章前半
PRML上巻勉強会 at 東京大学 資料 第1章前半PRML上巻勉強会 at 東京大学 資料 第1章前半
PRML上巻勉強会 at 東京大学 資料 第1章前半
 
Natural Language Processing (Almost) from Scratch(第 6 回 Deep Learning 勉強会資料; 榊)
Natural Language Processing (Almost) from Scratch(第 6 回 Deep Learning 勉強会資料; 榊)Natural Language Processing (Almost) from Scratch(第 6 回 Deep Learning 勉強会資料; 榊)
Natural Language Processing (Almost) from Scratch(第 6 回 Deep Learning 勉強会資料; 榊)
 
Deep Learning via Semi-Supervised Embedding (第 7 回 Deep Learning 勉強会資料; 大澤)
Deep Learning via Semi-Supervised Embedding (第 7 回 Deep Learning 勉強会資料; 大澤)Deep Learning via Semi-Supervised Embedding (第 7 回 Deep Learning 勉強会資料; 大澤)
Deep Learning via Semi-Supervised Embedding (第 7 回 Deep Learning 勉強会資料; 大澤)
 
Deep Auto-Encoder Neural Networks in Reiforcement Learnning (第 9 回 Deep Learn...
Deep Auto-Encoder Neural Networks in Reiforcement Learnning (第 9 回 Deep Learn...Deep Auto-Encoder Neural Networks in Reiforcement Learnning (第 9 回 Deep Learn...
Deep Auto-Encoder Neural Networks in Reiforcement Learnning (第 9 回 Deep Learn...
 
Semi-Supervised Autoencoders for Predicting Sentiment Distributions(第 5 回 De...
 Semi-Supervised Autoencoders for Predicting Sentiment Distributions(第 5 回 De... Semi-Supervised Autoencoders for Predicting Sentiment Distributions(第 5 回 De...
Semi-Supervised Autoencoders for Predicting Sentiment Distributions(第 5 回 De...
 
Learning Deep Architectures for AI (第 3 回 Deep Learning 勉強会資料; 松尾)
Learning Deep Architectures for AI (第 3 回 Deep Learning 勉強会資料; 松尾)Learning Deep Architectures for AI (第 3 回 Deep Learning 勉強会資料; 松尾)
Learning Deep Architectures for AI (第 3 回 Deep Learning 勉強会資料; 松尾)
 
Deep Learning 勉強会 (Chapter 7-12)
Deep Learning 勉強会 (Chapter 7-12)Deep Learning 勉強会 (Chapter 7-12)
Deep Learning 勉強会 (Chapter 7-12)
 
Deep learning勉強会20121214ochi
Deep learning勉強会20121214ochiDeep learning勉強会20121214ochi
Deep learning勉強会20121214ochi
 
第9章 ネットワーク上の他の確率過程
第9章 ネットワーク上の他の確率過程第9章 ネットワーク上の他の確率過程
第9章 ネットワーク上の他の確率過程
 

XLWrapについてのご紹介

  • 1. XLWrap に関するご紹介 筑波大学大学院 システム情報工学研究科 コンピュータサイエンス専攻 北川データ工学研究室 大澤 昇平 この資料に関するお問合せ:shohei.ohsawa@kde.cs.tsukuba.ac.jp 2011/1/22 1
  • 2. アジェンダ XLWrapの全体像・機能 • 概要:XLWrap とは • マッピングルール • サポートしている機能 • HTTPフロントエンド XLWrapのマッピングルールの記述 • 目標 • マッピングルールの内容 • 手順 • 実行結果 まとめ・デモ・質疑応答 2
  • 3. アジェンダ XLWrapの全体像・機能 • 概要:XLWrap とは • マッピングルール • サポートしている機能 • HTTPフロントエンド XLWrapのマッピングルールの記述 • 目標 • マッピングルールの内容 • 手順 • 実行結果 まとめ・デモ・質疑応答 3
  • 4. 概要: XLWrap とは • XLWrap とは、スプレッドシートで表現されているデータを RDFグラフに変換するソフト ウェアです。 • HTTP サーバが内蔵されているため、SPARQLエンドポイントとして機能する他、リモート にあるスプレッドシートへのアクセスが可能であるため、ウェブ上に公開されている Excel ファイルなどを、シームレスにラッピングすることができます。 XLWrapサーバのバックエンド マッピングルール マッピング マッピング (運営者が記述) ルール ルール スプレッドシート マッピング XLWrapデータ 変換 変換された 格納 (Excel,マッピング トリプルストア ルールCSV) OOCalc, ルール 変換器 RDFグラフ (Jena) XLWrapサーバの HTTP フロントエンド 問合せ 問合せ SPARQL 運営者用ダッシュボード Snorqlブラウザ エンドポイント 4
  • 5. マッピングルール 1/2 • XLWrap では、ユーザが手動でマッピングルールを記述します。マッピングルールは、原則的に各スプ レッドシートに対し、一つ記述します。 • マッピングルールでは、変換先RDFグラフにおいて、各リソース/リテラルの値が、変換元スプレッドシート のどのセルに対応するかを記述していきます。 名前空間についても、マッピ 変換先RDFグラフ ングルール内で定義できます 398 ex:itemsSold ex:Austria_Product1 ex:revenue 9154.00 ノードの値が必ずセ ルと対応している必 このように、複数セルの値 ex:category 要はありません を結合することもできます “laptop PC” 変換元スプレッドシート 5
  • 6. マッピングルール 2/2 • XLWrapでは、マッピングルールにおいて、「変換の繰り返し」を定義することができます。 • マッピングルールでは、変換元スプレッドシートを「行」「列」「シート」を軸に持つ三次元の データと捉え、それぞれの軸についての繰り返し方法を定義します。 Sheet1 変換元スプレッドシート Sheet2 行の繰り返し 列の繰り返し シートの繰り返し 6
  • 7. サポートしている機能 • サポートしているスプレッドシートの形式:Excel, OpenOffice Calc, CSV • 名前空間 – 変換先RDFグラフの定義に、名前空間を使うことができます • コンスタント・グラフ – 変換先RDFグラフの定義に、入力元のExcelデータの値によらない、コンスタントなグラフを加 えることができます。 • セル値の演算 – 算術演算(+, -, *, /) – 文字列の結合演算 – 比較演算(<, >, 等) – 論理演算(&&, ||) – URL エンコード – DBPedia へのマッピング • 例: A1=“Australia” の場合、DBP_LOCATION(A1) と書くと、dbpedia:Australia と等価な意味になる – ユーザ定義関数 7
  • 8. HTTPフロントエンド 1/3 • XLWrap には、HTTPフロントエンドとして、「SPARQLエンドポイント」 「Snorqlブラウ ザ」 「運営者用ダッシュボード」などの機能が搭載されています。 運営者用ダッシュボード(トップページ) XLWrapを起動し、http://localhost:8900/ (デフォルト設定)へアクセスしたときに表 示されるページ。SPARQLエンドポイント、 Snorqlブラウザへのリンクなどが見える。 8
  • 9. HTTPフロントエンド 2/3 運営者用ダッシュボード(ステータス情報) スプレッドシートが正しく変換されると、 Wrapped spreadsheets in cache という項目 に表示される。 9
  • 10. HTTPフロントエンド 3/3 Snorqlブラウザ 写真は変換済みのRDFグラフに対し、すべ てのトリプルを出力するような問合せを実 行したもの。 10
  • 11. アジェンダ XLWrapの全体像・機能 • 概要:XLWrap とは • マッピングルール • サポートしている機能 • HTTPフロントエンド XLWrapのマッピングルールの記述 • 目標 • マッピングルールの内容 • 手順 • 実行結果 まとめ・デモ・質疑応答 11
  • 12. 目標 1/2 Excel データ 統計局 日本の統計 第1章 国土・気象 1-1 国土状況 より http://www.stat.go.jp/data/nihon/01.htm http://www.stat.go.jp/data/nihon/zuhyou/01syo/n0100100.xls (直リンク) このような Excel のデータを、 12
  • 13. 目標 2/2 RDFデータ(一部) jpstat:value 83,457 jpstat:Region 0.2208 jpstat:percentage rdf:type jpstat:area 509 jpstat:total jpstat:small 14 jpstat:Region_北海道 jpstat:middle 2 jpstat:islan ds jpstat:large 6 jpstat:tiny 487 このように変換するのが目標です。 13
  • 14. マッピングルールの内容 tohkei1.trig 接頭辞 1 @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . 31 2 @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax- 32 :Region { テンプレートグラフ ns#> . 33 [ xl:uri "'http://www.stat.go.jp/rdf#Region_' & 3 @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . REMOVE_WHITESPACE(A9)"^^xl:Expr ] a jpstat:Region ; 4 @prefix owl: <http://www.w3.org/2002/07/owl#> . 34 jpstat:area [ jpstat:value "C9"^^xl:Expr; 5 @prefix foaf: <http://xmlns.com/foaf/0.1/> . jpstat:percentage "D9 / 100"^^xl:Expr]; 6 @prefix ex: <http://example.org/> . 35 jpstat:islands [ 7 @prefix dc: <http://purl.org/dc/elements/1.1/> . 36 jpstat:total "E9"^^xl:Expr; 8 37 jpstat:tiny "E9 - F9 - G9 - H9"^^xl:Expr; 9 @prefix xl: <http://purl.org/NET/xlwrap#> . 38 jpstat:small "F9"^^xl:Expr; 10 @prefix jpstat: <http://www.stat.go.jp/rdf#> . 39 jpstat:middle "G9"^^xl:Expr; 11 40 jpstat:large "H9"^^xl:Expr 12 41 ]. 13 { [] a xl:Mapping ; メタ情報 42 } 14 xl:offline "false"^^xsd:boolean ; 15 記述の手順 16 xl:template [ 17 xl:fileName "mappings/files/n0100100.xls" ; 18 xl:sheetNumber "0" ; 接頭辞の記述 19 xl:templateGraph :Region ; 20 xl:transform [ 21 a rdf:Seq ; 繰り返し メタ情報の記述 22 rdf:_1 [ 23 a xl:RowShift ; 24 xl:restriction "A9:H9" ; 25 xl:breakCondition "ALLEMPTY(A9:H9)" ; テンプレートグラフの記述 26 xl:steps "1" ; 27 ] ; 28 ] 29 ] . 繰り返しの記述 30 } 14
  • 15. 手順:接頭辞の記述 接頭辞の記述 @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . @prefix owl: <http://www.w3.org/2002/07/owl#> . @prefix foaf: <http://xmlns.com/foaf/0.1/> . @prefix ex: <http://example.org/> . @prefix dc: <http://purl.org/dc/elements/1.1/> . XLWrap 用の接頭辞 (XLWrap 内で既定) @prefix xl: <http://purl.org/NET/xlwrap#> . @prefix jpstat: <http://www.stat.go.jp/rdf#> . 統計局用の接頭辞 (私が決定) 15
  • 16. 手順:メタ情報の記述 メタ情報の記述 { [] a xl:Mapping ; xl:offline "false"^^xsd:boolean ; xl:template [ xl:fileName "mappings/files/n0100100.xls" ; ファイル名 xl:sheetNumber "0" ; シート番号 xl:templateGraph :Region ; テンプレートグラフの名前 xl:transform [ (テンプレートグラフにつ a rdf:Seq ; いては次のページで解 ここの中身(繰り返しの記 説) 述)に関しては p.19 で解説 ] ] . } 16
  • 17. 手順:テンプレートグラフの記述 1/2 jpstat:value 83,457 jpstat:Region 0.2208 変換先RDFグラフ jpstat:percentage rdf:type jpstat:area 509 jpstat:total jpstat:small 14 jpstat:Region_北海道 jpstat:middle 2 jpstat:islan ds jpstat:large 6 jpstat:tiny 487 (=509 - 14 - 2 - 6) 変換元Excelシート 17
  • 18. 手順:テンプレートグラフの記述 2/2 :Region { [ xl:uri "'http://www.stat.go.jp/rdf#Region_' & REMOVE_WHITESPACE(A9)"^^xl:Expr ] a jpstat:Region ; マッピングルール jpstat:area [ jpstat:value "C9"^^xl:Expr; jpstat:percentage "D9 / 100"^^xl:Expr]; jpstat:islands [ jpstat:total "E9"^^xl:Expr; jpstat:small "F9"^^xl:Expr; jpstat:middle "G9"^^xl:Expr; jpstat:large "H9"^^xl:Expr jpstat:tiny "E9 - F9 - G9 - H9"^^xl:Expr; ]. } 変換元Excelシート 18
  • 19. 手順:繰り返しの記述 xl:transform [ a rdf:Seq ; rdf:_1 [ マッピングルール a xl:RowShift ; RowShiftが適用される xl:restriction "A9:H9" ; 最初の範囲 xl:breakCondition "ALLEMPTY(A9:H9)" ; 停止条件 xl:steps "1" ; ] ; ] 変換元Excelシート RowShift (停止条件) すべてのセルが 空だったら停止
  • 20. 実行結果 1/2 SELECT DISTINCT * WHERE { ?s ?p ?o } 次のページへ続く 20
  • 22. アジェンダ XLWrapの全体像・機能 • 概要:XLWrap とは • マッピングルール • サポートしている機能 • HTTPフロントエンド XLWrapのマッピングルールの記述 • 目標 • マッピングルールの内容 • 手順 • 実行結果 まとめ・デモ・質疑応答 22
  • 23. まとめ • 今回は、Excel形式のデータを、RDFに変換することができるXLWrap を紹 介しました。 • 前半では、XLWrapの全体像、機能についてご説明しました。 • 後半では、マッピングルールの記述方法についてご説明しました。 • 現在、内部のデータを Excel で管理している事業者は多いと予想。 →今後既存のデータを Linked Data 化する過程で、XLWrap の需要が高 まってくるのではないかと考えられます。 23
  • 24. デモ 24