lod公開のレシピ(第3回lodとオントロジー勉強会)
TRANSCRIPT
Linked Open Dataとオントロジー勉強会(第3回)
Linked Data公開のレシピ
大阪大学産業科学研究所
古崎晃司
2014年1月6日(火)於:大阪大学中之島センター
2014/01/06 第3回LODとオントロジー勉強会 1
本日の予定
18:30~19:30 LODについての復習
本日のメイントピック~LOD公開について~
「Linked Data-Webをグローバルなデータ空間にする仕組み」を教科書とした勉強会
『第5章 Linked Data公開のレシピ』
19:30~20:00 「LODの公開に使えるツール」の紹介~参照解決可能なURIを用いたLOD公開の実践~
20:00~20:30 フリー・ディスカッション
2014/01/06 第3回LODとオントロジー勉強会 2
Linked Open Data(LOD) Linked Data:Web上のデータを,つなぐ(linkする)ことで,新しい価値
を生み出そうとする取り組み.Webの創始者Tim Berners-Lee氏が提唱
※ Linked Open Data(LOD):オープンな形で公開されたLinked Data
2014/01/06 第3回LODとオントロジー勉強会
http://linkeddata.org/
• 誰もが同じ方法で,「データをつなぐことができる仕組み」を提供している.• 技術的には,
-データ公開の共通フォーマット(URIによる名前付け,RDFによるグラフ表現-コンピュータが,データにアクセスする共通の仕組みが提供されている.
→Web上に公開された膨大なデータを統合した1つのデータベースとして利用できる.
3
DBPedia
2014/01/06 第3回LODとオントロジー勉強会
Wikipediaの各記事のインフォボックスの情報を抽出して自動生成されるLOD様々なデータをつなぐLODのハブ的な存在となっている.
http://dbpedia.org/
日本語版のDBPediaはhttp://jp.dbpedia.org/ インフォボックスの例
4
既に公開・リンクされているLOD~LODクラウド~
2014/01/06 第3回LODとオントロジー勉強会
2007/5/12007/10/8
2008/9/182009/7/142010/9/22http://lod-cloud.net/
2011/9/19時点
1つの丸が個別に公開されたDBを表す.
参考:「Linked Data-Webをグローバルなデータ空間にする仕組み」 3章.データのWeb
マスメディア
地理情報
図書館・教育
ユーザ作成データ
政府情報クロス・ドメイン
ライフサイエンス
DBPedia
open.govopen.gov.uk
5
既に公開・リンクされているLOD~LODクラウド~
2014/01/06 第3回LODとオントロジー勉強会 6
Linking Open Data cloud diagram 2014, by Max Schmachtenberg, Christian Bizer, Anja Jentzschand Richard Cyganiak. http://lod-cloud.net/
1つの丸が個別に公開されたLOD(DB)を表す
2014/08/30時点
行政関係のデータ
公開したオープンデータが他のオープンデータと「つながる」ことで「新たな価値」が生まれる
Linked Dataが目指すこと WWW(World Wide Web)
文書を公開し,相互に接続(ハイパーリンクでつなぐ)ための革命的な仕組みを提供したことで,今日のWebの発展につながった.
Linked Data データを共有(公開)し,相互につなぐ仕組みを提供する.
Linked Dataの原理 データの構造化
構造化されたデータはより洗練された処理を可能にする
分散したデータをつなぐハイパーリンク 文書単位では無く,データ単位のリンクを可能にする.
データの島々から一つのグローバルデータ空間へ 分散されたデータ群を1つのグローバルなデータ空間へ統合する
参考:『Linked Data-Webをグローバルなデータ空間にする仕組み(Tom Heath, Christian Bizer(武田英明監訳),丸善,2013)』 1章.
2014/01/06 第3回LODとオントロジー勉強会 7
Linked Dataの基本原則
1. Use URIs as names for things全てのモノやコトにURIをつけましょう
2. Use HTTP URIs so that people can lookup those names.それらのURIをhttp(Webブラウザと同じ方法)で参照(アクセス)できるようにしましょう
3. When someone looks up a URI, provide useful information, using the standards (RDF, SPARQL)そのURIを参照したら,標準の技術(RDFやSPARQL)を使用して,役に立つ情報を提供するように
4. Include links to other URIs. so that they can discover more things.多くのモノ・コトを発見できるように,外部へのリンクを含めよう.
2014/01/06 第3回LODとオントロジー勉強会 8
原文引用元 http://www.w3.org/DesignIssues/LinkedData.html日本語訳参考 http://www.slideshare.net/takeda/lod-5163454
2章(p.2)参照
5★オープンデータで言及
5★オープンデータで言及
5 ★ オープンデータ
2014/01/06 第3回LODとオントロジー勉強会 9
★ (どんな形式でも良いので) あなたのデータをオープンライセンスでWeb上に公開しましょう
★★ データを構造化データとして公開しましょう★★★ 非独占の形式を使いましょう★★★★ 物事を示すのにURIを使いましょう,そうすることで他の人々があなたのデータ
にリンクすることができます★★★★★ あなたのデータのコンテキストを提供するために他のデータへリンクしましょう
http://5stardata.info/ja/より引用
ライセンスについて
フォーマットについて
Webの発明者でありLinked Dataの創始者でもあるティム・バーナーズ=リーがオープンデータのために提案したスキーム※注:図中のPDF,エクセル,CSVのアイコンは,あくまでも例示であって,そのフォーマットを推奨している訳ではない.
Linked Dataの例
2014/01/06 第3回LODとオントロジー勉強会 10
大阪府
大阪市
都道府県 223㎢
2,687,287人面積
人口
吹田市
豊中市
…バラ科
市の木
隣接自治体
隣接自治体
…
http://ja.dbpedia.org/resource/大阪市 というURIから得られる情報
サクラ
科
Cherry blossom英名
リソース:URIで表されるモノ・コト
プロパティ:
リソース間の関係を表す
リテラル:文字列
主語 述語 目的語
トリプル※RDF(Linked Dataのデータモデル)は,「トリプルの組み合わせ」で表される
(DBpedia Japaneseより)
目的語が他のリソースのとき,トリプルを辿って更なる情報が得られる
※図中のリソース(楕円),プロパティ(リンク)は
Linked Dataの基本原則
1. Use URIs as names for things全てのモノやコトにURIをつけましょう
2. Use HTTP URIs so that people can lookup those names.それらのURIをhttp(Webブラウザと同じ方法)で参照(アクセス)できるようにしましょう
3. When someone looks up a URI, provide useful information, using the standards (RDF, SPARQL)そのURIを参照したら,標準の技術(RDFやSPARQL)を使用して,役に立つ情報を提供するように
4. Include links to other URIs. so that they can discover more things.多くのモノ・コトを発見できるように,外部へのリンクを含めよう.
2014/01/06 第3回LODとオントロジー勉強会 11
原文引用元 http://www.w3.org/DesignIssues/LinkedData.html日本語訳参考 http://www.slideshare.net/takeda/lod-5163454
2章(p.2)参照
本日のメイントピック
本日のメイントピック
LODの公開方法 RDFファイルのダンプ(全データ)をダウンロードできるところに置く
SPARQLエンドポイント(LODを検索可能なAPI)を公開する
→これだけでは,Linked Dataの基本原則を満たした公開とは言えない!
参照解決可能なhttp (https) URIsを用いた公開(基本原則2)が重要!
→しかし,技術的なハードルが少し高い?
本日の勉強会の目標 参照解決可能なLOD公開方法のノウハウを共有する
できれば,エンジニアでなくても簡単にできるように…2014/01/06 第3回LODとオントロジー勉強会 12
参照解決可能なLODの例
日本語LODの例 DBpedia Japanese http://ja.dbpedia.org/ 日本語Wikipediaオントロジー
http://www.wikipediaontology.org/ ねじLOD http://monodzukurilod.org/neji/
参照解決可能なLOD URIでデータにアクセスが可能
通常のWebページと同様に,データのURIを用いて「つながり」を辿ることが出来る
コンテントネゴシエーションに対応している場合, Webブラウザからのアクセス→HTMLファイルを返す
Linked Dataブラウザからのアクセス→RDFを返す
.html,.rdf,.ttlなど拡張子に合わせた形式のファイルを返す
などの要求に応じたデータ形式で返す→Linked Dataブラウザなど汎用のアプリの開発が可能に!
2014/01/06 第3回LODとオントロジー勉強会 13
参照解決ができない例
URIで参照した先(Webサイト)にデータが存在しない
URIで参照した先のサイトはあるが… LinkData.orgの場合
http://linkdata.org/resource/rdf1s2523i#2473→LinkData.org上で表示する方法(GoogleMap,
LinkDataの地図表示)を選択できる※ただし,汎用のLinked Dataブラウザでの閲覧は不可(=参照解決可能ではない)→LinkData.orgのAPIでRDFファイルを取得するURL例 http://linkdata.org/api/1/rdf1s2523i/osaka_shisetsu_rdf.xmlを指定すると閲覧可
2014/01/06 第3回LODとオントロジー勉強会 14
本日の予定
18:30~19:30 LODについての復習
本日のメイントピック~LOD公開について~
「Linked Data-Webをグローバルなデータ空間にする仕組み」を教科書とした勉強会
『第5章 Linked Data公開のレシピ』
19:30~20:00 「LODの公開に使えるツール」の紹介~参照解決可能なURIを用いたLOD公開の実際~
20:00~20:30 フリー・ディスカッション
2014/01/06 第3回LODとオントロジー勉強会 15
5.1 Linked Dataの公開パターン
Linked Data公開の大前提
Linked Dataの基本原則(2章参照)に従う
これらを支える標準技術に準拠することが,Linked Dataの相互運用を効率化し,Web全体で再利用することを可能にしている!
基本原則に準拠するために,既存システムを捨てる必要は無いが,データをWebにつなげる技術レイヤーの導入が必要
5章では,これを実現するためのLinked Dataの公開パターン(レシピ)を紹介している.
2014/01/06 第3回LODとオントロジー勉強会 16
5.1.1 簡単な公開パターンの紹介
元データの特徴
構造化された検索可能なデータ
RDBに格納されている,Web APIが提供されている,など
→DBやAPIに「RDFに変換するラッパー(Wrapper)」を追加
構造化された静的なデータ
CSV, Excel表,XMLファイル,DBのダンプデータ,など
→ツール等でRDFに変換した後,WebサーバやRDF-DBを用いて公開
テキスト文書
→エンティティ抽出ツール(entity extractor)を用いて文書にLinked Data URIをアノテーションして公開
2014/01/06 第3回LODとオントロジー勉強会 17
5.1.2 追加の考察
データ量:どの程度のデータ量が提供されるべきか? 少量のデータ
→静的なRDFファイルでの公開
手作業による管理コストは増えるが,技術的に複雑な セットアップのコストは抑えられる
大規模なデータ→複数のRDFファイルに分割して公開,
Linked Dataのインタフェース付きのRDF-DBを利用
データのダイナミズム:どの程度データは変化するか? あまり変化しないデータ
→静的なRDFファイルでの公開
頻繁に変化するデータ→DBの利用(RDB/API+ラッパー,RDF-DB,など)
2014/01/06 第3回LODとオントロジー勉強会 18
5.2 Linked Data公開のレシピ
5.2.1 Linked Dataを静的なRDF/XMLファイルとして提供する
5.2.2 Linked DataをHTML内に埋め込んだRDFとして提供する
5.2.3 RDFとHTMLをサーバサイドスクリプトを用いて提供する
5.2.4 リレーショナルデータベースを元にLinked Dataを提供する
5.2.5 RDFトリプルストアを元にLinked Dataを提供する
5.2.6 既存のアプリケーションやWeb APIをラップしてLinked Dataを提供する
2014/01/06 第3回LODとオントロジー勉強会 19
5.2.1 Linked Dataを静的なRDF/XMLファイルとして提供する(1/3)
公開方法の概要 RDFファイルを生成し,Webサーバにアップロードする(※単にRDFファイルをアップロードするだけでなく,サーバ側の設定が必要)
特徴 Linked Dataを公開する も簡単な方法
ホームページ公開用の一般的なレンタルサーバでもLinked Dataの公開が可能
この方法が適している条件 個人が比較的小さなRDFファイルを手作業で作ってメンテナンスする場合
ソフトウェアツール等がRDFを静的に生成する場合2014/01/06 第3回LODとオントロジー勉強会 20
5.2.1 Linked Dataを静的なRDF/XMLファイルとして提供する(2/3)
公開の手順 (1)RDFファイルをWebサーバにアップロードする
リソースのURIには,Linked Dataを公開するWebサイトのURLを用いる
例)http://lodosaka.jp/data/example.rdfというURLで公開する場合,リソースのURIには,http://lodosaka.jp/data/example.rdf#***を用いる
(2)WebサーバのMIME typeを設定する 公開したLinked Dataにアクセスしたクライアントに正しい
MIME typeを返すように,Webサーバを設定する
Apache の場合は,.htaccess(または,http.conf)に,AddType application/rdf+xml .rdf
の1行を追加する
利用しているサーバによっては,この設定は不要(?)
2014/01/06 第3回LODとオントロジー勉強会 21
5.2.1 Linked Dataを静的なRDF/XMLファイルとして提供する(2/3)
公開の手順(続き) (2)WebサーバのMIME typeを設定する(続き)
必要であれば,AddType text/rdf+n3;charset=utf-8 .n3AddType application/x-turtle .ttl
など,他のシリアライズ化形式のRDFについてもMIME typeを追加する
(3)RDFをHTMLから見つけられるようにする 公開したLinked Dataと関連するHTMLがあれば,
<link rel=“alternate” type=“application/rdf+xml” href=“example.rdf”>をHTML文書のヘッダに付け加える
この公開方法の拡張 303リダイレクト(redirect)やコンテントネゴシエーション(content negotiation)に対応した公開についてはhttp://www.w3.org/TR/swbp-vocab-pub/ を参照
2014/01/06 第3回LODとオントロジー勉強会 22
5.2.2 Linked DataをHTML内に埋め込んだRDFとして提供する
公開方法の概要
HTML文書の中にRDFトリプルを記述する規格であるRDFa(参照:2.4.2項)を用いてHTML文書の中にLinked Dataの情報を埋め込んで公開する
特徴
HTML文書とLinked Dataを同時に管理できる
この手法が適している条件
Webサイトの管理に用いているCMSなどが,RDFa出力に対応している場合.例)Drupal(https://www.drupal.org/project/rdfa参照)
2014/01/06 第3回LODとオントロジー勉強会 23
5.2.3 RDFとHTMLをサーバサイドスクリプトを用いて提供する
公開方法の概要
Webサイトの管理にHTML文書を生成するサーバサイドスクリプトをLinked Dataに対応するように拡張する
特徴
HTML文書とLinked Dataを同時に管理できる
既存システムを活用できる
この手法が適している条件
Webサイトの管理にHTML文書を生成するサーバサイドスクリプトを用いている場合
2014/01/06 第3回LODとオントロジー勉強会 24
5.2.4 リレーショナルデータベースを元にLinked Dataを提供する
公開方法の概要
リレーショナルデータベース(RDB)にLinked Dataのビューを追加するようなソフトウェアを追加する
特徴
既存のデータベースを活用できる
この手法が適している条件
Linked Dataとして公開したいデータがRDBに格納されている
この公開方法に利用できるソフトウェア
D2R Server(http://d2rq.org/) 既存のRDBにRDFへのマッピング情報を付与することでLinked Dataとして公開できる
日本語による参考情報http://wiki.lifesciencedb.jp/mw/index.php/BH13.13/D2RQ
2014/01/06 第3回LODとオントロジー勉強会 25
5.2.5 RDFトリプルストアを元にLinked Dataを提供する
公開方法の概要
RDFデータベース(トリプルストア)のLinked Dataインタフェースを用いる
この公開方法に利用できるソフトウェア
Linked Dataインタフェースに対応したトリプルストアの例 Virtuoso(http://virtuoso.openlinksw.com/)多くのサイトで利用されているトリプルストア.日本語情報も多数あり.RDF/XMLやTurtle(HTMLページ以外)のLinked Dataの提供は可能.
ARC2(https://github.com/semsol/arc2/wiki)一般的なレンタルサーバーで提供しているLAMP(Linux, Apache,MySQL, PHP)環境で利用可能
Pubby(http://wifo5-03.informatik.uni-mannheim.de/pubby/) SPARQLエンドポイントを用いてLinked Dataインタフェースを提供できるソフト
2014/01/06 第3回LODとオントロジー勉強会 26
5.2.6 既存のアプリケーションやWeb APIをラップしてLinked Dataを提供する
公開方法の概要
Web APIにLinked Dataを出力するラッパを追加する
特徴
既存のWeb APIで提供されているデータを活用できる
この手法が適している条件
Linked Dataとして公開したいデータにアクセスするWeb APIが公開されている
APIの利用規定(APIで取得したデータの再公開が認められているか)の確認が必要
2014/01/06 第3回LODとオントロジー勉強会 27
5.4 Linked Dataのテストとデバッグ
Linked Dataの原則に従っているかのチェック W3C RDF Validator(http://www.w3.org/RDF/Validator/)
RDF/XMLの文法チェック
Vapour Linked Data Validator(http://idi.fundacionctic.org/vapour) URIの参照解決とその通信プロセスをレポート
RDF:Alerts(http://swse.deri.org/RDFAlerts/) 用語の定義や制限のチェック
Linked Dataブラウザで閲覧出来るかのチェック Quick and Dirty RDF browser
http://graphite.ecs.soton.ac.uk/browser/ (Yet Another) Linked Data Browser
http://www.kanzaki.com/works/2014/pub/ld-browser Tabulator(※上手く動かない?)
http://www.w3.org/2005/ajar/tab Marbles(※一時的にサービス停止中?)
http://dbpedia.org/Marbles
2014/01/06 第3回LODとオントロジー勉強会 28
5.5 Linked Data公開のためのチェックリスト
参照解決可能なHttp URIでデータを提供することに加えて,以下の項目をチェックすべき
1. 自分のデータセットは他のデータセットにリンクしているか?
2. 由来(一次情報源)のメタデータを提供しているか?
3. ライセンスのメタデータは提供しているか?
4. 広く使われている語彙から用語を選んで使っているか?
5. プロプライエタリな(独自に定義した)語彙のURIは参照解決可能か?
語彙の定義をWebから取得できるようにする
6. プロプライエタリな語彙は他の語彙にマッピングしているか?
広く使われている語彙との対応を明示する
7. データセットレベルのメタデータを提供しているか?
統計情報やデータセットの特徴などの説明
8. その他のアクセス方法について言及しているか?
SPARQLエンドポイントやRDFデータのダンプを公開している場合はその情報をvoiD(Linked Dataのデータセットについて記述する語彙)に記述
2014/01/06 第3回LODとオントロジー勉強会 29
本日の予定
18:30~19:30 LODについての復習
本日のメイントピック~LOD公開について~
「Linked Data-Webをグローバルなデータ空間にする仕組み」を教科書とした勉強会
『第5章 Linked Data公開のレシピ』
19:30~20:00 「LODの公開に使えるツール」の紹介~参照解決可能なURIを用いたLOD公開の実際~
20:00~20:30 フリー・ディスカッション
2014/01/06 第3回LODとオントロジー勉強会 30
LOD公開の実践~静的RDFファイルでの公開~
静的RDFファイルの も簡単な公開方法
1. RDFファイルを用意する リソースのURIは,
<ファイルの置き場所>.rdf#<id> の形式にする例 http://lodosaka.jp/data/example.rdf#1
2. RDFファイルをWebサーバにアップロードする アップロードする場所は,1.のURIに合わせる
3. Link Dataブラウザ等で正しく閲覧出来るか確認 Linked DataブラウザでリソースのURIをクリックして表示が正し
く切り替わるかなどもチェック
4. (必要であれば)MIME typeの設定を追加 いくつかのレンタルサーバで試したところMIME typeの設定を
しなくともLinked Dataブラウザで閲覧できた
LOD公開の第1ステップとしてはこの程度でOK?2014/01/06 第3回LODとオントロジー勉強会 31
大規模なLOD公開に向けて
静的RDFをより高度な方法で公開する
http://www.w3.org/TR/swbp-vocab-pub/ 参照
大規模なRDFの扱い
複数に分割したRDFファイルとして公開
Webサーバのみでの公開が可能
RDF-DB(トリプルストア)を用いた公開
サーバにDB等のソフトウェアをインストールする必要あり
2014/01/06 第3回LODとオントロジー勉強会 32