88
オープンデータと Linked Open Data ROIS & LODI 加藤文彦 第3回BODIKトーク 2014-09-04 1

オープンデータとLinked Open Data

Embed Size (px)

DESCRIPTION

2014-09-04 の第3回 BODIKトーク用資料

Citation preview

Page 1: オープンデータとLinked Open Data

オープンデータと Linked Open Data

ROIS & LODI 加藤文彦 第3回BODIKトーク 2014-09-04

1

Page 2: オープンデータとLinked Open Data

加藤 文彦 (かとうふみひろ)

• (共)情報・システム研究機構 特任研究員

• LODACプロジェクト

• DBpedia Japanese

• NPO法人 リンクト・オープン・データ・イニシアティブ 理事

• CKAN

• Open DATA METI

• コミュニティ

• Linked Data勉強会

• Linked Open Data チャレンジ Japan

• CKAN日本語

• Data for Japan2

Page 3: オープンデータとLinked Open Data

Linked  DataOpen  Data

3

Page 4: オープンデータとLinked Open Data

Open Data

Page 5: オープンデータとLinked Open Data

“データやコンテンツがオープンであるというのは,クレジット表示と/またはライセンスの継承をするくらいの条件で,誰もが自由に利用,再利用,再配布できるということである.” !

The  Open  Defini+on  -­‐  h.p://opendefini+on.org

5

Page 6: オープンデータとLinked Open Data

自由な利用・再利用・再配布

• 発見できる

• アクセスできる

• 閲覧できる

• 印刷できる

• コピーできる

• 変更できる

• 共有できる

• アプリで使える

• リンクできる

• ...

6

Page 7: オープンデータとLinked Open Data

7

◯ ☓

Page 8: オープンデータとLinked Open Data

8

Page 9: オープンデータとLinked Open Data

特にまずかった個所•応募者は、データ等を本コンテストへの応募作品の開発及び本コンテストの応募以外の目的で使用してはならないものとします。

•応募者は、データ等及び本コンテストへの応募作品を、有償か無償かに係らず商業目的には利用できないものとします。

9

Page 10: オープンデータとLinked Open Data

オープンの定義 第2版(案)

•オープンライセンス

•アクセス

•オープンフォーマット • https://github.com/okfn/opendefinition/blob/master/source/open-

definition-2.0/open-definition-2.0.en.markdown

10

Page 11: オープンデータとLinked Open Data

11http://odfaq.info/

Page 12: オープンデータとLinked Open Data

Linked Data

Page 13: オープンデータとLinked Open Data

Linked Data•Web技術でデータを公開・共有・統合するためのベストプラクティス

•複数のデータを組み合わせて使いやすくする

•アクセス方法の差異

•ファイル形式の差異

•データソースの差異

•語彙の差異

•事物の区別と同一性

13

Page 14: オープンデータとLinked Open Data

14

Page 15: オープンデータとLinked Open Data

作品

作品

書誌

15

Page 16: オープンデータとLinked Open Data

友人

在住

人物

16

Page 17: オープンデータとLinked Open Data

舞台

観光地

観光地名前の由来

観光

17

Page 18: オープンデータとLinked Open Data

舞台

観光地

観光地名前の由来

作品

作品

友人

在住

書誌人物

観光

18

Page 19: オープンデータとLinked Open Data

舞台

観光地

観光地名前の由来

作品

作品

在住

書誌

人物

観光

友人

同じ

同じ

19

Page 20: オープンデータとLinked Open Data

Webの原則1. IRIをHTML文書の識別子として使う

2. IRIにはhttpスキームを使う

3. IRIを見るとHTML文書が返ってくる

4.HTML文書には他のIRIへのリンクがある

IRI + HTTP + HTML20

Page 21: オープンデータとLinked Open Data

Linked Dataの原則1. IRIを事物(Thing)の識別子として使う

2. IRIにはhttpスキームを使う

3. IRIを見ると事物の構造化データが返ってくる

4.データには他のIRIへの型付リンクがある

子供

執筆

発行日

誕生日出版社

所在地

"Things,  not  Strings"    by  Google

IRI + HTTP + RDF21

Page 22: オープンデータとLinked Open Data

22

Page 23: オープンデータとLinked Open Data

ライセンス データフォーマット データアクセス データモデル

1 2 3

23

Linked Open DataOpen Data

Page 24: オープンデータとLinked Open Data

4-5星への道•識別するものがある

•共通項がある

•関係がある

•由来がある

•変更履歴がある

•例: 名前,コード,カテゴリー,...

http://www.ordnancesurvey.co.uk/business-and-government/products/opendata-products.html24

Page 25: オープンデータとLinked Open Data

4-5星のメリット•アプリ・ツールが使い回しやすくなる

•データのモデルとアクセスが共通

•データが使い回しやすくなる

•グローバル識別子

•他のデータを参照可能

•データの一部分だけ利用

•ネットワーク効果を得られる

•関係するデータの発見

•データ価値の増大

25

Page 26: オープンデータとLinked Open Data

4-5星のデメリット•学習コスト

•グラフ >>>> 木 >> 表

• 作成コスト

•モデリング

•既存語彙の知識

•メンテナンスコスト

• IRI

• リンク切れ

26

Page 27: オープンデータとLinked Open Data

27

LOD cloud diagram 2014 by Max Schmachtenberg et al. http://data.dws.informatik.uni-mannheim.de/lodcloud/2014/

Page 28: オープンデータとLinked Open Data

http://dbpedia.org

28

Page 29: オープンデータとLinked Open Data

http://dbpedia.org/resource/Japan29

Page 30: オープンデータとLinked Open Data

http://wiki.dbpedia.org/Internationalization/Chapters30

Page 31: オープンデータとLinked Open Data

http://ja.dbpedia.org31

Page 32: オープンデータとLinked Open Data

32http://ja.dbpedia.org/resource/福岡市

Page 33: オープンデータとLinked Open Data

OS Linked Data

• 地理データの一部

• 50K地名辞典

• 郵便番号

• 境界線http://data.ordnancesurvey.co.uk/

33

Page 34: オープンデータとLinked Open Data

http://data.ordnancesurvey.co.uk/datasets/50k-gazetteer

34

Page 35: オープンデータとLinked Open Data

http://data.ordnancesurvey.co.uk/id/50kGazetteer/140013

http://data.ordnancesurvey.co.uk/id/50kGazetteer/140012http://data.ordnancesurvey.co.uk/id/50kGazetteer/140011

35

Page 36: オープンデータとLinked Open Data

http://data.ordnancesurvey.co.uk/datasets/code-point-open http://data.ordnancesurvey.co.uk/datasets/boundary-line

36

Page 37: オープンデータとLinked Open Data

http://data.ordnancesurvey.co.uk/id/postcodedistrict/E14

http://data.ordnancesurvey.co.uk/id/postcodeunit/E148BG http://data.ordnancesurvey.co.uk/id/7000000000010975

http://data.ordnancesurvey.co.uk/id/7000000000011185

http://data.ordnancesurvey.co.uk/id/7000000000041441

http://data.ordnancesurvey.co.uk/id/postcodedistrict/E148

郵便番号 行政区・選挙区37

Page 38: オープンデータとLinked Open Data

IRIID

38

Page 39: オープンデータとLinked Open Data

http://ja.dbpedia.org/resource/夏目漱石識別

識別

http://viaf.org/viaf/56614190

39

Page 40: オープンデータとLinked Open Data

IntegrationIRI + 型付リンク

40

Page 41: オープンデータとLinked Open Data

http://ja.dbpedia.org/resource/夏目漱石

http://viaf.org/viaf/56614190

owl:sameAs

41

@prefix owl: <http://www.w3.org/2002/07/owl#> <http://ja.dbpedia.org/resource/夏目漱石> owl:sameAs <http://viaf.org/viaf/56614190> . <http://viaf.org/viaf/56614190> owl:sameAs <http://ja.dbpedia.org/resource/夏目漱石> .

識別

識別

Page 42: オープンデータとLinked Open Data

DiscoveryDerefereceable IRI (HTTP)

42

Page 43: オープンデータとLinked Open Data

http://www.w3.org/TR/webarch/43

Page 44: オープンデータとLinked Open Data

http://dbpedia.org/resource/Matsuyama,_Ehime

represents

identifies

44

Page 45: オープンデータとLinked Open Data

http://dbpedia.org/resource/Matsuyama,_Ehime

represents

identifies

represents

45

Page 46: オープンデータとLinked Open Data

Content-negotiation

•あるリソースの表現をHTTPリクエストで折衝する仕組み

•例: JPEGとSVGの画像

46

Page 47: オープンデータとLinked Open Data

1. request /resource/Matsuyama,_Ehime

2. return an HTML document for /resource/Matsuyama,_Ehime

http://dbpedia.orgWeb Browser

% curl -LIH 'Accept: text/html' http://dbpedia.org/resource/Matsuyama,_EhimeHTTP/1.1 303 See OtherDate: Wed, 19 Mar 2014 08:56:18 GMTContent-Type: text/html; charset=UTF-8Content-Length: 0Connection: keep-aliveServer: Virtuoso/07.10.3207 (Linux) x86_64-redhat-linux-gnu VDBLocation: http://dbpedia.org/page/Matsuyama,_Ehime!HTTP/1.1 200 OKDate: Wed, 19 Mar 2014 08:56:18 GMTContent-Type: text/html; charset=UTF-8Content-Length: 109160Connection: keep-aliveVary: Accept-EncodingServer: Virtuoso/07.10.3207 (Linux) x86_64-redhat-linux-gnu VDBExpires: Wed, 26 Mar 2014 08:47:42 GMTLink: <http://dbpedia.org/data/Matsuyama,_Ehime.rdf>;……

47

Page 48: オープンデータとLinked Open Data

2. return a turtle document for /resource/Matsuyama,_Ehime

http://dbpedia.orgLOD Agent

% curl -LIH 'Accept: text/turtle' http://dbpedia.org/resource/Matsuyama,_EhimeHTTP/1.1 303 See OtherDate: Wed, 19 Mar 2014 08:57:55 GMTContent-Type: text/turtle; qs=0.7Content-Length: 0Connection: keep-aliveServer: Virtuoso/07.10.3207 (Linux) x86_64-redhat-linux-gnu VDBAccept-Ranges: bytesTCN: choiceVary: negotiate,acceptLink: <http://mementoarchive.lanl.gov/dbpedia/timegate/http://dbpedia.org/resource/Matsuyama,_Ehime>; rel="timegate"Location: http://dbpedia.org/data/Matsuyama,_Ehime.ttl!HTTP/1.1 200 OKDate: Wed, 19 Mar 2014 08:57:56 GMTContent-Type: text/turtle; charset=UTF-8Content-Length: 40704Connection: keep-aliveServer: Virtuoso/07.10.3207 (Linux) x86_64-redhat-linux-gnu VDBExpires: Wed, 26 Mar 2014 08:51:16 GMTLink: <http://dbpedia.org/data/Matsuyama,_Ehime.xml>;……

1. request /resource/Matsuyama,_Ehime

48

Page 49: オープンデータとLinked Open Data

“Cool URIs”•リソースそのものとその表現のIRIを区別した上で適切にderefenceableにする

• 303 リダイレクト

• IRIを参照したときに適切な表現のIRIへ303でリダイレクト

•例: http://dbpedia.org/resource/Matsuyama,_Ehime

• ハッシュIRI

• ’#’付きのIRIによるリソース識別子

•例: http://www.w3.org/People/Berners-Lee/card#i

49

Page 50: オープンデータとLinked Open Data

http://dbpedia.org/resource/Matsuyama,_Ehime

represents

identifies

represents

http://dbpedia.org/data/Matsuyama,_Ehime.ttl

http://dbpedia.org/page/Matsuyama,_Ehime

identifies

identifies

50

Page 51: オープンデータとLinked Open Data

http://dbpedia.org/resource/Matsuyama,_Ehime

http://dbpedia.org/page/Matsuyama,_Ehime

http://dbpedia.org/data/Matsuyama,_Ehime.ttl

303 redirect Accept: text/html

303 redirect Accept: text/turtle

303リダイレクト例: DBpedia

51

Page 52: オープンデータとLinked Open Data

200 OK Accept: text/html

200 OK Accept: application/rdf+xml

http://www.w3.org/People/Berners-Lee/card

#以下削除

HTML Doc

RDF/XML Doc

http://www.w3.org/People/Berners-Lee/

card#i

ハッシュ例: TimBL

52

Page 53: オープンデータとLinked Open Data

303 or Hash•Hashが向いているもの

•小さく安定的な複数リソースのセット

•例: 語彙ファイル

•直接ファイルを置きたい場合

•例: foaf文書,HTML(+RDFa)文書

• 303が向いているもの

•大きなデータセット

•例: DBpedia

• データ全体を使いたい人向けに同時にデータダンプやSPARQL Endpointも提供したほうがよい

53

Page 54: オープンデータとLinked Open Data

リソースについての表現として 構造化データを返すようにする

Structured data

54

Page 55: オープンデータとLinked Open Data

シリアライズ形式•Turtle (N3)

• JSON-LD

• RDFa

• Microdata

• RDF/XML

• TriX

• TriG

• ......

55

Page 56: オープンデータとLinked Open Data

http://www.w3.org/TR/turtle/http://www.w3.org/TR/turtle/

56

Page 57: オープンデータとLinked Open Data

http://www.w3.org/TR/json-ld/

57

Page 58: オープンデータとLinked Open Data

日本語Linked Data Cloud図!

• 27データセット • 本家よりも緩い条件 • 日本にいる人・組織 • 日本語ラベルを含む • 1000トリプル以上 • dereference/データダン

プ/SPARQL Endpoint • LODクラウドかJLDCへ

のリンクhttp://linkedopendata.jp/?p=486

58

Page 59: オープンデータとLinked Open Data

LOD cloud基準

27 → 1359

Page 60: オープンデータとLinked Open Data

SPARQL

Page 61: オープンデータとLinked Open Data

クエリ言語

• データの検索や操作を行うための言語 • データモデルやDBシステムに合わせて設計

• 例: SQL

–データモデル: 関係モデル

–DBシステム: RDBMS

• LODのデータモデル: RDFグラフモデル61

Page 62: オープンデータとLinked Open Data

グラフのクエリ

• グラフの最小単位: 3つ組 (トリプル)

!

• グラフパターン 1. 完全一致

• dbp:東京都 dbp-owl:country dbp:日本 .

2. 変数によるパターンマッチ

• dbp:東京都 dbp-owl:country ?country .

3. 1と2の組み合わせ

dbp:東京都 dbp:日本dbpedia-­‐owl:country

62

Page 63: オープンデータとLinked Open Data

:Amy :Bob :Cathy

:Dan

:Jim

:Ed

:Kate

:Gil

:Flo

:Hal

:Ian

:Lee:May

:like :like

:like

:like :like

:like

:like

:dislike

:dislike

:dislike :dislike

:dislike

:dislike :dislike

:dislike

好き嫌いグラフ

63

Page 64: オープンデータとLinked Open Data

:Amy :Bob :Cathy

:Dan

:Jim

:Ed

:Kate

:Gil

:Flo

:Hal

:Ian

:Lee:May

:like :like

:like

:like :like

:like

:like

:dislike

:dislike

:dislike :dislike

:dislike

:dislike :dislike

:dislike

Amyが好きな人グラフパターン :Amy  :like  ?person  .

64

Page 65: オープンデータとLinked Open Data

:Amy :Bob :Cathy

:Dan

:Jim

:Ed

:Kate

:Gil

:Flo

:Hal

:Ian

:Lee:May

:like :like

:like

:like :like

:like

:like

:dislike

:dislike

:dislike :dislike

:dislike

:dislike :dislike

:dislike

“Amyが好きな人”が好きな人グラフパターン :Amy  :like  ?person1  .  ?person1  :like  ?person2  .

65

Page 66: オープンデータとLinked Open Data

SPARQL• LOD用クエリ言語

• SQLのような文法

• データモデル: RDF

• プロトコル: HTTP

• W3C仕様

• 2013-03-21に1.1勧告

RDB

Query

DB

ModelRDF Model

SQL

Relational Model

RDF Store

SPARQL

66

Page 67: オープンデータとLinked Open Data

SPARQLエンドポイント• SPARQLクエリを受け付ける場所

• SPARQLエンドポイントURI

• プログラムからSPARQLを使うときに指定

• 入力フォームがある場合もあり

• 例: http://ja.dbpedia.org/sparql67

Page 68: オープンデータとLinked Open Data

dbp-­‐owl:AdministraJveRegiondbp:サイボーグ009

dbp-­‐owl:  ComicsCreator

dbp:宮城県

dbp:石ノ森章太郎

rdfs:label

rdf:type

rdfs:label

dbp-­‐prop:生年

dbp-­‐owl:notableWork

dbp-­‐owl:award

dbp-­‐owl:birthPlace

rdf:type

サイボーグ009

宮城県 foaf:Person

1938石ノ森章太郎

rdf:type

rdfs:labeldbp:村井嘉浩

dbp-­‐owl:leaderName

DBpedia Japaneseのグラフ例

dbp:手塚治虫文化賞

dbp-­‐owl:Cartoon

rdf:type

68

Page 69: オープンデータとLinked Open Data

dbp-­‐owl:AdministraJveRegiondbp:サイボーグ009

dbp-­‐owl:  ComicsCreator

dbp:宮城県

dbp:石ノ森章太郎

rdfs:label

rdf:type

rdfs:label

dbp-­‐prop:生年

dbp-­‐owl:notableWork

dbp-­‐owl:award

dbp-­‐owl:birthPlace

rdf:type

サイボーグ009

宮城県 foaf:Person

1938石ノ森章太郎

rdf:type

rdfs:labeldbp:村井嘉浩

dbp-­‐owl:leaderName

dbp:手塚治虫文化賞

dbp-­‐owl:Cartoon

rdf:type

クエリ:  石ノ森章太郎の出身地  PREFIX  dbp:  <hWp://ja.dbpedia.org/resource/>  PREFIX  dbp-­‐owl:  <hWp://dbpedia.org/ontology/>  SELECT  ?birthPlace  WHERE  {      dbp:石ノ森章太郎  dbp-­‐owl:birthPlace  ?birthPlace  .  

}

69

Page 70: オープンデータとLinked Open Data

70

Page 71: オープンデータとLinked Open Data

• SELECT:  取得したい変数を指定 • SELECT  *  は全ての変数指定と同等 • 結果形式:  XML,  JSON,  CSV,  TSV,  ...  

• WHERE:    {}内にグラフパターンの組み合わせを記述 • LIMIT:    件数の制限 • 100だと1-­‐100まで取得  

• LIMITがない場合は全件取得  

• 量が多い場合はサーバに負荷をかけるので注意  • PREFIX:    URIを短縮して記述するための仕組み • dbp:東京都  =  <hWp://ja.dbpedia.org/resource/東京都>

PREFIX  dbp:  <hWp://ja.dbpedia.org/resource/>  PREFIX  dbp-­‐owl:  <hWp://dbpedia.org/ontology/>  !SELECT  ?birthPlace  WHERE  {      dbp:石ノ森章太郎  dbp-­‐owl:birthPlace  ?birthPlace  .  

}

71

Page 72: オープンデータとLinked Open Data

dbp-­‐owl:AdministraJveRegiondbp:サイボーグ009

dbp-­‐owl:  ComicsCreator

dbp:宮城県

dbp:石ノ森章太郎

rdfs:label

rdf:type

rdfs:label

dbp-­‐prop:生年

dbp-­‐owl:notableWork

dbp-­‐owl:award

dbp-­‐owl:birthPlace

rdf:type

サイボーグ009

宮城県 foaf:Person

1938石ノ森章太郎

rdf:type

rdfs:labeldbp:村井嘉浩

dbp-­‐owl:leaderName

dbp:手塚治虫文化賞

dbp-­‐owl:Cartoon

rdf:type

クエリ:  手塚治虫文化賞を受賞した漫画家  PREFIX  dbp:  <hWp://ja.dbpedia.org/resource/>  PREFIX  dbp-­‐owl:  <hWp://dbpedia.org/ontology/>  SELECT  ?creator  WHERE  {      ?creator  rdf:type  dbp-­‐owl:ComicsCreator  ;          dbp-­‐owl:award  dbp:手塚治虫文化賞  .  

}

72

Page 73: オープンデータとLinked Open Data

73

Page 74: オープンデータとLinked Open Data

dbp-­‐owl:AdministraJveRegiondbp:サイボーグ009

dbp-­‐owl:  ComicsCreator

dbp:宮城県

dbp:石ノ森章太郎

rdfs:label

rdf:type

rdfs:label

dbp-­‐prop:生年

dbp-­‐owl:notableWork

dbp-­‐owl:award

dbp-­‐owl:birthPlace

rdf:type

サイボーグ009

宮城県 foaf:Person

1938

rdf:type

rdfs:labeldbp:村井嘉浩

dbp-­‐owl:leaderName

dbp:手塚治虫文化賞

dbp-­‐owl:Cartoon

rdf:type

クエリ:  手塚治虫文化賞を受賞した漫画家の代表的な漫画  PREFIX  dbp:  <hWp://ja.dbpedia.org/resource/>  PREFIX  dbp-­‐owl:  <hWp://dbpedia.org/ontology/>  SELECT  ?creatorName  ?comicName  WHERE  {      ?creator  a  dbp-­‐owl:ComicsCreator  ;  dbp-­‐owl:award  dbp:手塚治虫文化賞  ;  

         dbp-­‐owl:notableWork  ?comic  ;  rdfs:label  ?creatorName  .      ?comic  a  dbp-­‐owl:Cartoon  ;  rdfs:label  ?comicName  .  }

石ノ森章太郎74

Page 75: オープンデータとLinked Open Data

75

Page 76: オープンデータとLinked Open Data

http://datahub.io/dataset?q=&res_format=api%2Fsparql76

Page 77: オープンデータとLinked Open Data

http://sparqles.okfn.org/77

Page 78: オープンデータとLinked Open Data

Yokohama Art Lod

エンドポイント !

(RDF取り込み・API提供)

横浜美術館

大佛次郎記念館

アート・ナビ

ACYアーティストアーカイブ

市民ギャラリーあざみ野

78

Page 80: オープンデータとLinked Open Data

© 2013 Scholex co.,ltd. and ATR Creative Inc. © 2013 ATR Creative Inc., Linked Open Data Initiative

80

Page 81: オープンデータとLinked Open Data

81

Page 82: オープンデータとLinked Open Data

82http://statdb.nstac.go.jp/lod/sparql

Page 83: オープンデータとLinked Open Data

83http://statdb.nstac.go.jp/wp/wp-content/uploads/2013/12/sac-spec.pdf

Page 84: オープンデータとLinked Open Data

PREFIX  org:  <hWp://www.w3.org/ns/org#>  PREFIX  owl:  <hWp://www.w3.org/2002/07/owl#>  PREFIX  sac:  <hWp://statdb.nstac.go.jp/lod/sac/>  SELECT  ?changeEvent  ?p  ?o    WHERE  {      sac:C40130  owl:sameAs  ?currentCode  .      ?currentCode  org:resultedFrom  ?changeEvent  .      ?changeEvent  ?p  ?o  .  }  LIMIT  100

84

Page 85: オープンデータとLinked Open Data

85

Page 86: オープンデータとLinked Open Data

86

Page 87: オープンデータとLinked Open Data

87

Page 88: オープンデータとLinked Open Data

88