• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
第4回 AIツール入門講座 Linked Open Data入門
 

第4回 AIツール入門講座 Linked Open Data入門

on

  • 5,619 views

2013-07-05 に行われた 人工知能学会主催 第4回 AIツール入門講座の資料

2013-07-05 に行われた 人工知能学会主催 第4回 AIツール入門講座の資料
http://www.ai-gakkai.or.jp/no04_jsai_tool_introductory_course/

Statistics

Views

Total Views
5,619
Views on SlideShare
3,470
Embed Views
2,149

Actions

Likes
24
Downloads
67
Comments
0

14 Embeds 2,149

http://fumi.me 1949
https://twitter.com 93
http://blog.iotaworks.jp 67
https://www.facebook.com 17
http://cloud.feedly.com 9
http://translate.googleusercontent.com 3
http://localhost 2
http://webcache.googleusercontent.com 2
http://s.deeeki.com 2
http://fumi.me. 1
https://m.facebook.com&_=1381186641716 HTTP 1
https://m.facebook.com&_=1381120386397 HTTP 1
http://feeds.feedburner.com 1
http://cache.yahoofs.jp 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    第4回 AIツール入門講座 Linked Open Data入門 第4回 AIツール入門講座 Linked Open Data入門 Presentation Transcript

    • 第4回AIツール入門講座 Linked Open Data入門 (共)情報・システム研究機構 加藤文彦 2013-07-05 1
    • 加藤 文彦 (かとうふみひろ) • (共)情報・システム研究機構 特任研究員 • LODACプロジェクト • DBpedia Japanese • NPO リンクト・オープン・データ・イニシアティブ 理事 • CKAN • Open DATA METI • コミュニティ • Linked Data勉強会 • Linked Open Data チャレンジ Japan • CKAN日本語 2
    • ティム・バーナーズ=リーが示す次のウェブ 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 Raw Data Now! 3
    • Linked  Data (データのWeb) Open  Data (オープンライセンス) 4
    • Open  Data (オープンライセンス) Linked  Data (データのWeb) Reuse 5
    • Open Data 6
    • Open (Data) License 7
    • データやコンテンツがオープンであるというの は,クレジット表示と/またはライセンスの継承を するくらいの条件で,誰もが自由に利用,再利 用,再配布できるということである. The  Open  Defini+on  -­‐  h.p://opendefini+on.org 8
    • ⃝ ☓ 9
    • Open Government Data 10
    • 11
    • http://data.gov.uk 12
    • 13
    • http://www.city.sabae.fukui.jp/pageview.html?id=11552 14
    • http://datameti.go.jp 15
    • 16
    • 17
    • 18
    • by DPADM/UMU, OGDCE Toolkit 19
    • http://spending.jp 20
    • CKAN • FLOSSのデータポータルソフトウェア • AGPL v3.0 • http://github.com/okfn/ckan • Open Knowledge Foundation • 約50の国や地方自治体等で採用 • Python+JavaScript • PostgreSQL+SOLR • API提供 • 豊富な拡張 21
    • http://datahub.io 22
    • http://data.linkedopendata.jp 23
    • Linked Data 24
    • 25
    • Web技術でデータを 公開・共有するための方法論 26
    • データのWeb 27
    • Webの原則 1.IRIをHTML文書の識別 子として使う 2.IRIにはhttpスキームを 使う 3.IRIを見るとHTML文書 が返ってくる 4.HTML文書には他のIRI へのリンクがある 28
    • Linked Dataの原則 1.IRIをモノ(Thing)の識 別子として使う 2.IRIにはhttpスキームを 使う 3.IRIを見るとモノの構造 化データが返ってくる 4.データには他のIRIへの 型付リンクがある 子供 執筆 発行日 誕生日 出版社 所在地 "Things,  not  Strings"  by  Google 29
    • 30
    • 作品 作品 書誌 31
    • 友人 在住 人物 32
    • 舞台 観光地 観光地 名前の由来 観光 33
    • 舞台 観光地 観光地 名前の由来 作品 作品 友人 在住 書誌人物 観光 34
    • Reuse Discovery Integration ID 35
    • Reuse 構造化データ 36
    • IRIID 37
    • 26 38
    • 26 ISO3166-2:JP 京都府 工業統計コード 生産用機械器具製造業 FC東京 阿部 巧 39
    • 26 ISO3166-2:JP 京都府 工業統計コード 生産用機械器具製造業 FC東京 阿部 巧 http://www.iso.org/3166-2/jp/26 http://www.fctokyo.co.jp/players/2013/26http://www.meti.go.jp/industrial-code/26 IDをIRIにすると世界で ユニークなIDになる 40
    • Discovery Derefereceable IRI (HTTP) 41
    • http://www.w3.org/TR/webarch/ 42
    • Content-negotiation •あるリソースに対する表現をHTTPリク エストで折衝する仕組み •例: JPEGとSVGの画像 43
    • 1. request /resource/Japan 2. return an HTML document for /resource/Japan http://dbpedia.orgWeb 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 VDB Accept-Ranges: bytes Location: http://dbpedia.org/page/Japan 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 ..... 44
    • 1. request /resource/Japan 2. return a turtle document for /resource/Japan http://dbpedia.orgLOD Agent @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 dbpedia:Japan . @prefix dbpedia-owl: <http://dbpedia.org/ontology/> . dbpedia:Ayumi_Hamasaki dbpedia-owl:hometown dbpedia:Japan ; dbpedia-owl:birthPlace dbpedia:Japan . dbpedia:Nippon_Columbia dbpedia-owl:distributingCompany dbpedia:Japan ; dbpedia-owl:distributingLabel dbpedia:Japan ; dbpedia-owl:country dbpedia:Japan . @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix yago: <http://dbpedia.org/class/yago/> . dbpedia:Japan rdf:type yago:EastAsianCountries , owl:Thing . @prefix ns6: <http://schema.org/> . dbpedia:Japan rdf:type ns6:Country , yago:CountriesBorderingThePhilippineSea , yago:Empires , yago:IslandCountries , yago:StatesAndTerritoriesEstablishedIn660BC , dbpedia-owl:Country , 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 . % curl -ILH 'Accept: text/turtle' http://dbpedia.org/resource/Japan HTTP/1.1 303 See Other Date: Thu, 04 Jul 2013 09:36:52 GMT Content-Type: text/turtle; qs=0.7 Content-Length: 0 Connection: keep-alive Server: Virtuoso/07.00.3203 (Linux) i686-generic-linux-glibc212-64 VDB TCN: choice Vary: negotiate,accept Link: <http://mementoarchive.lanl.gov/dbpedia/timegate/http:// dbpedia.org/resource/Japan>; rel="timegate" Location: http://dbpedia.org/data/Japan.ttl HTTP/1.1 200 OK Date: Thu, 04 Jul 2013 09:36:52 GMT Content-Type: text/turtle; charset=UTF-8 Content-Length: 1967774 Connection: keep-alive ...... 45
    • Cool URIs • 実体とその表現のIRIも分離 • 2つの代表的なソリューション • 303 See Other • 実体IRIを参照したときに適切なIRIへ303でリダイレ クトする • ハッシュIRI • 実体を # 付きのIRI • エージェントがアクセスするときには # 以下が取れる 46
    • Integration IRI + 型付リンク 47
    • ID name tel zipcode prefecture 001 市役所 0778-51-2200 916-8666 福井県 施設データテーブル 48
    • ID name population 18 福井県 795824 26 京都府 2623924 ID name tel zipcode prefecture 001 市役所 0778-51-2200 916-8666 18 施設データテーブル 都道府県データテーブル IDでjoin 49
    • ID name population http://.../3166/jp/18 福井県 795824 http://.../3166/jp/26 京都府 2623924 ID name tel zipcode prefecture 001 市役所 0778-51-2200 916-8666 http://.../3166/jp/18 IDをhttp IRIにすることで外部から参照される prefectureのデータ 施設データテーブル 都道府県データテーブル 50
    • RDF Discovery Integration Reuse 全てを含んだグラフデータモデル ID 51
    • 子供 執筆 発行日 誕生日 出版社 所在地 52
    • 子供 執筆 発行日 誕生日 出版社 所在地 53
    • シリアライズ形式 • Turtle (N3) • JSON-LD • RDFa • Microdata • RDF/XML • TriX • TriG • ...... 54
    • http://www.w3.org/TR/turtle/ 55
    • http://json-ld.org/ 56
    • 57
    • https://developers.google.com/gmail/schemas/reference/formats/json-ld 58
    • http://5stardata.info/ja/ 59
    • 1. オープンライセンス 2. 構造化データ 3. オープンな形式 4. IRIによる識別 / W3C標準 5. 他データへのリンク Linked Open Data 60
    • 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/ 61
    • http://datahub.io/dataset?q=&groups=lodcloud 62
    • http://dbpedia.org 63
    • http://dbpedia.org/resource/Japan 64
    • http://wiki.dbpedia.org/Internationalization/Chapters 65
    • http://ja.dbpedia.org 66
    • http://ja.dbpedia.org/resource/日本 67
    • 68
    • http://linkedgeodata.org 69
    • http://linkedgeodata.org/triplify/node355845257 70
    • http://browser.linkedgeodata.org/ 71
    • http://www.uniprot.org/ 72
    • http://dev.isb-sib.ch/projects/uniprot-rdf/ 73
    • http://beta.sparql.uniprot.org/ 74
    • 75
    • http://linkedlifedata.com/ 76
    • 77
    • 78
    • SPARQL 79
    • クエリ言語 • データの検索や操作を行うための言語 • データモデルやDBシステムに合わせて設計 • 例: SQL – データモデル: 関係モデル – DBシステム: RDBMS • LODのデータモデル: グラフモデル 80
    • グラフのクエリ • グラフの最小単位: 3つ組 (トリプル) • グラフパターン 1. 完全一致 • dbp:東京都 dbp-owl:country dbp:日本 . 2. 変数によるパターンマッチ • dbp:東京都 dbp-owl:country ?country . 3. 1と2の組み合わせ dbp:東京都 dbp:日本 dbpedia-­‐owl:country 81
    • :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 好き嫌いグラフ 82
    • :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  . 83
    • :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  . 84
    • SPARQL • LOD用クエリ言語 • SQLのような文法 • データモデル: RDF • プロトコル: HTTP • W3C仕様 • 1.1が2013-03-21に勧告 • 11種類の文書 85
    • RDB Query DB Model RDF Model SQL Relational Model RDF Store SPARQL 86
    • SPARQLエンドポイント • SPARQLクエリを受け付ける場所 • SPARQLエンドポイントURI • プログラムからSPARQLを使うときに指定 • 入力フォームがある場合もあり 87
    • DBpedia Japanese SPARQLエンドポイント 88
    • dbp-­‐owl:AdministraMveRegion 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:Comics rdf:type 89
    • dbp-­‐owl:AdministraMveRegion 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:Comics rdf:type クエリ:  石ノ森章太郎の出身地 PREFIX  dbp:  <hYp://ja.dbpedia.org/resource/> PREFIX  dbp-­‐owl:  <hYp://dbpedia.org/ontology/> SELECT  ?birthPlace WHERE  {    dbp:石ノ森章太郎  dbp-­‐owl:birthPlace  ?birthPlace  . } 90
    • 91
    • • 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  ?birthPlace WHERE  {    dbp:石ノ森章太郎  dbp-­‐owl:birthPlace  ?birthPlace  . } 92
    • dbp-­‐owl:AdministraMveRegion 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:Comics rdf:type クエリ:  手塚治虫文化賞を受賞した漫画家 PREFIX  dbp:  <hYp://ja.dbpedia.org/resource/> PREFIX  dbp-­‐owl:  <hYp://dbpedia.org/ontology/> SELECT  ?creator WHERE  {    ?creator  rdf:type  dbp-­‐owl:ComicsCreator  ;        dbp-­‐owl:award  dbp:手塚治虫文化賞  . } 93
    • 94
    • dbp-­‐owl:AdministraMveRegion 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:Comics rdf:type クエリ:  手塚治虫文化賞を受賞した漫画家の代表的な漫画 PREFIX  dbp:  <hYp://ja.dbpedia.org/resource/> PREFIX  dbp-­‐owl:  <hYp://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:Comics  ;  rdfs:label  ?comicName  . } 石ノ森章太郎 95
    • 96
    • SPARQL 1.0 • データ取得 • SELECT • ASK • DESCRIBE • CONSTRUCT • ほぼどこでも使える 97
    • SELECT 例) 任意の3つ組を100件取得 SELECT ?s ?p ?o WHERE { ?s ?p ?o . } LIMIT 100 98
    • 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  . } 99
    • DESCRIBE • DESCRIBE: リソースに関するグラフを取得 • 実装依存 • 多くの場合は対象リソースをsubjectかobjectに 含む3つ組の集合 • 結果形式: RDF/XML,Turtle, … 例) http://ja.dbpedia.org/resource/横浜市に関するグラフを取得 DESCRIBE <http://ja.dbpedia.org/resource/横浜市> 100
    • 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  . } 101
    • Named Graph • 3つ組の集合を区別 したいという要求 • データソースや ファイルの違い • Triple(3つ組)では なくQuad(4つ組) 102
    • Named Graphの例 PREFIX  dcndl:  hYp://ndl.go.jp/dcndl/terms/> PREFIX  rdfs:  <hYp://www.w3.org/2000/01/rdf-­‐schema#> PREFIX  dc:  <hYp://purl.org/dc/terms/> SELECT  DISTINCT  * WHERE  {    GRAPH  ?g  {        <hYp://lod.ac/species/Papilio_xuthus>  ?p  ?o    .    }    ?g  dc:source  ?source  .    ?source  dcndl:ediMon  ?ediMon  ;                        dc:publisher/rdfs:label  ?publisher  . } 103
    • SPARQL 1.1 • データ管理 • 作成・更新・削除用句 • INSERT, UPDATE, DELETE, LOAD, DROP • サービス記述 • Graph Store HTTP Protocol • 結果形式の追加: JSON, CSV, TSV • 様々な追加機能 • プロパティパス,集約,条件,数値関数,文字列関数,サブクエリ,Federatedクエリなど • 実装の差 • 最新の実装だと大分カバーされている • 実働中のエンドポイントは差あり • 特にFederatedクエリやBINDあたりは使えないところも多い 104
    • プロパティパス •通常の3つ組パターン: ?s ?p ?o •?oの省略や?pの繰り返し,?pの逆向き 等を記述可能 PREFIX  dbp:  <hYp://ja.dbpedia.org/resource/> PREFIX  dbp-­‐owl:  <hYp://dbpedia.org/ontology/> SELECT  ?creatorName  ?comicName WHERE  {    ?creator  dbp-­‐owl:notableWork/rdfs:label  ?comicName  . } 105
    • プロパティパスの例 •?s foaf:knows/foaf:knows ?o •?s foaf:knows+ ?o •?s ^foaf:knows ?o •?s foaf:name¦rdfs:label ?o 106
    • 集約 • COUNT: 個数 • SUM: 合計 • AVG: 平均 • MIN: 最小値 • MAX: 最大値 • GROUP BY: 107
    • COUNT 例)  森薫リソースのオブジェクトの数 SELECT  (COUNT(?o)  AS  ?count) WHERE  {    <hYp://dbpedia.org/resource/Kaoru_Mori>  ?p  ?o  . } 108
    • GROUP BY 例)  クラス毎のインスタンスの数上位100件を降順 SELECT  ?class  (COUNT(?instance)  AS  ?noOfInstances) WHERE  {      ?instance  a  ?class  . } GROUP  BY  ?class ORDER  BY  DESC(?noOfInstances) LIMIT  100 109
    • サブクエリ 例)  クラス毎のインスタンスの数の平均 SELECT  (AVG(?noOfInstances)  AS  ?avg) WHERE  {    {        SELECT  ?class  (COUNT(?instance)  AS  ?noOfInstances)        WHERE  {              ?instance  a  ?class  .        }        GROUP  BY  ?class    } } 110
    • Federatedクエリ • サブクエリの延長 • SERVICE句 • クエリを直接投げたエンドポイント以外を指定し てクエリを投げられる • 2ヶ所以上のSPARQLエンドポイントに対してク エリを発行して自動的に結果を結合 • まだ使えるエンドポイントが限られるし相互運用性 も怪しいがSPARQLのパワフルさの象徴の一つ 111
    • SPARQL Endpointリスト • http://datahub.io/dataset?q=&res_format=api %2Fsparql • http://labs.mondeca.com/sparqlEndpointsStatus/ 112
    • http://datahub.io/dataset?q=&res_format=api%2Fsparql 113
    • http://labs.mondeca.com/sparqlEndpointsStatus/ 114
    • http://lod.ac/apps/lodac_location/ 115
    • 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 > #{sw_lat} && ?lat < #{ne_lat} && ?long > #{sw_long} && ?long < #{ne_long} && lang(?title) = "ja" ) } 116
    • http://lod.ac/apps/yas 117
    • 118
    • 119
    • © 2013 Scholex co.,ltd. and ATR Creative Inc. © 2013 ATR Creative Inc., Linked Open Data Initiative 120
    • Tool 121
    • ライブラリ 122
    • 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参照 123
    • SPARQLクライアント ライブラリ • Ruby: sparql • Python: SPARQLWrapper • Java: ARQ • C: Rasqal • R: SPARQL • Haskell: hsparql • 等々 • http://linkeddata.jp/wiki/ツール • http://www.w3.org/wiki/SparqlImplementations 124
    • sparql - RDF.rb $ gem install sparql 125
    • Querying a 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 8 query = """SELECT ?o 9 WHERE { 10 <http://dbpedia.org/resource/Daejeon> <http://dbpedia.org/ontology/country> ?o . 11 }""" 12 13 client.query(query).each do |solution| 14 puts solution[:o] 15 end 126
    • R SPARQL > install.packages( SPARQL ) 127
    • > 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) 128
    • RDB Query DB Model RDF Model SQL Relational Model RDF Store SPARQL 129
    • RDF Store • TripleStore / QuadStore / Graph DB • SPARQLエンドポイント • オプション • RDFS/OWL Inference • Full text indexing • Clustering • See http://en.wikipedia.org/wiki/ Triplestore Bigdata® 130
    • http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/ 131
    • https://github.com/openlink/virtuoso-opensource 132
    • 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 133
    • http://localhost:8890/conductor/ 134
    • http://localhost:8890/conductor/ 135
    • 136
    • 137
    • http://localhost:8890/sparql 138
    • Sgvizler • Javascript/jQueryの可視化ライブラリ • https://code.google.com/p/sgvizler/ • 基本的にSPARQL埋め込むだけ • 主にGoogle Visualization API • 安定版は0.5 • HEADは大分変更があるので注意 139
    • 140
    • 使い方 •div要素に埋め込む •直接Javascriptを書く •クエリフォームから入力する 141
    • 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 142
    • Reconciliation • ラベル(と付加情報)にマッチ する潜在的なエンティティリ ストを推薦 • Apple社 vs フルーツの apple vs New York City • pathやURI • サービス • Freebase • Reconciliation API • SPARQL (要RDFRefine) 143
    • 144
    • •ツール・ライブラリまとめ hYp://linkeddata.jp/wiki/ツール •SPARQLクエリ例 hYp://goo.gl/bPSHp •RDF.rbの資料 hYp://www.slideshare.net/fumihiro/ programming-­‐with-­‐lod 145
    • 146