オープンデータとLinked Open Data

Preview:

DESCRIPTION

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

Citation preview

オープンデータと Linked Open Data

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

1

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

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

• LODACプロジェクト

• DBpedia Japanese

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

• CKAN

• Open DATA METI

• コミュニティ

• Linked Data勉強会

• Linked Open Data チャレンジ Japan

• CKAN日本語

• Data for Japan2

Linked  DataOpen  Data

3

Open Data

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

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

5

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

• 発見できる

• アクセスできる

• 閲覧できる

• 印刷できる

• コピーできる

• 変更できる

• 共有できる

• アプリで使える

• リンクできる

• ...

6

7

◯ ☓

8

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

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

9

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

•オープンライセンス

•アクセス

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

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

10

11http://odfaq.info/

Linked Data

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

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

•アクセス方法の差異

•ファイル形式の差異

•データソースの差異

•語彙の差異

•事物の区別と同一性

13

14

作品

作品

書誌

15

友人

在住

人物

16

舞台

観光地

観光地名前の由来

観光

17

舞台

観光地

観光地名前の由来

作品

作品

友人

在住

書誌人物

観光

18

舞台

観光地

観光地名前の由来

作品

作品

在住

書誌

人物

観光

友人

同じ

同じ

19

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

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

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

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

IRI + HTTP + HTML20

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

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

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

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

子供

執筆

発行日

誕生日出版社

所在地

"Things,  not  Strings"    by  Google

IRI + HTTP + RDF21

22

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

1 2 3

23

Linked Open DataOpen Data

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

•共通項がある

•関係がある

•由来がある

•変更履歴がある

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

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

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

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

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

•グローバル識別子

•他のデータを参照可能

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

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

•関係するデータの発見

•データ価値の増大

25

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

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

• 作成コスト

•モデリング

•既存語彙の知識

•メンテナンスコスト

• IRI

• リンク切れ

26

27

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

http://dbpedia.org

28

http://dbpedia.org/resource/Japan29

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

http://ja.dbpedia.org31

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

OS Linked Data

• 地理データの一部

• 50K地名辞典

• 郵便番号

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

33

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

34

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

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

35

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

36

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

IRIID

38

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

識別

http://viaf.org/viaf/56614190

39

IntegrationIRI + 型付リンク

40

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/夏目漱石> .

識別

識別

DiscoveryDerefereceable IRI (HTTP)

42

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

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

represents

identifies

44

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

represents

identifies

represents

45

Content-negotiation

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

•例: JPEGとSVGの画像

46

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

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

“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

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

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

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

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

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

•例: 語彙ファイル

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

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

• 303が向いているもの

•大きなデータセット

•例: DBpedia

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

53

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

Structured data

54

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

• JSON-LD

• RDFa

• Microdata

• RDF/XML

• TriX

• TriG

• ......

55

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

56

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

57

日本語Linked Data Cloud図!

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

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

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

58

LOD cloud基準

27 → 1359

SPARQL

クエリ言語

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

• 例: SQL

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

–DBシステム: RDBMS

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

グラフのクエリ

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

!

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

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

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

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

3. 1と2の組み合わせ

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

62

: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

: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

: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

SPARQL• LOD用クエリ言語

• SQLのような文法

• データモデル: RDF

• プロトコル: HTTP

• W3C仕様

• 2013-03-21に1.1勧告

RDB

Query

DB

ModelRDF Model

SQL

Relational Model

RDF Store

SPARQL

66

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

• SPARQLエンドポイントURI

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

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

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

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

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

70

• 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

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

73

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

75

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

http://sparqles.okfn.org/77

Yokohama Art Lod

エンドポイント !

(RDF取り込み・API提供)

横浜美術館

大佛次郎記念館

アート・ナビ

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

市民ギャラリーあざみ野

78

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

80

81

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

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

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

85

86

87

88