0
第5回AIツール入門講座
Linked Open Dataの現状
とその活用
(共)情報・システム研究機構
加藤文彦
2013-12-16

1
加藤 文彦
•

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

•
•
•

LODACプロジェクト
DBpedia Japanese

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

•
•
•

(かとうふみひろ)

CKAN
O...
Raw Data
Now!

ティム・バーナーズ=リーが示す次のウェブ
http://www.ted.com/talks/tim_berners_lee_on_the_next_web.html

オープンデータとマッシュアップで変わる世界
h...
Open	
  Data

Linked	
  Data

(オープンライセンス)

(データのWeb)

4
Open	
  Data

Linked	
  Data

(オープンライセンス)

(データのWeb)

Reuse

5
Open

Data

6
Open (Data) License

7
データやコンテンツがオープンであるというの
は,クレジット表示と/またはライセンスの継承を
するくらいの条件で,誰もが自由に利用,再利
用,再配布できるということである.
The	
  Open	
  Defini+on	
  -­‐	
  h....
自由な利用・再利用・再配布

• 発見できる

• 変更できる

• アクセスできる

• 共有できる

• 閲覧できる

• アプリで使える

• 印刷できる

• リンクできる

• コピーできる

• ...

9
⃝ ☓
10
Open Government Data

11
http://www.whitehouse.gov/the-press-office/2013/05/09/executive-order-making-open-and-machine-readable-new-default-governme...
http://project-open-data.github.io/
13
https://www.gov.uk/government/publications/open-data-charter/g8-open-data-charter-and-technical-annex
14
http://www.mofa.go.jp/mofaj/gaiko/page23_000044.html

15
何故?
• 公開者
• 透明性, 協働, 活性化, 効率化, 価値向
上, ...

• 利用者
• 利便性, 検証, 協働, 利活用, ビジネ
ス, ...

16
17
http://data.gov.uk
18
http://data.gov.uk/data/search
19
http://www.city.sabae.fukui.jp/pageview.html?id=11552

20
http://fukuno.jig.jp/2013/opendatamap
21
http://datameti.go.jp
22
http://datameti.go.jp/data/dataset/statistics_kougyou_2010
23
24
25
by DPADM/UMU, OGDCE Toolkit

26
http://spending.jp

27
CKAN
•

FLOSSのデータポータルソフトウェア

•
•
•
•
•
•
•
•
•

Open Knowledge Foundation作
最新版: v2.1
AGPL v3.0
http://github.com/okfn/ckan...
http://datahub.io

29
30
powered by recline.js
http://reclinejs.com/
31
Linked

Data

32
http://data.gov.uk/linked-data

33
Web技術でデータを
公開・共有するための方法論

34
35
ライセンス データフォーマット
1

2

データアクセス
データモデル
3

36
4-5星への道
• データのモデルとアクセスを共通化
• アプリが使い回しやすくなる
• データ同士が参照可能
• データが使い回しやすくなる
37
4-5星への道
• 識別するものがある
• 共通項がある
• 関係がある
• 由来がある
• 変更履歴がある
• 例: 名前,コード,カテゴリー,...
38
39
書誌

作品
作品

40
人物
友人

在住

41
名前の由来
観光地
観光地

舞台

観光

42
人物

書誌

友人

作品

在住

名前の由来
観光地

作品

観光地

舞台

観光

43
人物
友人
在住

同じ

同じ
作品

作品
観光地
名前の由来

観光地

舞台

書誌

同じ

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

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

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

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

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

2.IRIにはhttpスキームを

執筆
子供
発行日

使う

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

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

ID

Discovery

Integration

47
構造化データ
Reuse

48
ID

IRI

49
27

50
ISO3166-2:JP
大阪府

27
工業統計コード
業務用機械器具製造業

ガンバ大阪
内田達也

51
http://www.iso.org/3166-2/jp/27

IDをIRIにすると世界で
ユニークなIDになる

ISO3166-2:JP
大阪府

27
工業統計コード
業務用機械器具製造業
http://www.meti.go.jp/i...
Derefereceable IRI (HTTP)
Discovery

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

54
Content-negotiation
• あるリソースに対する表現をHTTPリク
エストで折衝する仕組み

• 例: JPEGとSVGの画像

55
1. request /resource/Japan

2. return an HTML document for /resource/Japan
http://dbpedia.org

Web Browser

% curl -ILH 'A...
1. request /resource/Japan

2. return a turtle document for /resource/Japan
LOD Agent

http://dbpedia.org

@prefix yago-re...
Cool URIs
•
•

実体とその表現のIRIも分離
2つの代表的なソリューション

•

303 See Other

•
•

実体IRIを参照したときに適切なIRIへ303でリダイレ
クトする

ハッシュIRI

•
•

実体を ...
Integration

IRI + 型付リンク

59
施設データテーブル
ID

name

tel

zipcode

prefecture

001

市役所

0778-51-2200

916-8666

福井県

60
施設データテーブル
ID

name

tel

zipcode

prefecture

001

市役所

0778-51-2200

916-8666

18

IDでjoin
ID

name

population

18

福井県
...
施設データテーブル
ID

name

tel

zipcode

prefecture

001

市役所

0778-51-2200

916-8666

http://.../3166/jp/18

prefectureのデータ
ID

...
RDF

Reuse

ID

Discovery

Integration

全てを含んだグラフデータモデル
63
執筆
子供
発行日
誕生日

出版社

所在地

64
執筆
子供
発行日
誕生日

出版社

所在地

65
シリアライズ形式
•
•
•
•
•
•
•
•

Turtle (N3)
JSON-LD
RDFa
Microdata
RDF/XML
TriX
TriG
......

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

67
http://json-ld.org/

68
69
https://developers.google.com/gmail/schemas/reference/formats/json-ld

70
Hellenic
FBD
Hellenic
PD

Crime
Reports
UK

Crime
(EnAKTing)

Ox
Points

NHS
(EnAKTing)

Ren.
Energy
Generators

Open
Elec...
http://datahub.io/dataset?q=&groups=lodcloud
72
http://dbpedia.org

73
http://dbpedia.org/resource/Japan
74
http://wiki.dbpedia.org/Internationalization/Chapters
75
http://ja.dbpedia.org
76
77
Japanese Linked Data Cloud
• 21データセット
• 本家よりも緩い条件
• 1000トリプル以上
• dereferenceかデータダ
ンプかSPARQL
Endpoint
• 日本語ラベルを含む
• 他のLODクラ...
LOD cloud criteria

21 → 9
79
http://linkedgeodata.org

80
http://linkedgeodata.org/triplify/node355845257

81
http://browser.linkedgeodata.org/
82
OS Linked Data
• 地理データの一部
• 50K地名辞典
• 郵便番号
• 境界線

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

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

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

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

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

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

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

http://data...
ONS linked data
• 統計データの基盤としてのジオデータ
• 領域単位
• 行政,衛生,選挙,郵便,...
• 境界線
•

不一致,変更

http://statistics.data.gov.uk/

88
http://statistics.data.gov.uk/explore?URI=http%3A%2F%2Fstatistics.data.gov.uk%2Fid%2Fstatistical-geography%2FE09000001

89
http://statistics.data.gov.uk/id/statistical-geography/E09000001

90
http://linkedlifedata.com/

91
92
93
SPARQL

94
クエリ言語
• データの検索や操作を行うための言語
• データモデルやDBシステムに合わせて設計
• 例: SQL
– データモデル: 関係モデル
– DBシステム: RDBMS
• LODのデータモデル: グラフモデル
95
グラフのクエリ
• グラフの最小単位: 3つ組 (トリプル)
dbp:東京都

dbpedia-­‐owl:country

dbp:日本

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

2.

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

3.

dbp:東京...
好き嫌いグラフ
:like

:Amy

:like

:Bob

:dislike

:like
:dislike

:Dan
:dislike

:Flo

:Ed
:dislike

:dislike

:Gil

:like

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

:Amy

:like

:Bob

:dislike

:like
:dislike

:Dan
:dislike

:Flo

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

:Amy

:like

:Bob

:dislik...
SPARQL
• LOD用クエリ言語
• SQLのような文法

SQL

SPARQL

Query

RDB

RDF Store

DB

Relational
Model

RDF
Model

Model

• データモデル: RDF
...
SPARQLエンドポイント
• SPARQLクエリを受け付け
る場所
• SPARQLエンドポイントURI
• プログラムからSPARQLを使
うときに指定

• 入力フォームがある場合
もあり
• 例: http://ja.dbpedia.o...
DBpedia Japaneseのグラフ例

dbp-­‐owl:Cartoon

サイボーグ009
rdfs:label

dbp-­‐owl:AdministraJveRegion

dbp:サイボーグ009

rdf:type
rdfs:...
クエリ:	
  石ノ森章太郎の出身地
PREFIX	
  dbp:	
  <h;p://ja.dbpedia.org/resource/>
PREFIX	
  dbp-­‐owl:	
  <h;p://dbpedia.org/ontology/...
104
PREFIX	
  dbp:	
  <h;p://ja.dbpedia.org/resource/>
PREFIX	
  dbp-­‐owl:	
  <h;p://dbpedia.org/ontology/>
SELECT	
  ?birthP...
クエリ:	
  手塚治虫文化賞を受賞した漫画家
PREFIX	
  dbp:	
  <h;p://ja.dbpedia.org/resource/>
PREFIX	
  dbp-­‐owl:	
  <h;p://dbpedia.org/onto...
107
クエリ:	
  手塚治虫文化賞を受賞した漫画家の代表的な漫画
PREFIX	
  dbp:	
  <h;p://ja.dbpedia.org/resource/>
PREFIX	
  dbp-­‐owl:	
  <h;p://dbpedia.o...
109
SPARQL 1.0
• データ取得
• SELECT
• ASK
• DESCRIBE
• CONSTRUCT
• ほぼどこでも使える
110
SELECT
例) 任意の3つ組を100件取得
SELECT ?s ?p ?o
WHERE {
?s ?p ?o .
}
LIMIT 100
111
ASK
• ASK:	
  	
  グラフパターンにマッチするものがあるか
• 結果yes	
  か	
  no	
  
例)	
  石ノ森章太郎の出身地が含まれているかどうか

PREFIX	
  dbp:	
  <hYp://ja.dbpe...
DESCRIBE
• DESCRIBE: リソースに関するグラフを取得
• 実装依存
• 多くの場合は対象リソースをsubjectかobjectに
含む3つ組の集合
• 結果形式: RDF/XML, Turtle, …
例) http://ja...
CONSTRUCT
• CONSTRUCT:	
  	
  新しいグラフを作成して取得
• 結果形式:	
  RDF/XML,	
  Turtle,	
  …
例)	
  foaf:nameプロパティの3つ組をそのまま取得

PREFIX	
 ...
Named Graph
• 3つ組の集合を区別
したいという要求

• データソースや
ファイルの違い

• Triple(3つ組)では
なくQuad(4つ組)

115
Named Graphの例
PREFIX	
  dcndl:	
  h;p://ndl.go.jp/dcndl/terms/>
PREFIX	
  rdfs:	
  <h;p://www.w3.org/2000/01/rdf-­‐schema#...
SPARQL 1.1
•

データ管理

•

作成・更新・削除用句

•
•
•
•
•

サービス記述
Graph Store HTTP Protocol

結果形式の追加: JSON, CSV, TSV
様々な追加機能

•
•

INS...
プロパティパス
• 通常の3つ組パターン: ?s ?p ?o
• ?oの省略や?pの繰り返し,?pの逆向き
等を記述可能
PREFIX	
  dbp:	
  <h;p://ja.dbpedia.org/resource/>
PREFIX	
  ...
プロパティパスの例
• ?s foaf:knows/foaf:knows ?o
• ?s foaf:knows+ ?o
• ?s ^foaf:knows ?o
• ?s foaf:name¦rdfs:label ?o
119
集約
• COUNT: 個数
• SUM: 合計
• AVG: 平均
• MIN: 最小値
• MAX: 最大値
• GROUP BY:
120
COUNT
例)	
  森薫リソースのオブジェクトの数
SELECT	
  (COUNT(?o)	
  AS	
  ?count)
WHERE	
  {
	
  	
  <hYp://dbpedia.org/resource/Kaoru_Mor...
GROUP BY
例)	
  クラス毎のインスタンスの数上位100件を降順
SELECT	
  ?class	
  (COUNT(?instance)	
  AS	
  ?noOfInstances)
WHERE	
  {	
  
	
  	
...
サブクエリ
例)	
  クラス毎のインスタンスの数の平均
SELECT	
  (AVG(?noOfInstances)	
  AS	
  ?avg)
WHERE	
  {
	
  	
  {
	
  	
  	
  	
  SELECT	
  ...
Federatedクエリ
•
•

サブクエリの延長
SERVICE句

•
•
•

クエリを直接投げたエンドポイント以外を指定し
てクエリを投げられる
2ヶ所以上のSPARQLエンドポイントに対してク
エリを発行して自動的に結果を結合

ま...
SPARQL Endpointリスト

•

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

•

http://labs.mondeca.com/sparqlEndpointsSt...
http://datahub.io/dataset?q=&res_format=api%2Fsparql
126
http://labs.mondeca.com/sparqlEndpointsStatus/
127
128
http://lod.ac/apps/lodac_location/
129
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>
SELECT DISTINC...
http://lod.ac/apps/yas

131
132
133
© 2013 Scholex co.,ltd. and ATR Creative Inc.

© 2013 ATR Creative Inc., Linked Open Data Initiative

134
Tool

135
ライブラリ

136
RDFライブラリ
• Java: Jena,
Sesame

• C: Redland
• C#: dotNetRDF
• Ruby: RDF.rb
• PHP: ARC2,
Graphite

• Python: rdflib
• Perl: ...
SPARQLクライアント
ライブラリ
•
•
•
•
•
•
•
•
•

Ruby: sparql
Python: SPARQLWrapper
Java: ARQ
C: Rasqal
R: SPARQL
Haskell: hsparql
等々...
sparql - RDF.rb

$ gem install sparql

139
Querying a SPARQL
Endpoint
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

#!/usr/bin/env ruby
# -*- coding: utf-8 -*require 'linkedd...
R SPARQL
> install.packages( SPARQL )

141
> library(SPARQL)
> endpoint <- 'http://dbpedia.org/sparql'
> q <- "SELECT ?class (count(?instance) AS ?noOfInstances)
WHE...
Sgvizler
•

Javascript/jQueryの可視化ライブラリ

•
•
•
•
•

https://code.google.com/p/sgvizler/
基本的にSPARQL埋め込むだけ
主にGoogle Visualiza...
144
使い方
• div要素に埋め込む
• 直接Javascriptを書く
• クエリフォームから入力する

145
SPARQL Timeliner
• OKFNのTimeliner(現
TimeMapper)をSPARQL対応

•

http://uedayou.net/
SPARQLTimeliner/

•

http://www.slideshar...
OpenRefine
•
•

Freebase Gridworks, GoogleRefine,...
データと遊ぶためのツール (一部要拡張)

•

インポート形式:

*SV, Excel, JSON, XML, RDF/XML

Goog...
Reconciliation
•

ラベル(と付加情報)にマッチ
する潜在的なエンティティ
リストを推薦

•
•

Apple社 vs フルーツの
apple vs New York City

サービス

•
•
•

Freebase
R...
149
150
http://linkdata.org/

151
Query

SQL

SPARQL

DB

RDB

RDF Store

Model

Relational Model

RDF Model

152
RDF Store
•

TripleStore /
QuadStore / Graph DB

•
•

SPARQLエンドポイント
オプション

•
•
•
•

Bigdata®

RDFS/OWL Inference
Full text...
http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/
154
https://github.com/openlink/virtuoso-opensource
155
Virtuoso Open Source
• http://virtuoso.openlinksw.com/dataspace/dav/wiki/
Main/

• バイナリとソースあり
• ソースからインストール
$ tar xvzf vir...
http://localhost:8890/conductor/

157
http://localhost:8890/conductor/

158
159
160
http://localhost:8890/sparql

161
第6回LODチャレンジデー
• 2013-11-24 パートナーリソース活用ハッ
カソン

• サーバーサイドコース
• クラウドでサーバ立ち上げからVirtuoso
インストール,Rubyでのアプリまで

• https://github.c...
http://lodcu.cs.chubu.ac.jp/SparqlEPCU/
163
•ツール・ライブラリまとめ
h;p://linkeddata.jp/wiki/ツール

•SPARQLクエリ例
h;p://goo.gl/bPSHp

•RDF.rbの資料
h;p://www.slideshare.net/fumihiro/
...
http://lod.sfc.keio.ac.jp

165
166
Upcoming SlideShare
Loading in...5
×

第5回AIツール入門講座 Linked Open Dataの現状とその活用

1,912

Published on

2013-12-26に行われた人工知能学会主催 第5回AIツール入門講座 Linked Open Dataの現状とその活用 の資料
第4回(http://www.slideshare.net/fumihiro/4-24004224) を多少変更したもの.

Published in: Technology
2 Comments
8 Likes
Statistics
Notes
No Downloads
Views
Total Views
1,912
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
34
Comments
2
Likes
8
Embeds 0
No embeds

No notes for slide

Transcript of "第5回AIツール入門講座 Linked Open Dataの現状とその活用"

  1. 1. 第5回AIツール入門講座 Linked Open Dataの現状 とその活用 (共)情報・システム研究機構 加藤文彦 2013-12-16 1
  2. 2. 加藤 文彦 • (共)情報・システム研究機構 特任研究員 • • • LODACプロジェクト DBpedia Japanese NPO リンクト・オープン・データ・イニシアティブ 理事 • • • (かとうふみひろ) CKAN Open DATA METI コミュニティ • • • Linked Data勉強会 Linked Open Data チャレンジ Japan CKAN日本語 2
  3. 3. Raw Data Now! ティム・バーナーズ=リーが示す次のウェブ http://www.ted.com/talks/tim_berners_lee_on_the_next_web.html オープンデータとマッシュアップで変わる世界 http://www.ted.com/talks/tim_berners_lee_the_year_open_data_went_worldwide.html 3
  4. 4. Open  Data Linked  Data (オープンライセンス) (データのWeb) 4
  5. 5. Open  Data Linked  Data (オープンライセンス) (データのWeb) Reuse 5
  6. 6. Open Data 6
  7. 7. Open (Data) License 7
  8. 8. データやコンテンツがオープンであるというの は,クレジット表示と/またはライセンスの継承を するくらいの条件で,誰もが自由に利用,再利 用,再配布できるということである. The  Open  Defini+on  -­‐  h.p://opendefini+on.org 8
  9. 9. 自由な利用・再利用・再配布 • 発見できる • 変更できる • アクセスできる • 共有できる • 閲覧できる • アプリで使える • 印刷できる • リンクできる • コピーできる • ... 9
  10. 10. ⃝ ☓ 10
  11. 11. Open Government Data 11
  12. 12. http://www.whitehouse.gov/the-press-office/2013/05/09/executive-order-making-open-and-machine-readable-new-default-government12
  13. 13. http://project-open-data.github.io/ 13
  14. 14. https://www.gov.uk/government/publications/open-data-charter/g8-open-data-charter-and-technical-annex 14
  15. 15. http://www.mofa.go.jp/mofaj/gaiko/page23_000044.html 15
  16. 16. 何故? • 公開者 • 透明性, 協働, 活性化, 効率化, 価値向 上, ... • 利用者 • 利便性, 検証, 協働, 利活用, ビジネ ス, ... 16
  17. 17. 17
  18. 18. http://data.gov.uk 18
  19. 19. http://data.gov.uk/data/search 19
  20. 20. http://www.city.sabae.fukui.jp/pageview.html?id=11552 20
  21. 21. http://fukuno.jig.jp/2013/opendatamap 21
  22. 22. http://datameti.go.jp 22
  23. 23. http://datameti.go.jp/data/dataset/statistics_kougyou_2010 23
  24. 24. 24
  25. 25. 25
  26. 26. by DPADM/UMU, OGDCE Toolkit 26
  27. 27. http://spending.jp 27
  28. 28. CKAN • FLOSSのデータポータルソフトウェア • • • • • • • • • Open Knowledge Foundation作 最新版: v2.1 AGPL v3.0 http://github.com/okfn/ckan Python+JS+PostgreSQL+SOLR 世界中の国や地方自治体等で採用 API提供 豊富な拡張: 可視化,ハーベスト等 Facebook CKAN日本語グループ • https://www.facebook.com/groups/327233017355370/ 28
  29. 29. http://datahub.io 29
  30. 30. 30
  31. 31. powered by recline.js http://reclinejs.com/ 31
  32. 32. Linked Data 32
  33. 33. http://data.gov.uk/linked-data 33
  34. 34. Web技術でデータを 公開・共有するための方法論 34
  35. 35. 35
  36. 36. ライセンス データフォーマット 1 2 データアクセス データモデル 3 36
  37. 37. 4-5星への道 • データのモデルとアクセスを共通化 • アプリが使い回しやすくなる • データ同士が参照可能 • データが使い回しやすくなる 37
  38. 38. 4-5星への道 • 識別するものがある • 共通項がある • 関係がある • 由来がある • 変更履歴がある • 例: 名前,コード,カテゴリー,... 38
  39. 39. 39
  40. 40. 書誌 作品 作品 40
  41. 41. 人物 友人 在住 41
  42. 42. 名前の由来 観光地 観光地 舞台 観光 42
  43. 43. 人物 書誌 友人 作品 在住 名前の由来 観光地 作品 観光地 舞台 観光 43
  44. 44. 人物 友人 在住 同じ 同じ 作品 作品 観光地 名前の由来 観光地 舞台 書誌 同じ 観光 44
  45. 45. Webの原則 1.IRIをHTML文書の識別 子として使う 2.IRIにはhttpスキームを 使う 3.IRIを見るとHTML文書 が返ってくる 4.HTML文書には他のIRI へのリンクがある 45
  46. 46. Linked Dataの原則 1.IRIをモノ(Thing)の識 別子として使う 2.IRIにはhttpスキームを 執筆 子供 発行日 使う 3.IRIを見るとモノの構造 化データが返ってくる 4.データには他のIRIへの 型付リンクがある 誕生日 出版社 所在地 "Things,  not  Strings"  by  Google 46
  47. 47. Reuse ID Discovery Integration 47
  48. 48. 構造化データ Reuse 48
  49. 49. ID IRI 49
  50. 50. 27 50
  51. 51. ISO3166-2:JP 大阪府 27 工業統計コード 業務用機械器具製造業 ガンバ大阪 内田達也 51
  52. 52. http://www.iso.org/3166-2/jp/27 IDをIRIにすると世界で ユニークなIDになる ISO3166-2:JP 大阪府 27 工業統計コード 業務用機械器具製造業 http://www.meti.go.jp/industrial-code/26 ガンバ大阪 内田達也 http://www.gamba-osaka.net/gamba/ player/2013/27 52
  53. 53. Derefereceable IRI (HTTP) Discovery 53
  54. 54. http://www.w3.org/TR/webarch/ 54
  55. 55. Content-negotiation • あるリソースに対する表現をHTTPリク エストで折衝する仕組み • 例: JPEGとSVGの画像 55
  56. 56. 1. request /resource/Japan 2. return an HTML document for /resource/Japan http://dbpedia.org Web Browser % curl -ILH 'Accept: text/html' http://dbpedia.org/resource/Japan HTTP/1.1 303 See Other Date: Thu, 04 Jul 2013 09:30:17 GMT Content-Type: text/html; charset=UTF-8 Content-Length: 0 Connection: keep-alive Server: Virtuoso/07.00.3203 (Linux) i686-generic-linux-glibc212-64 Accept-Ranges: bytes Location: http://dbpedia.org/page/Japan VDB HTTP/1.1 200 OK Date: Thu, 04 Jul 2013 09:31:07 GMT Content-Type: text/html; charset=UTF-8 Content-Length: 2023382 Connection: keep-alive Vary: Accept-Encoding ..... 56
  57. 57. 1. request /resource/Japan 2. return a turtle document for /resource/Japan LOD Agent http://dbpedia.org @prefix yago-res: <http://mpii.de/yago/resource/> . @prefix dbpedia: <http://dbpedia.org/resource/> . yago-res:Japan owl:sameAs dbpedia:Japan . <http://data.nytimes.com/59436095099277148161> owl:sameAs dbpedia:Japan . <http://data.nytimes.com/66220885916538669281> owl:sameAs % curl -ILH 'Accept: text/turtle' http://dbpedia.org/resource/Japan dbpedia:Japan . HTTP/1.1 303 See Other @prefix dbpedia-owl: <http://dbpedia.org/ontology/> . Date: Thu, 04 Jul 2013 09:36:52 GMT dbpedia:Ayumi_Hamasaki dbpedia-owl:hometown dbpedia:Japan ; Content-Type: text/turtle; qs=0.7 dbpedia-owl:birthPlace dbpedia:Japan . Content-Length: 0 dbpedia:Nippon_Columbia dbpedia-owl:distributingCompany dbpedia:Japan ; Connection: keep-alive dbpedia-owl:distributingLabel dbpedia:Japan ; Server: Virtuoso/07.00.3203 (Linux) i686-generic-linux-glibc212-64 VDB dbpedia-owl:country dbpedia:Japan . TCN: choice @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix yago: <http://dbpedia.org/class/yago/> . Vary: negotiate,accept dbpedia:Japan rdf:type yago:EastAsianCountries , Link: <http://mementoarchive.lanl.gov/dbpedia/timegate/http:// owl:Thing . dbpedia.org/resource/Japan>; rel="timegate" @prefix ns6: <http://schema.org/> . Location: http://dbpedia.org/data/Japan.ttl dbpedia:Japan rdf:type ns6:Country , yago:CountriesBorderingThePhilippineSea , HTTP/1.1 200 OK yago:Empires , Date: Thu, 04 Jul 2013 09:36:52 GMT yago:IslandCountries , Content-Type: text/turtle; charset=UTF-8 yago:StatesAndTerritoriesEstablishedIn660BC , Content-Length: 1967774 dbpedia-owl:Country , Connection: keep-alive dbpedia-owl:PopulatedPlace , ...... ns6:Place , yago:CountriesBorderingThePacificOcean . @prefix ns7: <http://umbel.org/umbel/rc/> . dbpedia:Japan rdf:type ns7:Country , ns7:PopulatedPlace , dbpedia-owl:Place , yago:OECDMemberEconomies . 57
  58. 58. Cool URIs • • 実体とその表現のIRIも分離 2つの代表的なソリューション • 303 See Other • • 実体IRIを参照したときに適切なIRIへ303でリダイレ クトする ハッシュIRI • • 実体を # 付きのIRI エージェントがアクセスするときには # 以下が取れる 58
  59. 59. Integration IRI + 型付リンク 59
  60. 60. 施設データテーブル ID name tel zipcode prefecture 001 市役所 0778-51-2200 916-8666 福井県 60
  61. 61. 施設データテーブル ID name tel zipcode prefecture 001 市役所 0778-51-2200 916-8666 18 IDでjoin ID name population 18 福井県 795824 26 京都府 2623924 都道府県データテーブル 61
  62. 62. 施設データテーブル ID name tel zipcode prefecture 001 市役所 0778-51-2200 916-8666 http://.../3166/jp/18 prefectureのデータ ID name population http://.../3166/jp/18 福井県 795824 http://.../3166/jp/26 京都府 2623924 都道府県データテーブル IDをhttp IRIにすることで外部から参照される 62
  63. 63. RDF Reuse ID Discovery Integration 全てを含んだグラフデータモデル 63
  64. 64. 執筆 子供 発行日 誕生日 出版社 所在地 64
  65. 65. 執筆 子供 発行日 誕生日 出版社 所在地 65
  66. 66. シリアライズ形式 • • • • • • • • Turtle (N3) JSON-LD RDFa Microdata RDF/XML TriX TriG ...... 66
  67. 67. http://www.w3.org/TR/turtle/ 67
  68. 68. http://json-ld.org/ 68
  69. 69. 69
  70. 70. https://developers.google.com/gmail/schemas/reference/formats/json-ld 70
  71. 71. Hellenic FBD Hellenic PD Crime Reports UK Crime (EnAKTing) Ox Points NHS (EnAKTing) Ren. Energy Generators Open Election Data Project EU Institutions CO2 Emission (EnAKTing) Energy (EnAKTing) EEA Mortality (EnAKTing) Ordnance Survey legislation data.gov.uk UK Postcodes ESD standards ISTAT Immigration Lichfield Spending Scotland Pupils & Exams Traffic Scotland Data Gov.ie reference data.gov. uk London Gazette TWC LOGD Eurostat Eurostat (FUB) CORDIS (FUB) (RKB Explorer) Linked EDGAR (Ontology Central) EURES (Ontology Central) GovTrack FTS New York Times Geo Names World Factbook Geo Species UMBEL Italian public schools DBLP (FU Berlin) Uberblic dataopenac-uk TCM Gene DIT Daily Med Twarql EUNIS WordNet (VUA) SIDER SMC Journals Ocean Drilling Codices Turismo de Zaragoza Janus AMP Climbing Linked GeoData Alpine Ski Austria AEMET Metoffice Weather Forecasts PDB Yahoo! Geo Planet National Radioactivity JP lobid Organisations ECS (RKB Explorer) DBLP (RKB Explorer) STW GESIS Budapest Pisa RESEX Scholarometer IRIT ACM NVD IBM DEPLOY Newcastle RAE2001 LOCAH Roma CiteSeer Courseware dotAC ePrints IEEE RISKS PROSITE ChEMBL Open Data Thesaurus Sears ECS Southampton EPrints HGNC (Bio2RDF) Affymetrix SISVU GEMET Airports Wiki ECS Southampton VIVO Indiana UniProt PubMed ProDom VIVO Cornell STITCH Linked Open Colors SGD Gene Ontology AGROV OC Product DB Weather Stations Swedish Open Cultural Heritage LAAS NSF KISTI JISC WordNet (RKB Explorer) EARTh NSZL Catalog Pfam LODE WordNet (W3C) lobid Resources P20 Eurécom LinkedCT Taxono my Cornetto Deutsche Biographie UN/ LOCODE Drug Bank Enipedia Lexvo DBLP (L3S) ERA Diseasome lingvoj Europeana OAI data dcs UniProt GeoWord Net El Viajero Tourism BibBase Freebase YAGO Open Cyc riese BNB VIAF UB Mannheim Ulm data bnf.fr OS dbpedia lite Norwegian MeSH GND ndlna Calames DDC Project Gutenberg Rådata nå! PSH IdRef Sudoc iServe LIBRIS LCSH MARC Codes List Sudoc RDF Book Mashup Open Calais Greek DBpedia ntnusc Thesaurus W totl.net US Census (rdfabout) Piedmont Accomodations URI Burner LEM RAMEAU SH LinkedL CCN SW Dog Food Portuguese DBpedia t4gm info Open Library (Talis) theses. fr Revyu Fishes of Texas (rdfabout) Scotland Geography Finnish Municipalities Event Media US SEC Semantic XBRL Linked MDB NDL subjects Plymouth Reading Lists my Experiment flickr wrappr DBpedia Linked Sensor Data (Kno.e.sis) Eurostat Chronicling America Telegraphis Geo Linked Data CORDIS Pokedex NTU Resource Lists Open Library SSW Thesaur us semantic web.org BBC Music BBC Wildlife Finder NASA (Data Incubator) transport data.gov. uk Source Code Ecosystem Linked Data Didactal ia Goodwin Family St. Andrews Resource Lists Manchester Reading Lists gnoss Poképédia Classical (DB Tune) Taxon Concept LOIUS Jamendo (DBtune) Last.FM (rdfize) BBC Program mes Rechtspraak. nl Openly Local data.gov.uk intervals Music Brainz (DBTune) Ontos News Portal Sussex Reading Lists Bricklink yovisto Semantic Tweet Linked Crunchbase RDF ohloh (Data Incubator) (DBTune) OpenEI statistics data.gov. uk GovWILD Brazilian Politicians educatio n.data.g ov.uk Music Brainz (zitgist) Discogs FanHubz patents data.go v.uk research data.gov. uk Klappstuhlclub Lotico (Data Incubator) Last.FM artists Population (EnAKTing) reegle Surge Radio tags2con delicious Slideshare 2RDF (DBTune) Music Brainz John Peel (DBTune) EUTC Productions business data.gov. uk GTAA Magnatune DB Tropes Moseley Folk Linked User Feedback LOV Audio Scrobbler OMIM MGI InterPro Smart Link Product Types Ontology Open Corporates Italian Museums Amsterdam Museum UniParc UniRef UniSTS GeneID Linked Open Numbers Reactome OGOLOD KEGG Pathway Medi Care Google Art wrapper meducator KEGG Drug Pub Chem UniPath way Chem2 Bio2RDF Homolo Gene VIVO UF ECCOTCP bible ontology KEGG Enzyme PBAC KEGG Reaction KEGG Compound KEGG Glycan Media Geographic Publications User-generated content Government Cross-domain Life sciences As of September 2011 Linking Open Data cloud diagram, by Richard Cyganiak and Anja Jentzsch. http://lod-cloud.net/ 71
  72. 72. http://datahub.io/dataset?q=&groups=lodcloud 72
  73. 73. http://dbpedia.org 73
  74. 74. http://dbpedia.org/resource/Japan 74
  75. 75. http://wiki.dbpedia.org/Internationalization/Chapters 75
  76. 76. http://ja.dbpedia.org 76
  77. 77. 77
  78. 78. Japanese Linked Data Cloud • 21データセット • 本家よりも緩い条件 • 1000トリプル以上 • dereferenceかデータダ ンプかSPARQL Endpoint • 日本語ラベルを含む • 他のLODクラウドか JLDCへのリンク 78
  79. 79. LOD cloud criteria 21 → 9 79
  80. 80. http://linkedgeodata.org 80
  81. 81. http://linkedgeodata.org/triplify/node355845257 81
  82. 82. http://browser.linkedgeodata.org/ 82
  83. 83. OS Linked Data • 地理データの一部 • 50K地名辞典 • 郵便番号 • 境界線 http://data.ordnancesurvey.co.uk/ 83
  84. 84. http://data.ordnancesurvey.co.uk/datasets/50k-gazetteer 84
  85. 85. http://data.ordnancesurvey.co.uk/id/50kGazetteer/140011 http://data.ordnancesurvey.co.uk/id/50kGazetteer/140012 http://data.ordnancesurvey.co.uk/id/50kGazetteer/140013 85
  86. 86. http://data.ordnancesurvey.co.uk/datasets/code-point-open http://data.ordnancesurvey.co.uk/datasets/boundary-line 86
  87. 87. http://data.ordnancesurvey.co.uk/id/postcodedistrict/E14 http://data.ordnancesurvey.co.uk/id/7000000000041441 http://data.ordnancesurvey.co.uk/id/7000000000011185 http://data.ordnancesurvey.co.uk/id/postcodedistrict/E148 http://data.ordnancesurvey.co.uk/id/postcodeunit/E148BG http://data.ordnancesurvey.co.uk/id/7000000000010975 郵便番号 行政区・選挙区 87
  88. 88. ONS linked data • 統計データの基盤としてのジオデータ • 領域単位 • 行政,衛生,選挙,郵便,... • 境界線 • 不一致,変更 http://statistics.data.gov.uk/ 88
  89. 89. http://statistics.data.gov.uk/explore?URI=http%3A%2F%2Fstatistics.data.gov.uk%2Fid%2Fstatistical-geography%2FE09000001 89
  90. 90. http://statistics.data.gov.uk/id/statistical-geography/E09000001 90
  91. 91. http://linkedlifedata.com/ 91
  92. 92. 92
  93. 93. 93
  94. 94. SPARQL 94
  95. 95. クエリ言語 • データの検索や操作を行うための言語 • データモデルやDBシステムに合わせて設計 • 例: SQL – データモデル: 関係モデル – DBシステム: RDBMS • LODのデータモデル: グラフモデル 95
  96. 96. グラフのクエリ • グラフの最小単位: 3つ組 (トリプル) dbp:東京都 dbpedia-­‐owl:country dbp:日本 • グラフパターン 1. 完全一致 • 2. 変数によるパターンマッチ • 3. dbp:東京都 dbp-owl:country dbp:日本 . dbp:東京都 dbp-owl:country ?country . 1と2の組み合わせ 96
  97. 97. 好き嫌いグラフ :like :Amy :like :Bob :dislike :like :dislike :Dan :dislike :Flo :Ed :dislike :dislike :Gil :like :like :Jim :Ian :like :Hal :dislike :Cathy :Kate :dislike :like :Lee :May :dislike 97
  98. 98. Amyが好きな人 グラフパターン :Amy  :like  ?person  . :like :Amy :like :Bob :dislike :like :dislike :Dan :dislike :Flo :Ed :dislike :dislike :Gil :like :like :Jim :Ian :like :Hal :dislike :Cathy :Kate :dislike :like :Lee :May :dislike 98
  99. 99. Amyが好きな人 が好きな人 グラフパターン :Amy  :like  ?person1  . ?person1  :like  ?person2  . :like :Amy :like :Bob :dislike :like :dislike :Dan :dislike :Flo :Ed :dislike :dislike :Gil :like :like :Jim :Ian :like :Hal :dislike :Cathy :Kate :dislike :like :Lee :May :dislike 99
  100. 100. SPARQL • LOD用クエリ言語 • SQLのような文法 SQL SPARQL Query RDB RDF Store DB Relational Model RDF Model Model • データモデル: RDF • プロトコル: HTTP • W3C仕様 • 2013-03-21に 1.1勧告 100
  101. 101. SPARQLエンドポイント • SPARQLクエリを受け付け る場所 • SPARQLエンドポイントURI • プログラムからSPARQLを使 うときに指定 • 入力フォームがある場合 もあり • 例: http://ja.dbpedia.org/sparql 101
  102. 102. DBpedia Japaneseのグラフ例 dbp-­‐owl:Cartoon サイボーグ009 rdfs:label dbp-­‐owl:AdministraJveRegion dbp:サイボーグ009 rdf:type rdfs:label dbp:宮城県 rdf:type dbp-­‐owl: ComicsCreator dbp-­‐owl:notableWork rdf:type dbp-­‐owl:birthPlace dbp:石ノ森章太郎 宮城県 foaf:Person rdf:type dbp-­‐owl:leaderName dbp-­‐prop:生年 dbp:村井嘉浩 1938 rdfs:label dbp-­‐owl:award 石ノ森章太郎 dbp:手塚治虫 文化賞 102
  103. 103. クエリ:  石ノ森章太郎の出身地 PREFIX  dbp:  <h;p://ja.dbpedia.org/resource/> PREFIX  dbp-­‐owl:  <h;p://dbpedia.org/ontology/> SELECT  ?birthPlace WHERE  {    dbp:石ノ森章太郎  dbp-­‐owl:birthPlace  ?birthPlace  . } dbp-­‐owl:Cartoon サイボーグ009 rdfs:label dbp-­‐owl:AdministraJveRegion dbp:サイボーグ009 rdf:type rdfs:label rdf:type dbp-­‐owl: ComicsCreator dbp-­‐owl:notableWork dbp:宮城県 rdf:type dbp-­‐owl:birthPlace dbp:石ノ森章太郎 宮城県 foaf:Person rdf:type dbp-­‐owl:leaderName dbp-­‐prop:生年 dbp:村井嘉浩 1938 rdfs:label dbp-­‐owl:award 石ノ森章太郎 dbp:手塚治虫 文化賞 103
  104. 104. 104
  105. 105. PREFIX  dbp:  <h;p://ja.dbpedia.org/resource/> PREFIX  dbp-­‐owl:  <h;p://dbpedia.org/ontology/> SELECT  ?birthPlace WHERE  {    dbp:石ノ森章太郎  dbp-­‐owl:birthPlace  ?birthPlace  . } • SELECT:  取得したい変数を指定 • SELECT  *  は全ての変数指定と同等 • 結果形式:  XML,  JSON,  CSV,  TSV,  ... • WHERE:    {}内にグラフパターンの組み合わせを記述 • LIMIT:    件数の制限 • 100だと1-­‐100まで取得 • LIMITがない場合は全件取得 • 量が多い場合はサーバに負荷をかけるので注意 • PREFIX:    URIを短縮して記述するための仕組み • dbp:東京都  =  <h;p://ja.dbpedia.org/resource/東京都> 105
  106. 106. クエリ:  手塚治虫文化賞を受賞した漫画家 PREFIX  dbp:  <h;p://ja.dbpedia.org/resource/> PREFIX  dbp-­‐owl:  <h;p://dbpedia.org/ontology/> SELECT  ?creator WHERE  {    ?creator  rdf:type  dbp-­‐owl:ComicsCreator  ;        dbp-­‐owl:award  dbp:手塚治虫文化賞  . } dbp-­‐owl:Cartoon サイボーグ009 rdfs:label dbp-­‐owl:AdministraJveRegion dbp:サイボーグ009 rdf:type rdfs:label rdf:type dbp-­‐owl: ComicsCreator dbp-­‐owl:notableWork dbp:宮城県 rdf:type dbp-­‐owl:birthPlace dbp:石ノ森章太郎 宮城県 foaf:Person rdf:type dbp-­‐owl:leaderName dbp-­‐prop:生年 dbp:村井嘉浩 1938 rdfs:label dbp-­‐owl:award 石ノ森章太郎 dbp:手塚治虫 文化賞 106
  107. 107. 107
  108. 108. クエリ:  手塚治虫文化賞を受賞した漫画家の代表的な漫画 PREFIX  dbp:  <h;p://ja.dbpedia.org/resource/> PREFIX  dbp-­‐owl:  <h;p://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  . } dbp-­‐owl:Cartoon サイボーグ009 rdfs:label dbp-­‐owl:AdministraJveRegion dbp:サイボーグ009 rdf:type rdfs:label rdf:type dbp-­‐owl: ComicsCreator dbp-­‐owl:notableWork dbp:宮城県 rdf:type dbp-­‐owl:birthPlace dbp:石ノ森章太郎 宮城県 foaf:Person rdf:type dbp-­‐owl:leaderName dbp-­‐prop:生年 dbp:村井嘉浩 1938 rdfs:label dbp-­‐owl:award 石ノ森章太郎 dbp:手塚治虫 文化賞 108
  109. 109. 109
  110. 110. SPARQL 1.0 • データ取得 • SELECT • ASK • DESCRIBE • CONSTRUCT • ほぼどこでも使える 110
  111. 111. SELECT 例) 任意の3つ組を100件取得 SELECT ?s ?p ?o WHERE { ?s ?p ?o . } LIMIT 100 111
  112. 112. ASK • ASK:    グラフパターンにマッチするものがあるか • 結果yes  か  no   例)  石ノ森章太郎の出身地が含まれているかどうか PREFIX  dbp:  <hYp://ja.dbpedia.org/resource/> PREFIX  dbp-­‐owl:  <hYp://dbpedia.org/ontology/> ASK   WHERE  {    dbp:石ノ森章太郎  dbp-­‐owl:birthPlace  ?birthPlace  . } 112
  113. 113. DESCRIBE • DESCRIBE: リソースに関するグラフを取得 • 実装依存 • 多くの場合は対象リソースをsubjectかobjectに 含む3つ組の集合 • 結果形式: RDF/XML, Turtle, … 例) http://ja.dbpedia.org/resource/横浜市に関するグラフを取得 DESCRIBE <http://ja.dbpedia.org/resource/横浜市> 113
  114. 114. CONSTRUCT • CONSTRUCT:    新しいグラフを作成して取得 • 結果形式:  RDF/XML,  Turtle,  … 例)  foaf:nameプロパティの3つ組をそのまま取得 PREFIX  foaf:  <hYp://xmlns.com/foaf/0.1/> CONSTRUCT  {    ?s  foaf:name  ?o  . } WHERE  {    ?s  foaf:name  ?o  . } 114
  115. 115. Named Graph • 3つ組の集合を区別 したいという要求 • データソースや ファイルの違い • Triple(3つ組)では なくQuad(4つ組) 115
  116. 116. Named Graphの例 PREFIX  dcndl:  h;p://ndl.go.jp/dcndl/terms/> PREFIX  rdfs:  <h;p://www.w3.org/2000/01/rdf-­‐schema#> PREFIX  dc:  <h;p://purl.org/dc/terms/> SELECT  DISTINCT  * WHERE  {    GRAPH  ?g  {        <h;p://lod.ac/species/Papilio_xuthus>  ?p  ?o    .    }    ?g  dc:source  ?source  .    ?source  dcndl:edibon  ?edibon  ;                        dc:publisher/rdfs:label  ?publisher  . } 116
  117. 117. SPARQL 1.1 • データ管理 • 作成・更新・削除用句 • • • • • サービス記述 Graph Store HTTP Protocol 結果形式の追加: JSON, CSV, TSV 様々な追加機能 • • INSERT, UPDATE, DELETE, LOAD, DROP プロパティパス,集約,条件,数値関数,文字列関数,サブクエリ,Federatedクエリなど 実装の差 • • 最新の実装だと大分カバーされている 実働中のエンドポイントは差あり • 特にFederatedクエリやBINDあたりは使えないところも多い 117
  118. 118. プロパティパス • 通常の3つ組パターン: ?s ?p ?o • ?oの省略や?pの繰り返し,?pの逆向き 等を記述可能 PREFIX  dbp:  <h;p://ja.dbpedia.org/resource/> PREFIX  dbp-­‐owl:  <h;p://dbpedia.org/ontology/> SELECT  ?creatorName  ?comicName WHERE  {    ?creator  dbp-­‐owl:notableWork/rdfs:label  ?comicName  . } 118
  119. 119. プロパティパスの例 • ?s foaf:knows/foaf:knows ?o • ?s foaf:knows+ ?o • ?s ^foaf:knows ?o • ?s foaf:name¦rdfs:label ?o 119
  120. 120. 集約 • COUNT: 個数 • SUM: 合計 • AVG: 平均 • MIN: 最小値 • MAX: 最大値 • GROUP BY: 120
  121. 121. COUNT 例)  森薫リソースのオブジェクトの数 SELECT  (COUNT(?o)  AS  ?count) WHERE  {    <hYp://dbpedia.org/resource/Kaoru_Mori>  ?p  ?o  . } 121
  122. 122. GROUP BY 例)  クラス毎のインスタンスの数上位100件を降順 SELECT  ?class  (COUNT(?instance)  AS  ?noOfInstances) WHERE  {      ?instance  a  ?class  . } GROUP  BY  ?class ORDER  BY  DESC(?noOfInstances) LIMIT  100 122
  123. 123. サブクエリ 例)  クラス毎のインスタンスの数の平均 SELECT  (AVG(?noOfInstances)  AS  ?avg) WHERE  {    {        SELECT  ?class  (COUNT(?instance)  AS  ?noOfInstances)        WHERE  {              ?instance  a  ?class  .        }        GROUP  BY  ?class    } } 123
  124. 124. Federatedクエリ • • サブクエリの延長 SERVICE句 • • • クエリを直接投げたエンドポイント以外を指定し てクエリを投げられる 2ヶ所以上のSPARQLエンドポイントに対してク エリを発行して自動的に結果を結合 まだ使えるエンドポイントが限られるし相互運用性 も怪しいがSPARQLのパワフルさの象徴の一つ 124
  125. 125. SPARQL Endpointリスト • http://datahub.io/dataset?q=&res_format=api %2Fsparql • http://labs.mondeca.com/sparqlEndpointsStatus/ 125
  126. 126. http://datahub.io/dataset?q=&res_format=api%2Fsparql 126
  127. 127. http://labs.mondeca.com/sparqlEndpointsStatus/ 127
  128. 128. 128
  129. 129. http://lod.ac/apps/lodac_location/ 129
  130. 130. PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> SELECT DISTINCT ?link ?title ?lat ?long WHERE { ?link rdfs:label ?title; geo:lat ?lat; geo:long ?long . FILTER ( ?lat > 左上緯度 && ?lat < 右下緯度 && ?long > 左上経度 && ?long < 右下経度 && lang(?title) = "ja" ) } 130
  131. 131. http://lod.ac/apps/yas 131
  132. 132. 132
  133. 133. 133
  134. 134. © 2013 Scholex co.,ltd. and ATR Creative Inc. © 2013 ATR Creative Inc., Linked Open Data Initiative 134
  135. 135. Tool 135
  136. 136. ライブラリ 136
  137. 137. RDFライブラリ • Java: Jena, Sesame • C: Redland • C#: dotNetRDF • Ruby: RDF.rb • PHP: ARC2, Graphite • Python: rdflib • Perl: PerlRDF • JavaScript: rdfQuery, rdfstore-js • .... http://www.w3.org/2001/sw/wiki/Tools参照 137
  138. 138. SPARQLクライアント ライブラリ • • • • • • • • • Ruby: sparql Python: SPARQLWrapper Java: ARQ C: Rasqal R: SPARQL Haskell: hsparql 等々 http://linkeddata.jp/wiki/ツール http://www.w3.org/wiki/SparqlImplementations 138
  139. 139. sparql - RDF.rb $ gem install sparql 139
  140. 140. Querying a SPARQL Endpoint 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 #!/usr/bin/env ruby # -*- coding: utf-8 -*require 'linkeddata' client = SPARQL::Client.new("http://dbpedia.org/sparql") query = """SELECT ?o WHERE { <http://dbpedia.org/resource/Tokyo> <http://dbpedia.org/ontology/country> ?o . }""" client.query(query).each do |solution| puts solution[:o] end 140
  141. 141. R SPARQL > install.packages( SPARQL ) 141
  142. 142. > library(SPARQL) > endpoint <- 'http://dbpedia.org/sparql' > q <- "SELECT ?class (count(?instance) AS ?noOfInstances) WHERE { ?instance a ?class . } GROUP BY ?class ORDER BY DESC(?noOfInstances) LIMIT 10" > res <- SPARQL(endpoint, q)$results > pie(res$noOfInstances, label=res$class) 142
  143. 143. Sgvizler • Javascript/jQueryの可視化ライブラリ • • • • • https://code.google.com/p/sgvizler/ 基本的にSPARQL埋め込むだけ 主にGoogle Visualization API 安定版は0.5 HEADは大分変更があるので注意 143
  144. 144. 144
  145. 145. 使い方 • div要素に埋め込む • 直接Javascriptを書く • クエリフォームから入力する 145
  146. 146. SPARQL Timeliner • OKFNのTimeliner(現 TimeMapper)をSPARQL対応 • http://uedayou.net/ SPARQLTimeliner/ • http://www.slideshare.net/ uedayou/sparqltimeliner-28905905 146
  147. 147. OpenRefine • • Freebase Gridworks, GoogleRefine,... データと遊ぶためのツール (一部要拡張) • インポート形式: *SV, Excel, JSON, XML, RDF/XML Google Data(Spreadsheet, Fusion Table) • エクスポート形式: *SV, HTML, Excel, ODF Spreadsheet, MQL, RDF/XML, RDF/Turtle • • • • • • アップロード: Freebase, CKAN ビュアー: ファセット, フィルター,フラグ 編集履歴 スクリプト: GREL データ変換 データ公開 • 様々な拡張 • Reconciliation 147
  148. 148. Reconciliation • ラベル(と付加情報)にマッチ する潜在的なエンティティ リストを推薦 • • Apple社 vs フルーツの apple vs New York City サービス • • • Freebase Reconciliation API SPARQL (要RDFRefine) 148
  149. 149. 149
  150. 150. 150
  151. 151. http://linkdata.org/ 151
  152. 152. Query SQL SPARQL DB RDB RDF Store Model Relational Model RDF Model 152
  153. 153. RDF Store • TripleStore / QuadStore / Graph DB • • SPARQLエンドポイント オプション • • • • Bigdata® RDFS/OWL Inference Full text indexing Clustering See http://en.wikipedia.org/wiki/ Triplestore 153
  154. 154. http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/ 154
  155. 155. https://github.com/openlink/virtuoso-opensource 155
  156. 156. Virtuoso Open Source • http://virtuoso.openlinksw.com/dataspace/dav/wiki/ Main/ • バイナリとソースあり • ソースからインストール $ tar xvzf virtuoso-opensource-6.1.6.tar.gz $ cd virtuoso-opensource-6.1.6 $ ./configure $ make $ make install $ /usr/local/virtuoso-opensource/bin/virtuoso-t +configfile /usr/local/virtuoso-opensource/ var/lib/virtuoso/db/virtuoso.ini 156
  157. 157. http://localhost:8890/conductor/ 157
  158. 158. http://localhost:8890/conductor/ 158
  159. 159. 159
  160. 160. 160
  161. 161. http://localhost:8890/sparql 161
  162. 162. 第6回LODチャレンジデー • 2013-11-24 パートナーリソース活用ハッ カソン • サーバーサイドコース • クラウドでサーバ立ち上げからVirtuoso インストール,Rubyでのアプリまで • https://github.com/LinkedOpenData/ challenge2013/wiki/サーバーサイド 162
  163. 163. http://lodcu.cs.chubu.ac.jp/SparqlEPCU/ 163
  164. 164. •ツール・ライブラリまとめ h;p://linkeddata.jp/wiki/ツール •SPARQLクエリ例 h;p://goo.gl/bPSHp •RDF.rbの資料 h;p://www.slideshare.net/fumihiro/ programming-­‐with-­‐lod 人工知能学会 私のブックマーク h;p://www.ai-­‐gakkai.or.jp/my-­‐ bookmark_vol28-­‐no5/ 164
  165. 165. http://lod.sfc.keio.ac.jp 165
  166. 166. 166
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×