Upload
fumihiro-kato
View
1.670
Download
1
Embed Size (px)
DESCRIPTION
20130126
Citation preview
Linked Open Data基礎LODI 加藤文彦
横浜オープンデータハッカソン, 2013-01-26
1
Linked Data
•Web技術でデータを公開・共有・統合するためのベストプラクティス
• "データのWeb"
• HTTP, IRI, リンク, グラフモデル, 構造化データ
2
Webの原則1. IRIをHTML文書の識別
子として使う
2. IRIにはhttpスキームを使う
3. IRIを見るとHTML文書が返ってくる
4. HTML文書には他のIRIへのリンクがある
3
Linked Dataの原則1. IRIをモノ(Thing)の識
別子として使う
2. IRIにはhttpスキームを使う
3. IRIを見るとモノのデータが返ってくる
4. データには他のIRIへの型付リンクがある
子供
執筆
発行日
誕生日出版社
所在地
"Things, not Strings" by Google
4
1. オープンライセンス
2. 構造化データ
3. オープンな形式
4. IRIによる識別 / W3C標準
5. 他データへのリンク
Linked Open Data
5
Linked Data(データのWeb)
Open Data(オープンライセンス)
RDF(グラフデータモデル)
6
子供
執筆
発行日
誕生日出版社
所在地
7
子供
執筆
発行日
誕生日出版社
所在地
8
グラフのシリアライズ形式• Turtle (N3)
• JSON-LD
• RDFa
• Microdata
• RDF/XML
• TriX
• TriG
• ......
9
As of September 2011
MusicBrainz
(zitgist)
P20
Turismo de
Zaragoza
yovisto
Yahoo! Geo
Planet
YAGO
World Fact-book
El ViajeroTourism
WordNet (W3C)
WordNet (VUA)
VIVO UF
VIVO Indiana
VIVO Cornell
VIAF
URIBurner
Sussex Reading
Lists
Plymouth Reading
Lists
UniRef
UniProt
UMBEL
UK Post-codes
legislationdata.gov.uk
Uberblic
UB Mann-heim
TWC LOGD
Twarql
transportdata.gov.
uk
Traffic Scotland
theses.fr
Thesau-rus W
totl.net
Tele-graphis
TCMGeneDIT
TaxonConcept
Open Library (Talis)
tags2con delicious
t4gminfo
Swedish Open
Cultural Heritage
Surge Radio
Sudoc
STW
RAMEAU SH
statisticsdata.gov.
uk
St. Andrews Resource
Lists
ECS South-ampton EPrints
SSW Thesaur
us
SmartLink
Slideshare2RDF
semanticweb.org
SemanticTweet
Semantic XBRL
SWDog Food
Source Code Ecosystem Linked Data
US SEC (rdfabout)
Sears
Scotland Geo-
graphy
ScotlandPupils &Exams
Scholaro-meter
WordNet (RKB
Explorer)
Wiki
UN/LOCODE
Ulm
ECS (RKB
Explorer)
Roma
RISKS
RESEX
RAE2001
Pisa
OS
OAI
NSF
New-castle
LAASKISTI
JISC
IRIT
IEEE
IBM
Eurécom
ERA
ePrints dotAC
DEPLOY
DBLP (RKB
Explorer)
Crime Reports
UK
Course-ware
CORDIS (RKB
Explorer)CiteSeer
Budapest
ACM
riese
Revyu
researchdata.gov.
ukRen. Energy Genera-
tors
referencedata.gov.
uk
Recht-spraak.
nl
RDFohloh
Last.FM (rdfize)
RDF Book
Mashup
Rådata nå!
PSH
Product Types
Ontology
ProductDB
PBAC
Poké-pédia
patentsdata.go
v.uk
OxPoints
Ord-nance Survey
Openly Local
Open Library
OpenCyc
Open Corpo-rates
OpenCalais
OpenEI
Open Election
Data Project
OpenData
Thesau-rus
Ontos News Portal
OGOLOD
JanusAMP
Ocean Drilling Codices
New York
Times
NVD
ntnusc
NTU Resource
Lists
Norwe-gian
MeSH
NDL subjects
ndlna
myExperi-ment
Italian Museums
medu-cator
MARC Codes List
Man-chester Reading
Lists
Lotico
Weather Stations
London Gazette
LOIUS
Linked Open Colors
lobidResources
lobidOrgani-sations
LEM
LinkedMDB
LinkedLCCN
LinkedGeoData
LinkedCT
LinkedUser
FeedbackLOV
Linked Open
Numbers
LODE
Eurostat (OntologyCentral)
Linked EDGAR
(OntologyCentral)
Linked Crunch-
base
lingvoj
Lichfield Spen-ding
LIBRIS
Lexvo
LCSH
DBLP (L3S)
Linked Sensor Data (Kno.e.sis)
Klapp-stuhl-club
Good-win
Family
National Radio-activity
JP
Jamendo (DBtune)
Italian public
schools
ISTAT Immi-gration
iServe
IdRef Sudoc
NSZL Catalog
Hellenic PD
Hellenic FBD
PiedmontAccomo-dations
GovTrack
GovWILD
GoogleArt
wrapper
gnoss
GESIS
GeoWordNet
GeoSpecies
GeoNames
GeoLinkedData
GEMET
GTAA
STITCH
SIDER
Project Guten-berg
MediCare
Euro-stat
(FUB)
EURES
DrugBank
Disea-some
DBLP (FU
Berlin)
DailyMed
CORDIS(FUB)
Freebase
flickr wrappr
Fishes of Texas
Finnish Munici-palities
ChEMBL
FanHubz
EventMedia
EUTC Produc-
tions
Eurostat
Europeana
EUNIS
EU Insti-
tutions
ESD stan-dards
EARTh
Enipedia
Popula-tion (En-AKTing)
NHS(En-
AKTing) Mortality(En-
AKTing)
Energy (En-
AKTing)
Crime(En-
AKTing)
CO2 Emission
(En-AKTing)
EEA
SISVU
education.data.g
ov.uk
ECS South-ampton
ECCO-TCP
GND
Didactalia
DDC Deutsche Bio-
graphie
datadcs
MusicBrainz
(DBTune)
Magna-tune
John Peel
(DBTune)
Classical (DB
Tune)
AudioScrobbler (DBTune)
Last.FM artists
(DBTune)
DBTropes
Portu-guese
DBpedia
dbpedia lite
Greek DBpedia
DBpedia
data-open-ac-uk
SMCJournals
Pokedex
Airports
NASA (Data Incu-bator)
MusicBrainz(Data
Incubator)
Moseley Folk
Metoffice Weather Forecasts
Discogs (Data
Incubator)
Climbing
data.gov.uk intervals
Data Gov.ie
databnf.fr
Cornetto
reegle
Chronic-ling
America
Chem2Bio2RDF
Calames
businessdata.gov.
uk
Bricklink
Brazilian Poli-
ticians
BNB
UniSTS
UniPathway
UniParc
Taxonomy
UniProt(Bio2RDF)
SGD
Reactome
PubMedPub
Chem
PRO-SITE
ProDom
Pfam
PDB
OMIMMGI
KEGG Reaction
KEGG Pathway
KEGG Glycan
KEGG Enzyme
KEGG Drug
KEGG Com-pound
InterPro
HomoloGene
HGNC
Gene Ontology
GeneID
Affy-metrix
bible ontology
BibBase
FTS
BBC Wildlife Finder
BBC Program
mes BBC Music
Alpine Ski
Austria
LOCAH
Amster-dam
Museum
AGROVOC
AEMET
US Census (rdfabout)
Media
Geographic
Publications
Government
Cross-domain
Life sciences
User-generated content
Linking Open Data cloud diagram, by Richard Cyganiak and Anja Jentzsch. http://lod-cloud.net/
10
http://dbpedia.org/resource/Yokohama
12
http://wiki.dbpedia.org/Internationalization/Chapters
13
http://ja.dbpedia.org
14
http://ja.dbpedia.org/resource/横浜市
http://ja.dbpedia.org/page/横浜市
http://ja.dbpedia.org/data/横浜市
"横浜市"のIRI
HTML表現
データ表現
DBpediaのIRI設計
cf. http://www.w3.org/TR/cooluris/
16
http://ja.dbpedia.org/resource/東京都
http://ja.dbpedia.org/page/東京都
http://ja.dbpedia.org/data/東京都
"東京都"のIRI
HTML表現
データ表現
% curl -IH 'Accept: text/html' http://ja.dbpedia.org/resource/横浜市TTP/1.1 303 See OtherServer: Virtuoso/06.01.3127 (Linux) x86_64-unknown-linux-gnu Connection: closeContent-Type: text/html; charset=UTF-8Date: Fri, 25 Jan 2013 03:43:38 GMTAccept-Ranges: bytesLink: <http://mementoarchive.lanl.gov/dbpedia/timegate/http://ja.dbpedia.org/resource/横浜市>; rel="timegate"
Location: http://ja.dbpedia.org/page/横浜市Content-Length: 0
17
http://ja.dbpedia.org/resource/東京都
http://ja.dbpedia.org/page/東京都
http://ja.dbpedia.org/data/東京都
"東京都"のIRI
HTML表現
データ表現
% curl -IH 'Accept: text/n3' http://ja.dbpedia.org/resource/横浜市
HTTP/1.1 303 See OtherServer: Virtuoso/06.01.3127 (Linux) x86_64-unknown-linux-gnu Connection: closeDate: Fri, 25 Jan 2013 03:44:13 GMTAccept-Ranges: bytesTCN: choiceVary: negotiate,acceptContent-Location: /data/横浜市.n3
Content-Type: text/n3; qs=0.8Link: <http://mementoarchive.lanl.gov/dbpedia/timegate/http://ja.dbpedia.org/resource/横浜市>; rel="timegate"
Location: http://ja.dbpedia.org/data/横浜市.n3
Content-Length: 0
18
FAQ
Q. DBpedia に〇〇がない
19
FAQ
Q. DBpedia に〇〇がない
A. Wikipediaに書け
20
FAQ
Q. DBpedia に〇〇の位置情報がない
21
FAQ
Q. DBpedia に〇〇の位置情報がない
A. Wikipedia 編集しろ
22
FAQ
Q. DBpedia に〇〇の型やリンクがない
23
FAQ
Q. DBpedia に〇〇の型やリンクがない
A. DBpedia Mappings Wiki編集しろ
http://mappings.dbpedia.org
24
FAQ
Q. 〇〇編集したけどないんだよ!
25
FAQ
Q. 〇〇編集したけどないんだよ!
A. 現状不定期更新.正直スマン.今年度中にWikipediaダンプが更新されたら自動更新されるようになる予定
26
http://linkedgeodata.org/triplify/node355845257
28
29
30
FAQ
Q. LinkedGeoData に〇〇がない
31
FAQ
Q. LinkedGeoData に〇〇がない
A. OpenStreetMap 編集(ry
32
クエリ言語
• データの検索や操作を行うための言語• データモデルやDBシステムに合わせて設計
• 例: SQL
–データモデル: 関係モデル
–DBシステム: RDBMS
• LODのデータモデル: グラフモデル
33
グラフのクエリ
• グラフの最小単位: 3つ組 (トリプル)
• グラフパターン1. 完全一致
• dbp:東京都 dbp-owl:country dbp:日本 .
2. 変数によるパターンマッチ
• dbp:東京都 dbp-owl:country ?country .
3. 1と2の組み合わせ
dbp:東京都 dbp:日本dbpedia-‐owl:country
34
: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
好き嫌いグラフ
35
: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 .
36
: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 .
37
SPARQL• LOD用クエリ言語
– データモデル: RDF (ラベル付き有向グラフ)
– プロトコル: HTTP
• W3C仕様
– 1.0: Recommendations
– 1.1: Working Drafts
38
SPARQLエンドポイント
• SPARQLクエリを受け付ける場所– SPARQLエンドポイントURI
• プログラムからSPARQLを使うときに指定
– 入力フォームがある場合もあり
39
DBpedia Japanese SPARQLエンドポイント
40
dbp-‐owl:AdministraMveRegiondbp:サイボーグ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:Comics
rdf:type
41
dbp-‐owl:AdministraMveRegiondbp:サイボーグ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:Comics
rdf:type
クエリ: 石ノ森章太郎の出身地PREFIX dbp: <hYp://ja.dbpedia.org/resource/>PREFIX dbp-‐owl: <hYp://dbpedia.org/ontology/>
SELECT ?birthPlaceWHERE { dbp:石ノ森章太郎 dbp-‐owl:birthPlace ?birthPlace .
}
42
43
• SELECT: 取得したい変数を指定• SELECT * は全ての変数指定と同等• 結果形式: XML, JSON, CSV, TSV, ...
• WHERE: {}内にグラフパターンの組み合わせを記述• LIMIT: 件数の制限• 100だと1-‐100まで取得• LIMITがない場合は全件取得• 量が多い場合はサーバに負荷をかけるので注意
• PREFIX: URIを短縮して記述するための仕組み• dbp:東京都 = <hYp://ja.dbpedia.org/resource/東京都>
PREFIX dbp: <hYp://ja.dbpedia.org/resource/>PREFIX dbp-‐owl: <hYp://dbpedia.org/ontology/>
SELECT ?birthPlaceWHERE { dbp:石ノ森章太郎 dbp-‐owl:birthPlace ?birthPlace .
}
44
dbp-‐owl:AdministraMveRegiondbp:サイボーグ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:Comics
rdf:type
クエリ: 手塚治虫文化賞を受賞した漫画家PREFIX dbp: <hYp://ja.dbpedia.org/resource/>PREFIX dbp-‐owl: <hYp://dbpedia.org/ontology/>
SELECT ?creatorWHERE { ?creator rdf:type dbp-‐owl:ComicsCreator ; dbp-‐owl:award dbp:手塚治虫文化賞 .
}
45
46
dbp-‐owl:AdministraMveRegiondbp:サイボーグ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:Comics
rdf:type
クエリ: 手塚治虫文化賞を受賞した漫画家の代表的な漫画PREFIX dbp: <hYp://ja.dbpedia.org/resource/>PREFIX dbp-‐owl: <hYp://dbpedia.org/ontology/>
SELECT ?creatorName ?comicNameWHERE { ?creator a dbp-‐owl:ComicsCreator ; dbp-‐owl:award dbp:手塚治虫文化賞 ;
dbp-‐owl:notableWork ?comic ; rdfs:label ?creatorName . ?comic a dbp-‐owl:Comics ; rdfs:label ?comicName .}
石ノ森章太郎
47
48
SPARQL 1.0• データ取得・検索– SELECT
–ASK
–CONSTRUCT
–DESCRIBE
• どこでもほぼ使用可能
49
SELECT
例) 任意の3つ組を100件取得
SELECT ?s ?p ?o
WHERE {
?s ?p ?o .
}
LIMIT 100
50
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 .
}
51
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 .}
52
DESCRIBE• DESCRIBE: リソースに関するグラフを取得• 実装依存• 多くの場合は対象リソースを直接含む3つ組の集合• 結果形式: RDF/XML, Turtle, …
例) http://ja.dbpedia.org/resource/横浜市に関するグラフを取得DESCRIBE <http://ja.dbpedia.org/resource/横浜市>
53
SPARQL 1.1• データ作成・更新・削除
‒ INSERT / UPDATE / DELETE / LOAD / DROP
• 様々な機能追加
‒ プロパティパス,集約,条件,数値関数,文字列関数,サブクエリ,Federatedクエリなど
• 実装に差あり
54
SPARQL Endpointリスト
• http://www.w3.org/wiki/SparqlEndpoints
• http://ckan.net/dataset?res_format=api%2Fsparql&q=sparql
• http://labs.mondeca.com/sparqlEndpointsStatus/
55
http://thedatahub.org/dataset?res_format=api%2Fsparql
56
公開SPARQLエンドポイントの状態確認サイト
http://labs.mondeca.com/sparqlEndpointsStatus/
57
http://lod.ac/apps/lodac_location/58
SPARQLクエリ例
• https://docs.google.com/document/d/1P-bZzbuEevNxEuAfjpcARxagVJf1ajuC-aDUabJ-Sw0/edit
59