lod公開のレシピ(第3回lodとオントロジー勉強会)

32
Linked Open Dataと オントロジー勉強会(第3回) Linked Data公開のレシピ 大阪大学産業科学研究所 古崎晃司 201416日(火) 於:大阪大学中之島センター 2014/01/06 第3回LODとオントロジー勉強会 1

Upload: kouji-kozaki

Post on 13-Jul-2015

1.108 views

Category:

Technology


9 download

TRANSCRIPT

Page 1: LOD公開のレシピ(第3回LODとオントロジー勉強会)

Linked Open Dataとオントロジー勉強会(第3回)

Linked Data公開のレシピ

大阪大学産業科学研究所

古崎晃司

2014年1月6日(火)於:大阪大学中之島センター

2014/01/06 第3回LODとオントロジー勉強会 1

Page 2: LOD公開のレシピ(第3回LODとオントロジー勉強会)

本日の予定

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

Page 3: LOD公開のレシピ(第3回LODとオントロジー勉強会)

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

Page 4: LOD公開のレシピ(第3回LODとオントロジー勉強会)

DBPedia

2014/01/06 第3回LODとオントロジー勉強会

Wikipediaの各記事のインフォボックスの情報を抽出して自動生成されるLOD様々なデータをつなぐLODのハブ的な存在となっている.

http://dbpedia.org/

日本語版のDBPediaはhttp://jp.dbpedia.org/ インフォボックスの例

4

Page 5: LOD公開のレシピ(第3回LODとオントロジー勉強会)

既に公開・リンクされている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

Page 6: LOD公開のレシピ(第3回LODとオントロジー勉強会)

既に公開・リンクされている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時点

行政関係のデータ

公開したオープンデータが他のオープンデータと「つながる」ことで「新たな価値」が生まれる

Page 7: LOD公開のレシピ(第3回LODとオントロジー勉強会)

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

Page 8: LOD公開のレシピ(第3回LODとオントロジー勉強会)

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★オープンデータで言及

Page 9: LOD公開のレシピ(第3回LODとオントロジー勉強会)

5 ★ オープンデータ

2014/01/06 第3回LODとオントロジー勉強会 9

★ (どんな形式でも良いので) あなたのデータをオープンライセンスでWeb上に公開しましょう

★★ データを構造化データとして公開しましょう★★★ 非独占の形式を使いましょう★★★★ 物事を示すのにURIを使いましょう,そうすることで他の人々があなたのデータ

にリンクすることができます★★★★★ あなたのデータのコンテキストを提供するために他のデータへリンクしましょう

http://5stardata.info/ja/より引用

ライセンスについて

フォーマットについて

Webの発明者でありLinked Dataの創始者でもあるティム・バーナーズ=リーがオープンデータのために提案したスキーム※注:図中のPDF,エクセル,CSVのアイコンは,あくまでも例示であって,そのフォーマットを推奨している訳ではない.

Page 10: LOD公開のレシピ(第3回LODとオントロジー勉強会)

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より)

目的語が他のリソースのとき,トリプルを辿って更なる情報が得られる

※図中のリソース(楕円),プロパティ(リンク)は

Page 11: LOD公開のレシピ(第3回LODとオントロジー勉強会)

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)参照

本日のメイントピック

Page 12: LOD公開のレシピ(第3回LODとオントロジー勉強会)

本日のメイントピック

LODの公開方法 RDFファイルのダンプ(全データ)をダウンロードできるところに置く

SPARQLエンドポイント(LODを検索可能なAPI)を公開する

→これだけでは,Linked Dataの基本原則を満たした公開とは言えない!

参照解決可能なhttp (https) URIsを用いた公開(基本原則2)が重要!

→しかし,技術的なハードルが少し高い?

本日の勉強会の目標 参照解決可能なLOD公開方法のノウハウを共有する

できれば,エンジニアでなくても簡単にできるように…2014/01/06 第3回LODとオントロジー勉強会 12

Page 13: LOD公開のレシピ(第3回LODとオントロジー勉強会)

参照解決可能な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

Page 14: LOD公開のレシピ(第3回LODとオントロジー勉強会)

参照解決ができない例

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

Page 15: LOD公開のレシピ(第3回LODとオントロジー勉強会)

本日の予定

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

Page 16: LOD公開のレシピ(第3回LODとオントロジー勉強会)

5.1 Linked Dataの公開パターン

Linked Data公開の大前提

Linked Dataの基本原則(2章参照)に従う

これらを支える標準技術に準拠することが,Linked Dataの相互運用を効率化し,Web全体で再利用することを可能にしている!

基本原則に準拠するために,既存システムを捨てる必要は無いが,データをWebにつなげる技術レイヤーの導入が必要

5章では,これを実現するためのLinked Dataの公開パターン(レシピ)を紹介している.

2014/01/06 第3回LODとオントロジー勉強会 16

Page 17: LOD公開のレシピ(第3回LODとオントロジー勉強会)

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

Page 18: LOD公開のレシピ(第3回LODとオントロジー勉強会)

5.1.2 追加の考察

データ量:どの程度のデータ量が提供されるべきか? 少量のデータ

→静的なRDFファイルでの公開

手作業による管理コストは増えるが,技術的に複雑な セットアップのコストは抑えられる

大規模なデータ→複数のRDFファイルに分割して公開,

Linked Dataのインタフェース付きのRDF-DBを利用

データのダイナミズム:どの程度データは変化するか? あまり変化しないデータ

→静的なRDFファイルでの公開

頻繁に変化するデータ→DBの利用(RDB/API+ラッパー,RDF-DB,など)

2014/01/06 第3回LODとオントロジー勉強会 18

Page 19: LOD公開のレシピ(第3回LODとオントロジー勉強会)

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

Page 20: LOD公開のレシピ(第3回LODとオントロジー勉強会)

5.2.1 Linked Dataを静的なRDF/XMLファイルとして提供する(1/3)

公開方法の概要 RDFファイルを生成し,Webサーバにアップロードする(※単にRDFファイルをアップロードするだけでなく,サーバ側の設定が必要)

特徴 Linked Dataを公開する も簡単な方法

ホームページ公開用の一般的なレンタルサーバでもLinked Dataの公開が可能

この方法が適している条件 個人が比較的小さなRDFファイルを手作業で作ってメンテナンスする場合

ソフトウェアツール等がRDFを静的に生成する場合2014/01/06 第3回LODとオントロジー勉強会 20

Page 21: LOD公開のレシピ(第3回LODとオントロジー勉強会)

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

Page 22: LOD公開のレシピ(第3回LODとオントロジー勉強会)

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

Page 23: LOD公開のレシピ(第3回LODとオントロジー勉強会)

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

Page 24: LOD公開のレシピ(第3回LODとオントロジー勉強会)

5.2.3 RDFとHTMLをサーバサイドスクリプトを用いて提供する

公開方法の概要

Webサイトの管理にHTML文書を生成するサーバサイドスクリプトをLinked Dataに対応するように拡張する

特徴

HTML文書とLinked Dataを同時に管理できる

既存システムを活用できる

この手法が適している条件

Webサイトの管理にHTML文書を生成するサーバサイドスクリプトを用いている場合

2014/01/06 第3回LODとオントロジー勉強会 24

Page 25: LOD公開のレシピ(第3回LODとオントロジー勉強会)

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

Page 26: LOD公開のレシピ(第3回LODとオントロジー勉強会)

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

Page 27: LOD公開のレシピ(第3回LODとオントロジー勉強会)

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

Page 28: LOD公開のレシピ(第3回LODとオントロジー勉強会)

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

Page 29: LOD公開のレシピ(第3回LODとオントロジー勉強会)

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

Page 30: LOD公開のレシピ(第3回LODとオントロジー勉強会)

本日の予定

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

Page 31: LOD公開のレシピ(第3回LODとオントロジー勉強会)

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

Page 32: LOD公開のレシピ(第3回LODとオントロジー勉強会)

大規模なLOD公開に向けて

静的RDFをより高度な方法で公開する

http://www.w3.org/TR/swbp-vocab-pub/ 参照

大規模なRDFの扱い

複数に分割したRDFファイルとして公開

Webサーバのみでの公開が可能

RDF-DB(トリプルストア)を用いた公開

サーバにDB等のソフトウェアをインストールする必要あり

2014/01/06 第3回LODとオントロジー勉強会 32