0
LOD: Linked Open Data
LODI 加藤文彦
第1回 Firefox OS x HTML5 x LOD WEBイノベーションハッカソン
2014-06-29
1
Linked Open Data
•Web技術でデータを公開・共有・統合するためのベストプ
ラクティス
•複数の(オープン)データを組み合わせて使いやすくする
•アクセス方法の差異
•ファイル形式の差異
•データソースの差異
•語彙の差異
•事...
3
作品
作品
書誌
4
友人
在住
人物
5
舞台
観光地
観光地
名前の由来
観光
6
舞台
観光地
観光地
名前の由来
作品
作品
友人
在住
書誌人物
観光
7
舞台
観光地
観光地
名前の由来
作品
作品
在住
書誌
人物
観光
友人
同じ
同じ
同じ
8
9
http://ja.dbpedia.org/resource/夏目漱石
識別
識別
http://viaf.org/viaf/56614190
10
http://ja.dbpedia.org/resource/夏目漱石
http://viaf.org/viaf/56614190
owl:sameAs
11
@prefix owl: <http://www.w3.org/2002/07/owl...
Webの原則
1. URIをHTML文書の識別
子として使う
2. URIにはhttpスキームを
使う
3. URIを見るとHTML文書
が返ってくる
4. HTML文書には他のURI
へのリンクがある
URI + HTTP + HTML
12
Linked Dataの原則
1. URIを事物の識別子とし
て使う
2. URIにはhttpスキームを
使う
3. URIを見ると事物の構造
化データが返ってくる
4. データには他のURIへの
型付リンクがある
子供
執筆
発行日
誕生日
...
LODのデータ
•データモデル
•RDFグラフモデル
•ファイル形式
•Turtle, RDF/XML, JSON-LD, …
14
As of September 2011
Music
Brainz
(zitgist)
P20
Turismo
de
Zaragoza
yovisto
Yahoo!
Geo
Planet
YAGO
World
Fact-
book
El
Via...
http://dbpedia.org
16
http://dbpedia.org/resource/Japan17
http://wiki.dbpedia.org/Internationalization/Chapters18
http://ja.dbpedia.org
19
日本語Linked Data Cloud図
!
• 27データセット
• 本家よりも緩い条件
• 日本にいる人・組織
• 日本語ラベルを含む
• 1000トリプル以上
• dereference/データダン
プ/SPARQL Endpoint
...
SPARQL
• RDF用クエリ言語
• SQLのような文法
• データモデル: RDF
• プロトコル: HTTP
• 結果形式: JSON, XML,
(CSV, TSV)
• W3C仕様
• 2013-03-21に1.1勧
告
RDB
Q...
グラフのクエリ
• グラフの最小単位: 3つ組 (トリプル)
!
• グラフパターン
1. 完全一致
• dbp:東京都 dbp-owl:country dbp:日本 .
2. 変数によるパターンマッチ
• dbp:東京都 dbp-owl:co...
:Amy
:Bob :Cathy
:Dan
:Jim
:Ed
:Kate
:Gil
:Flo
:Hal
:Ian
:Lee
:May
:like :like
:like
:like
:like
:like
:like
:dislike
:dis...
:Amy
:Bob :Cathy
:Dan
:Jim
:Ed
:Kate
:Gil
:Flo
:Hal
:Ian
:Lee
:May
:like :like
:like
:like
:like
:like
:like
:dislike
:dis...
:Amy
:Bob :Cathy
:Dan
:Jim
:Ed
:Kate
:Gil
:Flo
:Hal
:Ian
:Lee
:May
:like :like
:like
:like
:like
:like
:like
:dislike
:dis...
SPARQLエンドポイント
• SPARQLクエリを受け付け
る場所
• SPARQLエンドポイントURI
• プログラムからSPARQLを使
うときに指定
• 入力フォームがある場合
もあり
• 例: http://ja.dbpedia.or...
dbp-­‐owl:AdministraIveRegion
dbp:サイボーグ009
dbp-­‐owl:	
  
ComicsCreator
dbp:宮城県
dbp:石ノ森章太郎
rdfs:label
rdf:type
rdfs:label
...
dbp-­‐owl:AdministraIveRegion
dbp:サイボーグ009
dbp-­‐owl:	
  
ComicsCreator
dbp:宮城県
dbp:石ノ森章太郎
rdfs:label
rdf:type
rdfs:label
...
29
• SELECT:	
  取得したい変数を指定	

• SELECT	
  *	
  は全ての変数指定と同等	

• 結果形式:	
  XML,	
  JSON,	
  CSV,	
  TSV,	
  ...	
  
• WHERE:	
  	...
dbp-­‐owl:AdministraIveRegion
dbp:サイボーグ009
dbp-­‐owl:	
  
ComicsCreator
dbp:宮城県
dbp:石ノ森章太郎
rdfs:label
rdf:type
rdfs:label
...
32
dbp-­‐owl:AdministraIveRegion
dbp:サイボーグ009
dbp-­‐owl:	
  
ComicsCreator
dbp:宮城県
dbp:石ノ森章太郎
rdfs:label
rdf:type
rdfs:label
...
34
http://datahub.io/dataset?q=&res_format=api%2Fsparql35
http://sparqles.okfn.org/
36
RDFライブラリ
•Java: Jena,
Sesame
•C: Redland
•C#: dotNetRDF
•Ruby: RDF.rb
•PHP: ARC2,
Graphite, RAP
•Python: rdflib
•Perl: Perl...
SPARQLクライアント
ライブラリ
•Ruby: sparql-client
•JavaScript: jquery-
sparql
•Python:
SPARQLWrapper
•Java: ARQ
•C: Rasqal
•R: SPARQ...
RDF.rb
$ gem install linkeddata
39
Turtleファイルの読込
&SPARQL
1 #!/usr/bin/env ruby!
2 # -*- coding: utf-8 -*-!
3 require 'linkeddata'!
4!
5 repo = RDF::Repositor...
SPARQL Endpoint
へのクエリ
1 #!/usr/bin/env ruby!
2 # -*- coding: utf-8 -*-!
3!
4 require 'linkeddata'!
5!
6 client = SPARQL::C...
Sgvizler
•Javascript/jQueryの可視化ライブラリ
•http://dev.data2000.no/sgvizler/
•基本的にSPARQL埋め込むだけ
•主にGoogle Visualization API
•安定版は...
43
44
45
46
47
Upcoming SlideShare
Loading in...5
×

LOD: Linked Open Data

955

Published on

2014-06-29 Firefox OS x HTML5 x LOD WEBイノベーションハッカソン(http://www.sansokan.jp/events/eve_detail.san?H_A_NO=17461) で使った資料

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
955
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
11
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Transcript of "LOD: Linked Open Data"

  1. 1. LOD: Linked Open Data LODI 加藤文彦 第1回 Firefox OS x HTML5 x LOD WEBイノベーションハッカソン 2014-06-29 1
  2. 2. Linked Open Data •Web技術でデータを公開・共有・統合するためのベストプ ラクティス •複数の(オープン)データを組み合わせて使いやすくする •アクセス方法の差異 •ファイル形式の差異 •データソースの差異 •語彙の差異 •事物の区別と同一性 2
  3. 3. 3
  4. 4. 作品 作品 書誌 4
  5. 5. 友人 在住 人物 5
  6. 6. 舞台 観光地 観光地 名前の由来 観光 6
  7. 7. 舞台 観光地 観光地 名前の由来 作品 作品 友人 在住 書誌人物 観光 7
  8. 8. 舞台 観光地 観光地 名前の由来 作品 作品 在住 書誌 人物 観光 友人 同じ 同じ 同じ 8
  9. 9. 9
  10. 10. http://ja.dbpedia.org/resource/夏目漱石 識別 識別 http://viaf.org/viaf/56614190 10
  11. 11. http://ja.dbpedia.org/resource/夏目漱石 http://viaf.org/viaf/56614190 owl:sameAs 11 @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/夏目漱石> . 識別 識別
  12. 12. Webの原則 1. URIをHTML文書の識別 子として使う 2. URIにはhttpスキームを 使う 3. URIを見るとHTML文書 が返ってくる 4. HTML文書には他のURI へのリンクがある URI + HTTP + HTML 12
  13. 13. Linked Dataの原則 1. URIを事物の識別子とし て使う 2. URIにはhttpスキームを 使う 3. URIを見ると事物の構造 化データが返ってくる 4. データには他のURIへの 型付リンクがある 子供 執筆 発行日 誕生日 出版社 所在地 "Things,  not  Strings"    by  Google URI + HTTP + RDF 13
  14. 14. LODのデータ •データモデル •RDFグラフモデル •ファイル形式 •Turtle, RDF/XML, JSON-LD, … 14
  15. 15. As of September 2011 Music Brainz (zitgist) P20 Turismo de Zaragoza yovisto Yahoo! Geo Planet YAGO World Fact- book El Viajero Tourism WordNet (W3C) WordNet (VUA) VIVO UF VIVO Indiana VIVO Cornell VIAF URI Burner Sussex Reading Lists Plymouth Reading Lists UniRef UniProt UMBEL UK Post- codes legislation data.gov.uk Uberblic UB Mann- heim TWC LOGD Twarql transport data.gov. uk Traffic Scotland theses. fr Thesau- rus W totl.net Tele- graphis TCM Gene DIT Taxon Concept Open Library (Talis) tags2con delicious t4gm info Swedish Open Cultural Heritage Surge Radio Sudoc STW RAMEAU SH statistics data.gov. uk St. Andrews Resource Lists ECS South- ampton EPrints SSW Thesaur us Smart Link Slideshare 2RDF semantic web.org Semantic Tweet Semantic XBRL SW Dog Food Source Code Ecosystem Linked Data US SEC (rdfabout) Sears Scotland Geo- graphy Scotland Pupils & Exams Scholaro- meter WordNet (RKB Explorer) Wiki UN/ LOCODE Ulm ECS (RKB Explorer) Roma RISKS RESEX RAE2001 Pisa OS OAI NSF New- castle LAAS KISTI 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 research data.gov. ukRen. Energy Genera- tors reference data.gov. uk Recht- spraak. nl RDF ohloh Last.FM (rdfize) RDF Book Mashup Rådata nå! PSH Product Types Ontology Product DB PBAC Poké- pédia patents data.go v.uk Ox Points Ord- nance Survey Openly Local Open Library Open Cyc Open Corpo- rates Open Calais OpenEI Open Election Data Project Open Data Thesau- rus Ontos News Portal OGOLOD Janus AMP Ocean Drilling Codices New York Times NVD ntnusc NTU Resource Lists Norwe- gian MeSH NDL subjects ndlna my Experi- ment Italian Museums medu- cator MARC Codes List Man- chester Reading Lists Lotico Weather Stations London Gazette LOIUS Linked Open Colors lobid Resources lobid Organi- sations LEM Linked MDB LinkedL CCN Linked GeoData LinkedCT Linked User Feedback LOV Linked Open Numbers LODE Eurostat (Ontology Central) Linked EDGAR (Ontology Central) 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 Piedmont Accomo- dations GovTrack GovWILD Google Art wrapper gnoss GESIS GeoWord Net Geo Species Geo Names Geo Linked Data GEMET GTAA STITCH SIDER Project Guten- berg Medi Care Euro- stat (FUB) EURES Drug Bank Disea- some DBLP (FU Berlin) Daily Med CORDIS (FUB) Freebase flickr wrappr Fishes of Texas Finnish Munici- palities ChEMBL FanHubz Event Media 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 educatio n.data.g ov.uk ECS South- ampton ECCO- TCP GND Didactal ia DDC Deutsche Bio- graphie data dcs Music Brainz (DBTune) Magna- tune John Peel (DBTune) Classical (DB Tune) Audio Scrobbler (DBTune) Last.FM artists (DBTune) DB Tropes Portu- guese DBpedia dbpedia lite Greek DBpedia DBpedia data- open- ac-uk SMC Journals Pokedex Airports NASA (Data Incu- bator) Music Brainz (Data Incubator) Moseley Folk Metoffice Weather Forecasts Discogs (Data Incubator) Climbing data.gov.uk intervals Data Gov.ie data bnf.fr Cornetto reegle Chronic- ling America Chem2 Bio2RDF Calames business data.gov. uk Bricklink Brazilian Poli- ticians BNB UniSTS UniPath way UniParc Taxono my UniProt (Bio2RDF) SGD Reactome PubMed Pub Chem PRO- SITE ProDom Pfam PDB OMIM MGI KEGG Reaction KEGG Pathway KEGG Glycan KEGG Enzyme KEGG Drug KEGG Com- pound InterPro Homolo Gene 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 AGROV OC 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/ 15
  16. 16. http://dbpedia.org 16
  17. 17. http://dbpedia.org/resource/Japan17
  18. 18. http://wiki.dbpedia.org/Internationalization/Chapters18
  19. 19. http://ja.dbpedia.org 19
  20. 20. 日本語Linked Data Cloud図 ! • 27データセット • 本家よりも緩い条件 • 日本にいる人・組織 • 日本語ラベルを含む • 1000トリプル以上 • dereference/データダン プ/SPARQL Endpoint • LODクラウドかJLDCへ のリンク http://linkedopendata.jp/?p=486 20
  21. 21. SPARQL • RDF用クエリ言語 • SQLのような文法 • データモデル: RDF • プロトコル: HTTP • 結果形式: JSON, XML, (CSV, TSV) • W3C仕様 • 2013-03-21に1.1勧 告 RDB Query DB Model RDF Model SQL Relational Model RDF Store SPARQL 21
  22. 22. グラフのクエリ • グラフの最小単位: 3つ組 (トリプル) ! • グラフパターン 1. 完全一致 • dbp:東京都 dbp-owl:country dbp:日本 . 2. 変数によるパターンマッチ • dbp:東京都 dbp-owl:country ?country . 3. 1と2の組み合わせ dbp:東京都 dbp:日本 dbpedia-­‐owl:country 22
  23. 23. :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 好き嫌いグラフ 23
  24. 24. :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  . 24
  25. 25. :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  . 25
  26. 26. SPARQLエンドポイント • SPARQLクエリを受け付け る場所 • SPARQLエンドポイントURI • プログラムからSPARQLを使 うときに指定 • 入力フォームがある場合 もあり • 例: http://ja.dbpedia.org/sparql 26
  27. 27. dbp-­‐owl:AdministraIveRegion dbp:サイボーグ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:label dbp:村井嘉浩 dbp-­‐owl:leaderName DBpedia Japaneseのグラフ例 dbp:手塚治虫 文化賞 dbp-­‐owl:Cartoon rdf:type 27
  28. 28. dbp-­‐owl:AdministraIveRegion dbp:サイボーグ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:label dbp:村井嘉浩 dbp-­‐owl:leaderName dbp:手塚治虫 文化賞 dbp-­‐owl:Cartoon rdf:type クエリ:  石ノ森章太郎の出身地   PREFIX  dbp:  <hVp://ja.dbpedia.org/resource/>   PREFIX  dbp-­‐owl:  <hVp://dbpedia.org/ontology/>   ! SELECT  ?birthPlace   WHERE  {      dbp:石ノ森章太郎  dbp-­‐owl:birthPlace  ?birthPlace  .   } 28
  29. 29. 29
  30. 30. • SELECT:  取得したい変数を指定 • SELECT  *  は全ての変数指定と同等 • 結果形式:  XML,  JSON,  CSV,  TSV,  ...   • WHERE:    {}内にグラフパターンの組み合わせを記述 • LIMIT:    件数の制限 • 100だと1-­‐100まで取得   • LIMITがない場合は全件取得   • 量が多い場合はサーバに負荷をかけるので注意   • PREFIX:    URIを短縮して記述するための仕組み • dbp:東京都  =  <hVp://ja.dbpedia.org/resource/東京都> PREFIX  dbp:  <hVp://ja.dbpedia.org/resource/>   PREFIX  dbp-­‐owl:  <hVp://dbpedia.org/ontology/>   ! SELECT  ?birthPlace   WHERE  {      dbp:石ノ森章太郎  dbp-­‐owl:birthPlace  ?birthPlace  .   } 30
  31. 31. dbp-­‐owl:AdministraIveRegion dbp:サイボーグ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:label dbp:村井嘉浩 dbp-­‐owl:leaderName dbp:手塚治虫 文化賞 dbp-­‐owl:Cartoon rdf:type クエリ:  手塚治虫文化賞を受賞した漫画家   PREFIX  dbp:  <hVp://ja.dbpedia.org/resource/>   PREFIX  dbp-­‐owl:  <hVp://dbpedia.org/ontology/>   ! SELECT  ?creator   WHERE  {      ?creator  rdf:type  dbp-­‐owl:ComicsCreator  ;          dbp-­‐owl:award  dbp:手塚治虫文化賞  .   } 31
  32. 32. 32
  33. 33. dbp-­‐owl:AdministraIveRegion dbp:サイボーグ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:label dbp:村井嘉浩 dbp-­‐owl:leaderName dbp:手塚治虫 文化賞 dbp-­‐owl:Cartoon rdf:type クエリ:  手塚治虫文化賞を受賞した漫画家の代表的な漫画   PREFIX  dbp:  <hVp://ja.dbpedia.org/resource/>   PREFIX  dbp-­‐owl:  <hVp://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  .   } 石ノ森章太郎 33
  34. 34. 34
  35. 35. http://datahub.io/dataset?q=&res_format=api%2Fsparql35
  36. 36. http://sparqles.okfn.org/ 36
  37. 37. RDFライブラリ •Java: Jena, Sesame •C: Redland •C#: dotNetRDF •Ruby: RDF.rb •PHP: ARC2, Graphite, RAP •Python: rdflib •Perl: PerlRDF •JavaScript: rdfQuery, rdfstore-js •.... 37
  38. 38. SPARQLクライアント ライブラリ •Ruby: sparql-client •JavaScript: jquery- sparql •Python: SPARQLWrapper •Java: ARQ •C: Rasqal •R: SPARQL •Haskell: hsparql •等々 38 http://linkeddata.jp/wiki/ツール http://www.w3.org/2001/sw/wiki/Tools参照 http://www.w3.org/wiki/SparqlImplementations
  39. 39. RDF.rb $ gem install linkeddata 39
  40. 40. Turtleファイルの読込 &SPARQL 1 #!/usr/bin/env ruby! 2 # -*- coding: utf-8 -*-! 3 require 'linkeddata'! 4! 5 repo = RDF::Repository.load("http://linkdata.org/download/rdf1s927i/ttl/ osaka_heliport20140106_ttl.txt", :format => :turtle)! 6! 7 query = """PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>! 8 SELECT *! 9 WHERE {! 10 ?s rdfs:label ?o .! 11 }"""! 12 sse = SPARQL.parse(query)! 13! 14 repo.query(sse).each do |solution|! 15 puts solution.inspect! 16 end 40
  41. 41. SPARQL Endpoint へのクエリ 1 #!/usr/bin/env ruby! 2 # -*- coding: utf-8 -*-! 3! 4 require 'linkeddata'! 5! 6 client = SPARQL::Client.new("http://dbpedia.org/sparql")! 7 query = """SELECT ?o! 8 WHERE {! 9 <http://dbpedia.org/resource/Tokyo> <http://dbpedia.org/ontology/country> ?o .! 10 }"""! 11! 12 client.query(query).each do |solution|! 13 puts solution[:o]! 14 end 41
  42. 42. Sgvizler •Javascript/jQueryの可視化ライブラリ •http://dev.data2000.no/sgvizler/ •基本的にSPARQL埋め込むだけ •主にGoogle Visualization API •安定版は0.6 •CORS or JSONP •使い方 •div要素に埋め込む •直接Javascriptを書く •クエリフォームから入力する 42
  43. 43. 43
  44. 44. 44
  45. 45. 45
  46. 46. 46
  47. 47. 47
  1. A particular slide catching your eye?

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

×