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化: データソン的デモンストレーション

494 views

Published on

第25回 大図研オープンカレッジ(DOC)
Linked Open Data を体験
書誌・所蔵データは宝の山! 2017年6月18日@大阪

Published in: Technology
  • You can ask here for a help. They helped me a lot an i`m highly satisfied with quality of work done. I can promise you 100% un-plagiarized text and good experts there. Use with pleasure! ⇒ www.HelpWriting.net ⇐
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

書誌データのLOD化: データソン的デモンストレーション

  1. 1. 書誌データのLOD化: データソン的デモンストレーション 大阪大学産業科学研究所 古崎 晃司 kozaki@ei.sanken.osaka-u.ac.jp 第25回 大図研オープンカレッジ(DOC) Linked Open Data を体験 書誌・所蔵データは宝の山! 2017年6月18日@大阪 2017/6/20 1
  2. 2. データソンで行う内容  目標  CSV形式の書誌データをLOD化(Linked Data化)する 基本的な方法のデモンストレーションを行う  実施内容 1. CSVをRDFに変換  できるだけ,他のLODと「共通の語彙」を用いる  他LODとのリンクをつける (今回のデータは元から“リンク済み”のため省略) 2. RDFファイルを公開  DBpediaと同じような形(参照解決可能なURI)での公開  SPARQLエンドポイント(API)の利用 22017/6/20
  3. 3. 利用するプログラム・データ  CSV2LOD  CSVファイルをRDFに変換するツール  http:/lodosaka.jp/tool/CSV2LOD/ から実行  ソースは,https://github.com/koujikozaki/CSV2LOD にて公開  ハンズオンに利用するサンプルデータ  サンプル用に作成した簡単な書誌データ  http://lodosaka.jp/tool/CSV2LOD/sample/sample.csv からダウロード可  参考:TeraPad  Windows用のテキストエディタ  メモ帳だと,うまく開けないファイルがあるため,必要に応 じて利用する 32017/6/20
  4. 4. 既存データをRDF化する方法  RDFデータを作成するツールを使用  Open Refine(http://openrefine.org/)+ RDF Refine(http://refine.deri.ie/)  データを整備・公開するための多様な機能をサポート  LinkData(http://linkdata.org/)  テーブルデータをRDFに変換して公開することができるサイト  SparqlEPCU(http://lodcu.cs.chubu.ac.jp/SparqlEPCU/)  LODの作成・活用のための支援サイト  CSVファイルをRDFとしての公開する機能もあり  StatLD(http://satolab.tiu.ac.jp/statld/)  統計Linked Dataの活用を中心としたツールを公開  一般のLinked Dataの作成にも使用可能  独自のプログラム用でRDFデータを作成 4 LODチャレンジ2011 アプリケーション部門最優秀賞 LODチャレンジ2012 アプリケーション部門最優秀賞 2017/6/20
  5. 5. 本日,利用するツール  CSV2LOD~RDF変換支援ツール~  http://lodosaka.jp/tool/CSV2LOD/  CSV形式のデータをRDFに変換する  プロトタイプなので,ご意見大歓迎!  Simple LODI  https://github.com/uedayou/simplelodi  DBpediaのようにLinked Open Data(LOD)を公開する =参照解決可能+コンテンツネゴシエーションに対応した LODを公開する.  (参考)なんでもリンク  http://link.lodosaka.jp/  オープンデータに外部LOD(DBpedia)へのリンクを追加する 52017/6/20
  6. 6. 使用するツール① CSV2LOD~RDF変換支援ツール~ 6 http:/lodosaka.jp/tool/CSV2LOD/ 2017/6/20
  7. 7. ツール開発の動機  Linked Dataの基本原則に沿ったLODを,誰でも,(ある程度) 簡単に作成できるツールを提供したい  元データ(CSV)の編集を,極力,減らしたい  データが更新されたら,すぐに再変換したい  →元データと変換情報のテンプレートは別ファイルに  足りない機能があれば,気軽に拡張したい  小規模なプログラムで開発+オープンソース化により改変を自由に  初心者から上級者まで使いやすいものを  汎用性の高いテンプレート(Turtleライクな形式)により,複雑なRDFモデル にも対応  初心者向けには,語彙選択支援など,簡単にテンプレートが作れる  動作環境  インストール不要,かつ,ネットがなくても使える→JavaScritptのみで開発  IE8にも,できれば対応したかったが…(現時点は×) 72017/6/20
  8. 8. 使用するツール② Simple LODI 8 https://github.com/uedayou/simplelodi • RDFデータベースなしで, 「参照解決可能なLODの公開」が可能 • 一般的なWebサイト用のレンタルサーバ のスペック(PHP 5.4以上,mod_rewrite) で動作 LODチャレンジ2016 基盤技術部門・優秀賞 2017/6/20
  9. 9. 参考:使用するツール③ なんでもリンク 9 http://link.lodosaka.jp/ 既存のLODとの“リンクをつくる” ための簡易ツール 2017/6/20
  10. 10. 利用する元データ  「CSV形式」のファイルを利用  最初の1行目に「データの項目」 2行目以降に各データが記入されているもの  不要な行など,が入っているものは使えません  [CSV2LODの既知のバグ] ”1列目に空白セルが含まれる”と,正しく変換できま せん.  ファイルサイズが大きくなると,処理に時間がかかっ たり,ツールが停止する場合があるため,必要にお じてファイルを分割して利用してください.  この点には,今後のバージョンアップでの改善を検討中 102017/6/20
  11. 11. 利用可能なデータ例 11 書誌情報のサンプルデータ(LOD関連書籍) http://lodosaka.jp/tool/CSV2LOD/sample/sample.csv 2017/6/20
  12. 12. ハンズオンの概要  オープンデータのLOD化①  1.「CSV2LOD」を使いRDFに変換する  2.LODの公開  ①RDFファイル(Tutle形式)をWebサイトに公開して閲覧  ②データをRDFデータベースに格納し,SPARQLエンドポ イントを公開  Simple LODIを用いたLODの公開  3.「Simple LODI」を使い公開  参考:外部LODへのリンク作成  4.「なんでもリンク」を使いDBpedia Japaneseへの リンク情報をCSVファイルに追加する  ※あとは1~3と同様 12 希望者は一緒に作業 デモのみ 時間があれば 2017/6/20
  13. 13. 0.CSVファイルの準備 1. 元のデータファイルを準備 2. データファイルを開く  Excel等(または,Google Sheets)などで,ファイルを開く  Google Sheetsでは「File」→「Open」→「Upload」 3. 今回,RDF化する範囲を検討し,不要部分を削除する  IDとなる列は,できれるだけ残す. 4. CSV形式でファイルを保存 1. 1行目が項目,2行目以降がデータ(値)になっているか? 2. 1行目の項目と2行目以降にずれがないか? 3. 1列目に空白セルが含まれていないか? 4. 不要な行がないか? 5. 保存したファイルは,UTF8形式に変換(テキストエディタ等を使う) 13 今回は,http://lodosaka.jp/tool/CSV2LOD/sample/sample.csv からダウンロードしたSample.csvを使う 2017/6/20
  14. 14. 1.CSV2LODの作業手順  CSV2LODの起動  http:/lodosaka.jp/tool/CSV2LOD/ を開く (USBメモリの「CSV2LOD」フォルダ内にある index.htmlをWebブラウザで開く)  作業の手順 1. 元データ(CSV形式)を選択して読み込む 2. 変換に必要な情報を入力  URIに関する基本情報  利用するプロパティ(関係の名称) 3. RDF変換用のテンプレートを生成 4. CSVをRDFに変換(今回はTurtle形式のみ) 5. RDFファイルをダウンロード 142017/6/20
  15. 15. CSVファイルの読み込み 1. 「ファイルを選択」ボタンで,あらかじめ用意し ておいたCSVファイルを選択する 2. 「CSVファイル読み込み・プレビュー」ボタンを 押し,正しく読み込めることを確認する 15 sample.csv 2017/6/20
  16. 16. CSVのプレビュー結果(例) 162017/6/20
  17. 17. CSVファイル読み込み時の注意  文字コードは自動判定されます  今回のサンプルデータについては,エクセルからの CSV保存で正しく動作しなかったため,あらかじめ UTF-8に変換した上で,動作確認済み  ファイルサイズが大きい(200KB以上?)と読 み込めない場合があります  テキストエディタ等で開いて,「テキストボックスに入 力」の欄にコピー&ペースとして読み込むと,ある程 度のサイズのデータでも読み込めます.  「ファイルを選択」がうまく動かないとき  「テキストボックスに入力」を利用して下さい 172017/6/20
  18. 18. テンプレート作成① メタデータの入力  変換するデータに関する基本情報を入力する 18 ベースIRI :作成するRDFデータでIDに用いるIRI (URI)の設定 ライセンス情報 2017/6/20
  19. 19. 今日のハンズオンでは  ベースIRI  今回は,http://data.lodosaka.jp/doc/sample  実際に公開する際は,公開に使うIRI(URL)を元に,適切な設 定を入力する  日本語は,環境によっては,上手く認識しない場合あるため避 けたほうが無難(?)  オプションは「SimpleLODIを用いて公開(/)」を選択  ライセンス  今回は,  クレジットで表示すべき名前:大阪大学  その他のライセンスを利用:非公開(テスト用) とする  実際に公開する際には,適切なライセンスを選択・入力する. 192017/6/20
  20. 20. ベースIRI(URI)とは,  ベースIRIとは,  RDFにおいてIDとするIRIを決める際に基準とするIRI  例)DBpedia Japaneseの場合は http://ja.dbpedia.org/resource/大阪府 ↑この部分に相当  RDFファイルでは,Prefixがついていないリソース (データ)のIRIは,行頭にベースIRIが付加されるもの と扱われる  例)ベースIRIがhttp://test.data/とすると そのRDFファイルで<1>というリソースのIRIは <http://test.data/1>となる  ※Turtle形式の@baseには,#のIRIは使えない. 202017/6/20
  21. 21. ベースIRI(URI)の決め方  各データへはベースIRIによって決まるIRIでア クセスされるので,  データの公開者が管理している(できる)IRI  データを公開する際に用いるIRI(URL) を用いることが望ましい  # と / の使い分けは,一般に,  1つRDFファイルでデータを公開するときは http://test/data#001 のように#を  データサイズが大きく,RDFデータベースを用いて 公開するときは http://test/data/001 のように/を使うことが多い 212017/6/20
  22. 22. テンプレート作成② プロパティ(語彙)の設定 22 「プロパティ選択表示」ボタンを押すと, RDF変換で用いる語彙の候補が推薦される 推薦に用いる 語彙の選択 推薦された語彙 CSVの1行目 の項目名 2017/6/20
  23. 23. 語彙選択の考え方  ID列  CSVファイル内で「一意のID」となる項目があれば, 「ID列」として選択する  なければ「IDを自動付与」を選択する  今回は,「資料番号」を選択  プロパティ  3通りの設定方法がある  (1)推薦される語彙から選択  (2)その他の,既存の語彙を探して利用  (3)CSVの項目名を独自語彙として利用  今回は,後のページに示すプロパティを用いる 232017/6/20
  24. 24. 語彙選択の考え方(続き)  (1)推薦した語彙を選択する  項目名を元に,いくつかの語彙が推薦されるの で,適切な語彙があれば選択する.  語彙推薦の注意事項  現状では,推薦できる語彙はデモ向けに用意し た「ごく一部の語彙」に限られている.  今後,対応する語彙は順次増やす予定. 242017/6/20
  25. 25. 語彙選択の考え方(続き)  (2)推薦された以外の語彙を利用する場合  「その他」欄に入力  「推薦に用いる語彙」の一覧にあるprefixは利用可能  それ以外の場合は,「プレフィックスの自由欄」に入力  もしくは,語彙のIRIをすべて記載 →よく使われる語彙の一覧は次スライド参照.  (3)CSVの項目名を利用する場合  「bp:項目名」を選択  bp: は「ベースIRI+/property#」を表すprefix  データ型は,できれば適切なものを選択する ※プロパティを複数選択することも可 →複数の語彙に対応したいときに利用 (例:共通語彙基盤+Schema.org) 252017/6/20
  26. 26. 共通語彙 Schema.org http://schema.org/docs/schemas.html Schema.org(日本語訳サイト) http://schema-ja.appspot.com/ 共通語彙基盤(IMI) https://imi.go.jp/goi/ Linked Open Vocabularies (LOV) http://lov.okfn.org/dataset/lov/ DBPedia http://mappings.dbpedia.org/index.php/Main_Page Dublin Core http://dublincore.org/documents/dcmi-terms/ →解説 http://www.kanzaki.com/docs/sw/dublin-core.html Friend of a Friend (FOAF) http://xmlns.com/foaf/spec/ →解説 http://www.kanzaki.com/docs/sw/foaf.html 262017/6/20
  27. 27. プロパティ選択のサンプル 2017/6/20 27
  28. 28. プロパティ選択のサンプル 2017/6/20 28
  29. 29. RDFファイルへの変換 29 • 「テンプレート生成/更新」:設定した情報に基づい てCSVをRDFに変換するテンプレートを作成する • 「テンプレートのダウンロード」で,作成したテンプ レートをダウンロードして再利用できる • 「CSV→RDFの変換実行」で,CSVファイルをRDF に変換する 2017/6/20
  30. 30. RDFファイルへの変換結果 30  変換結果は下記のように表示される  「ファイル名」を入力し「RDFファイルのダウンロード」ボタンで RDFをダウンロードする.→ファイル名は「sample.ttl」とする  うまくダウロードできない場合は,コピー&ペーストを利用する  オプションで「SimpleLODIを用いて公開(/)」 を選択してい た場合は,「1データ1ファイルに分割された」ものを圧縮した ファイルとしてダウンロードされる. 2017/6/20
  31. 31. 参考: 保存したRDFテンプレートの利用  ダウンロードした「RDF変換テンプレート」を読み込んで利 用することも可能  同じ形式のCSVファイルが複数ある場合に有効  設定画面へは反映されないため「テンプレート生成/更新」ボ タンを押すと,読み込んだテンプレートが破棄されるので注意  テンプレートは,直接,画面上で編集することも可能  読み込んだテンプレートの修正や,設定からは生成できない 複雑なRDF変換用のテンプレートを生成するのに利用できる 312017/6/20
  32. 32. 2.LODの公開  ①Webサイトに公開  作成したRDFファイルをWebサーバーにアップする  公開するURLは, http://data.lodosaka.jp/doc/sample.ttl のように,RDFのファイル名を「ベースIRIで指定したもの +.ttl」とする  この方法で公開する場合,本来は,最初のオプション選 択で「一つのファイルで公開(#)」を選択しておく.  公開が完了すると,上記のIRIで,Webブラウザや, Linked Dataブラウザなどでの閲覧が可能.  LODブラウザの例  (Yet Another) Linked Data Browser ※フォーマットでTurtleを選択する必要あり http://www.kanzaki.com/works/2014/pub/ld-browser 322017/6/20
  33. 33. LODの公開② DBへのRDFデータの登録  作成したRDFファイルをRDFデータベースにアッ プロードする  今回は,AllegroGraphというRDFデータベースを利用 している ※後日,アプリ開発に利用される場合は, -SPARQL EPCU, https://dydra.com/ などのサービスを利用 -自分で,RDFデータベースをインストールする 2017/6/20 33
  34. 34. RDFデータのダウンロード・公開 DBへのRDFデータの登録 2017/6/20 34 Context:欄(省略可)に <http://data.lodosaka.jp/doc/sample> のように、ベースURI(=WebサーバーにアップしたURL)を入力する
  35. 35. DBへ登録したRDFデータの確認 2017/6/20 35 Query > new でクエリ入力画面へ http://lod.hozo.jp/repositories/DOC25 というURLにWebブラウザでアクセスすると SPARQLクエリ用の画面が利用できる ----- SELECT ?s ?p ?o WHERE { ?s ?p ?o . }LIMIT 100 ------ といったクエリで,データの中身を確認できる
  36. 36. Dydra 2017/6/20 こちらから の登録も可 ~LODを公開できる クラウドサービス~ ここから 登録 36
  37. 37. 3.Simple LODIでの公開  1.Simple LODIをダウンロード(ZIP形式が簡単)して, 解凍する.  https://github.com/uedayou/simplelodi から  2.「simplelodi-master」のフォルダ名を,LODを公 開するフォルダ名に変更  今回は,http://data.lodosaka.jp/doc/sample で公開するので「sample」とする  3.「2のサブフォルダdata」に圧縮ファイルでダウン ロードした「1データ1ファイルに分割されたもの」を すべて格納  4.「2のフォルダ一式」を公開するサーバ 今回は,http://data.lodosaka.jp/doc/ にアップロードする(※FTPソフトを利用する)  5.Webブラウザ,Linked Dataブラウザ等でアクセス可能に 372017/6/20
  38. 38. Simple LODIで公開したLODへの アクセス例  Webブラウザでのアクセス  http://data.lodosaka.jp/doc/sample/1001 といったIRIで各データにアクセス可能  コンテンツネゴシエーションは, .ttl,.json,.jsonld に対応  Linked Dataブラウザでのアクセス  (Yet Another) Linked Data Browser ※.ttlを指定し,フォーマットでTurtleを選択する必要あり http://www.kanzaki.com/works/2014/pub/ld-browser 382017/6/20
  39. 39. 参考:4.外部LODとのリンク 1. なんでもリンクにアクセス 2. オープンデータ(CSV)の「名称」に相当する列をコピー 3. なんでもリンクの入力欄にペースト  「SPARQLエンドポイント」欄に記入すれば,任意のエンドポイ ントを利用可能 4. DBpediaのデータと一致するデータの一覧が表示され る(最初の10件) 5. 「ダウンロード」ボタンで結果をダウンロード 6. エクセル等で開き,元のオープンデータの最終列に マッピング情報をコピー&ペースト ※あとは,先ほどと同じ方法で,CSVファイルをRDF化 392017/6/20
  40. 40. マッピング情報に関する注意  マッピング情報はUTF8形式となっているので, 以下のように扱う  Google Sheetsでは 「File」→「Open」→「Upload」  Excelの場合は, 「データ」→「挿入」→「外部データの取り込み」→「テ キストファイル」  以下の作業は,作業1,2と同様  マッピング情報に用いる「プロパティ」の選択のみ気 を付ける 402017/6/20
  41. 41. まとめ①  CSVファイルからRDFへの変換  RDFへの変換は,語彙(プロパティ)の選択が中心  今回利用したCSV2LODは,簡単な形式の変換の みに対応  より複雑な「意味の構造」を考慮したRDFを作成するには, データモデルやオントロジーのデザインが必要  CSV2LODにおいては,「テンプレート」を手動で編集する ことで,ある程度の対応は可能  外部LODへのリンクについては,事前のまっぷんぐ 作業が必要 2017/6/20 41
  42. 42. まとめ②  LODの公開 1. Webサイトでの単一ファイルとしての公開 2. Simple LODIによる参照解決可能なLODとしての公開 3. RDFデータベースによるSPARQLエンドポイントの公開  データの規模,目的に応じて,公開方法を選択する  公開したLODの活用  基本的な処理は,既存のライブラリを用いることで簡単 に実装可能  参考)http://uedayou.net/sparql-mashup/#app  LODチャレンジのデータセット部門に応募いただくと, 他の応募者から利用される可能性があります! 2017/6/20 42

×