Más contenido relacionado La actualidad más candente (6) Similar a オープンデータとLinked Open Data (20) Más de Fumihiro Kato (20) オープンデータとLinked Open Data2. 加藤 文彦 (かとうふみひろ)
• (共)情報・システム研究機構 特任研究員
• LODACプロジェクト
• DBpedia Japanese
• NPO法人 リンクト・オープン・データ・イニシアティブ 理事
• CKAN
• Open DATA METI
• コミュニティ
• Linked Data勉強会
• Linked Open Data チャレンジ Japan
• CKAN日本語
• Data for Japan
2
10. オープンの定義 第2版(案)
• オープンライセンス
• アクセス
• オープンフォーマット
• https://github.com/okfn/opendefinition/blob/master/source/open-definition-
2.0/open-definition-2.0.en.markdown
10
13. Linked Data
• Web技術でデータを公開・共有・統合するためのベストプ
ラクティス
• 複数のデータを組み合わせて使いやすくする
• アクセス方法の差異
• ファイル形式の差異
• データソースの差異
• 語彙の差異
• 事物の区別と同一性
13
19. 舞台
観光地
観光地
名前の由来
作品
作品
在住
書誌
人物
観光
友人
同じ
同じ
19
20. Webの原則
1. IRIをHTML文書の識別
子として使う
2. IRIにはhttpスキームを
使う
3. IRIを見るとHTML文書
が返ってくる
4. HTML文書には他のIRI
へのリンクがある
IRI + HTTP + HTML
20
21. Linked Dataの原則
1. IRIを事物(Thing)の識別
子として使う
執筆
子供
2. IRIにはhttpスキームを
発行日
使う
3. IRIを見ると事物の構造
化データが返ってくる
4. データには他のIRIへの
型付リンクがある
誕生日出版社
所在地
"Things,
not
Strings"
by
Google
IRI + HTTP + RDF
21
24. 4-5星への道
• 識別するものがある
• 共通項がある
• 関係がある
• 由来がある
• 変更履歴がある
• 例: 名前,コード,カテゴ
リー,...
http://www.ordnancesurvey.co.uk/business-and-24 government/products/opendata-products.html
25. 4-5星のメリット
• アプリ・ツールが使い回しやすくなる
• データのモデルとアクセスが共通
• データが使い回しやすくなる
• グローバル識別子
• 他のデータを参照可能
• データの一部分だけ利用
• ネットワーク効果を得られる
• 関係するデータの発見
• データ価値の増大
25
26. 4-5星のデメリット
• 学習コスト
• グラフ >>>> 木 >> 表
• 作成コスト
• モデリング
• 既存語彙の知識
• メンテナンスコスト
• IRI
• リンク切れ
26
27. 27
LOD cloud diagram 2014 by Max Schmachtenberg et al.
http://data.dws.informatik.uni-mannheim.de/lodcloud/2014/
33. OS Linked Data
• 地理データの一部
• 50K地名辞典
• 郵便番号
• 境界線
http://data.ordnancesurvey.co.uk/
33
47. 1. request /resource/Matsuyama,_Ehime
2. return an HTML document for /resource/Matsuyama,_Ehime
Web Browser http://dbpedia.org
% curl -LIH 'Accept: text/html' http://dbpedia.org/resource/Matsuyama,_Ehime
HTTP/1.1 303 See Other
Date: Wed, 19 Mar 2014 08:56:18 GMT
Content-Type: text/html; charset=UTF-8
Content-Length: 0
Connection: keep-alive
Server: Virtuoso/07.10.3207 (Linux) x86_64-redhat-linux-gnu VDB
Location: http://dbpedia.org/page/Matsuyama,_Ehime
!
HTTP/1.1 200 OK
Date: Wed, 19 Mar 2014 08:56:18 GMT
Content-Type: text/html; charset=UTF-8
Content-Length: 109160
Connection: keep-alive
Vary: Accept-Encoding
Server: Virtuoso/07.10.3207 (Linux) x86_64-redhat-linux-gnu VDB
Expires: Wed, 26 Mar 2014 08:47:42 GMT
Link: <http://dbpedia.org/data/Matsuyama,_Ehime.rdf>;
……
47
48. 1. request /resource/Matsuyama,_Ehime
2. return a turtle document for /resource/Matsuyama,_Ehime
LOD Agent http://dbpedia.org
% curl -LIH 'Accept: text/turtle' http://dbpedia.org/resource/Matsuyama,_Ehime
HTTP/1.1 303 See Other
Date: Wed, 19 Mar 2014 08:57:55 GMT
Content-Type: text/turtle; qs=0.7
Content-Length: 0
Connection: keep-alive
Server: Virtuoso/07.10.3207 (Linux) x86_64-redhat-linux-gnu VDB
Accept-Ranges: bytes
TCN: choice
Vary: negotiate,accept
Link: <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 OK
Date: Wed, 19 Mar 2014 08:57:56 GMT
Content-Type: text/turtle; charset=UTF-8
Content-Length: 40704
Connection: keep-alive
Server: Virtuoso/07.10.3207 (Linux) x86_64-redhat-linux-gnu VDB
Expires: Wed, 26 Mar 2014 08:51:16 GMT
Link: <http://dbpedia.org/data/Matsuyama,_Ehime.xml>;
……
48
49. “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
52. 200 OK
Accept: text/html
http://www.w3.org/People/
Berners-Lee/card
200 OK
Accept: application/rdf+xml
#以下削除
HTML Doc
RDF/XML Doc
http://www.w3.org/
People/Berners-Lee/
card#i
ハッシュ例: TimBL
52
53. 303 or Hash
• Hashが向いているもの
• 小さく安定的な複数リソースのセット
• 例: 語彙ファイル
• 直接ファイルを置きたい場合
• 例: foaf文書,HTML(+RDFa)文書
• 303が向いているもの
• 大きなデータセット
• 例: DBpedia
• データ全体を使いたい人向けに同時にデータダンプやSPARQL
Endpointも提供したほうがよい
53
55. シリアライズ形式
• Turtle (N3)
• JSON-LD
• RDFa
• Microdata
• RDF/XML
• TriX
• TriG
• ......
55
58. 日本語Linked Data Cloud図
!
• 27データセット
• 本家よりも緩い条件
• 日本にいる人・組織
• 日本語ラベルを含む
• 1000トリプル以上
• dereference/データダン
プ/SPARQL Endpoint
• LODクラウドかJLDCへ
のリンク
http://linkedopendata.jp/?p=486
58
62. グラフのクエリ
• グラフの最小単位: 3つ組 (トリプル)
dbpedia-‐owl:country
dbp:東京都dbp:日本
!
• グラフパターン
1. 完全一致
• dbp:東京都 dbp-owl:country dbp:日本 .
2. 変数によるパターンマッチ
• dbp:東京都 dbp-owl:country ?country .
3. 1と2の組み合わせ
62
63. 好き嫌いグラフ
:Amy :Bob :Cathy
:Dan
:Jim
:Ed
:Kate
:dislike
:dislike :dislike
:Gil
:Flo
:Hal
:Ian
:Lee
:May
:like :like
:like
:like :like
:like
:like
:dislike
:dislike
:dislike :dislike
:dislike
63
64. :Amy :Bob :Cathy
:Dan
:Jim
:Ed
:Kate
:dislike
:dislike :dislike
:Gil
:Flo
:Hal
:Ian
:Lee
:May
:like :like
:like
:like :like
:like
:like
:dislike
:dislike
:dislike :dislike
:dislike
Amyが好きな人
グラフパターン
:Amy
:like
?person
.
64
65. “Amyが好きな人”が好きな人
:Amy :Bob :Cathy
:Dan
:Jim
:Ed
:Kate
:dislike
:dislike :dislike
:Gil
:Flo
:Hal
:Ian
:Lee
:May
:like :like
:like
:like :like
:like
:like
:dislike
:dislike
:dislike :dislike
:dislike
グラフパターン
:Amy
:like
?person1
.
?person1
:like
?person2
.
65
66. SPARQL
• LOD用クエリ言語
• SQLのような文法
• データモデル: RDF
• プロトコル: HTTP
• W3C仕様
• 2013-03-21に1.1
勧告
RDB
Query
DB
SPARQL
RDF Model
Model
SQL
Relational
Model
RDF Store
66
68. DBpedia Japaneseのグラフ例
dbp-‐owl:AdministraJveRegion
rdfs:label
dbp:サイボーグ009
dbp-‐owl:Cartoon
dbp-‐owl:
ComicsCreator
dbp:宮城県
dbp-‐owl:notableWork
dbp:石ノ森章太郎
rdf:type
rdfs:label
dbp-‐prop:生年
rdf:type
dbp-‐owl:award
dbp-‐owl:birthPlace
rdf:type
サイボーグ009
宮城県foaf:Person
1938
rdfs:label
石ノ森章太郎
dbp-‐owl:leaderName
dbp:村井嘉浩
dbp:手塚治虫
文化賞
rdf:type
68
69. dbp-‐owl:AdministraJveRegion
rdfs:label
dbp:サイボーグ009
dbp-‐owl:Cartoon
dbp-‐owl:
ComicsCreator
dbp:宮城県
dbp-‐owl:notableWork
dbp:石ノ森章太郎
rdf:type
rdfs:label
dbp-‐prop:生年
rdf:type
dbp-‐owl:award
dbp-‐owl:birthPlace
rdf:type
サイボーグ009
宮城県foaf:Person
1938
rdfs:label
石ノ森章太郎
dbp-‐owl:leaderName
dbp:村井嘉浩
dbp:手塚治虫
文化賞
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
71. PREFIX
dbp:
<hWp://ja.dbpedia.org/resource/>
PREFIX
dbp-‐owl:
<hWp://dbpedia.org/ontology/>
!
SELECT
?birthPlace
WHERE
{
dbp:石ノ森章太郎
• SELECT:
dbp-‐owl:birthPlace
?birthPlace
.
取得したい変数を指定
• SELECT
*
は全ての変数指定と同等
• 結果形式:
XML,
JSON,
CSV,
TSV,
...
• WHERE:
{}内にグラフパターンの組み合わせを記述
• LIMIT:
件数の制限
• 100だと1-‐100まで取得
• LIMITがない場合は全件取得
• 量が多い場合はサーバに負荷をかけるので注意
• PREFIX:
URIを短縮して記述するための仕組み
• dbp:東京都
=
<hWp://ja.dbpedia.org/resource/東京都>
}
71
72. クエリ:
手塚治虫文化賞を受賞した漫画家
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:手塚治虫文化賞
dbp-‐owl:AdministraJveRegion
rdfs:label
dbp:サイボーグ009
dbp-‐owl:Cartoon
dbp-‐owl:
ComicsCreator
dbp:宮城県
dbp-‐owl:notableWork
dbp:石ノ森章太郎
rdf:type
rdfs:label
dbp-‐prop:生年
rdf:type
dbp-‐owl:award
dbp-‐owl:birthPlace
rdf:type
サイボーグ009
宮城県foaf:Person
1938
rdfs:label
石ノ森章太郎
dbp-‐owl:leaderName
dbp:村井嘉浩
dbp:手塚治虫
文化賞
rdf:type
.
}
72
74. クエリ:
手塚治虫文化賞を受賞した漫画家の代表的な漫画
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:AdministraJveRegion
rdfs:label
dbp:サイボーグ009
dbp-‐owl:Cartoon
dbp-‐owl:
ComicsCreator
dbp:宮城県
dbp-‐owl:notableWork
dbp:石ノ森章太郎
rdf:type
rdfs:label
dbp-‐prop:生年
dbp-‐owl:award
dbp-‐owl:birthPlace
rdf:type
サイボーグ009
宮城県foaf:Person
1938
rdf:type
rdfs:label
dbp-‐owl:leaderName
dbp:村井嘉浩
dbp:手塚治虫
文化賞
rdf:type
;
dbp-‐owl:notableWork
?comic
;
rdfs:label
?creatorName
.
?comic
a
dbp-‐owl:Cartoon
;
rdfs:label
?comicName
.
}
石ノ森章太郎
74
78. Yokohama Art Lod
エンドポイント
! (RDF取り込み・API提供)
横浜美術館
大佛次郎記念館
アート・ナビ
市民ギャラリーあざみ野
ACYアーティストアーカイブ
78
80. © 2013 Scholex co.,ltd. and ATR Creative Inc. © 2013 ATR Creative Inc., Linked Open Data Initiative
80
84. 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