Your SlideShare is downloading. ×
XLWrapについてのご紹介
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

XLWrapについてのご紹介

5,141

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
5,141
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. XLWrap に関するご紹介 筑波大学大学院 システム情報工学研究科 コンピュータサイエンス専攻 北川データ工学研究室 大澤 昇平この資料に関するお問合せ:shohei.ohsawa@kde.cs.tsukuba.ac.jp2011/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/2Excel データ 統計局 日本の統計 第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/2RDFデータ(一部) 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
  • 21. 実行結果 2/2 21
  • 22. アジェンダ XLWrapの全体像・機能 • 概要:XLWrap とは • マッピングルール • サポートしている機能 • HTTPフロントエンド XLWrapのマッピングルールの記述 • 目標 • マッピングルールの内容 • 手順 • 実行結果 まとめ・デモ・質疑応答 22
  • 23. まとめ• 今回は、Excel形式のデータを、RDFに変換することができるXLWrap を紹 介しました。• 前半では、XLWrapの全体像、機能についてご説明しました。• 後半では、マッピングルールの記述方法についてご説明しました。• 現在、内部のデータを Excel で管理している事業者は多いと予想。 →今後既存のデータを Linked Data 化する過程で、XLWrap の需要が高 まってくるのではないかと考えられます。 23
  • 24. デモ 24
  • 25. 質疑応答 25

×