62
情報メディア工学特論A 4回〜6LOD可視化の演習 作成: v1.0 20141016 山口 琢、Future University Hakodate 20141016 Taku Yamaguchi, Future University Hakodate 1

情報メディア工学特論A 第4回〜6回 LOD可視化の演習

Embed Size (px)

DESCRIPTION

2014-10-16、情報メディア工学特論A 第4回〜6回

Citation preview

Page 1: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

情報メディア工学特論A  第4回〜6回  LOD可視化の演習

作成:  v1.0  2014-­‐10-­‐16  山口 琢、Future  University  Hakodate  

2014-­‐10-­‐16 Taku  Yamaguchi,  Future  University  Hakodate 1

Page 2: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

データのWEB

リンクをたどる

Taku  Yamaguchi,  Future  University  Hakodate 2 2014-­‐10-­‐16

Page 3: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

[再掲]文書のWeb n 文章ファイル+リンク  

p 異なるWebサーバにある、情報を相互にハイパーリンクで結びつけることで作られている  

n 人が読むことを想定している  p 同じ事柄に関することでも機械では判断できない  

3  

HTML HTML

HTML

リンク リンク

リンク

Taku  Yamaguchi,  Future  University  Hakodate 2014-­‐10-­‐16

Page 4: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

文書のWeb

Taku  Yamaguchi,  Future  University  Hakodate 4  

HTML HTML

HTML

リンク リンク

リンク

hLp://www.fun.ac.jp/ hLp://www.fun.ac.jp/  research/faculty_members/  

michikooba/

hLp://www.fun.ac.jp/  research/faculty_members/

2014-­‐10-­‐16

Copyright  ©2014,  FUTURE  UNIVERSITY  HAKODATE.

Page 5: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

[再掲]LODによるデータのWeb n データ(RDF)+リンク[LOD:  Linked  Open  Data]  

p 異なるデータ源のデータが相互に結びつく  

n 機械が読むことを想定  p 複雑なデータ空間の中で動作させるアプリケーションを容

易に構築することができる  

 

5  

データ

データ

データ

データ

データ

データ

データ

Taku  Yamaguchi,  Future  University  Hakodate

RDF((Resource  Descrip`on  Framework))   2014-­‐10-­‐16

Page 6: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

LODによるデータのWeb

Taku  Yamaguchi,  Future  University  Hakodate 6  

データ

データ

データ

データ

データ

データ

データ

RDF((Resource  Descrip`on  Framework))  

hLp://ja.dbpedia.org/resource/函館市

2014-­‐10-­‐16

スタート:  最初のデータ

Page 7: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

データのWeb

Taku  Yamaguchi,  Future  University  Hakodate 7  

データ

データ

文書

DBpedia  Japanese

hLp://ja.dbpedia.org/resource/函館市

hLp://ja.dbpedia.org/resource/北斗市  

函館市

hLp://www.city.hakodate.hokkaido.jp/

2014-­‐10-­‐16

函館市

Page 8: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

ちょっと待て…

Taku  Yamaguchi,  Future  University  Hakodate 8 2014-­‐10-­‐16

Page 9: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

あれ?  #1

n データの名前って、そのまま  ブラウザのアドレス欄に入力できるの?  hLp://ja.dbpedia.org/resource/函館市  ⇒  URI:  データの識別子  ⇒  hLp://  〜:  参照解決可能(dereferenceable)  

n その操作の仕方って、それじゃぁ文書では?  というか、アドレスが変わってないか?  hLp://ja.dbpedia.org/page/函館市  ⇒  Content  nego`a`on

Taku  Yamaguchi,  Future  University  Hakodate 9 2014-­‐10-­‐16

Page 10: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

URI、hLp://〜

n URI:  データの識別子  n hLp://  〜:  参照解決可能(dereferenceable)  

⇒  ティム・バーナーズ=リーによるLinked  Data4つの原則  1.  Use  URIs  as  names  for  things  2.  Use  HTTP  URIs  so  that  people  can  look  up  those  names.  3.  When  someone  looks  up  a  URI,  provide  useful  

informa`on,  using  the  standards  (RDF*,  SPARQL)  4.  Include  links  to  other  URIs.  so  that  they  can  discover  

more  things.  hLp://www.w3.org/DesignIssues/LinkedData.html  

Taku  Yamaguchi,  Future  University  Hakodate 10 2014-­‐10-­‐16

Page 11: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

Content  nego`a`on  #1

Google  Chrome  /  Developer  Tools  /  

Network 2014-­‐10-­‐16 Taku  Yamaguchi,  Future  University  Hakodate 11  

データ

データ

DBpedia  Japanese

hLp://ja.dbpedia.org/resource/函館市

hLp://ja.dbpedia.org/page/函館市

Page 12: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

Content  nego`a`on  #2 n  「HTMLと画像を受け付け(accept)ます」とブラウザが言ったら…  

n  「では、あちらを見なさい」と別のURIをサーバに案内された

Taku  Yamaguchi,  Future  University  Hakodate 12

Accept:  text/html,applica`on/xhtml+xml,…

2014-­‐10-­‐16

Page 13: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

Content  nego`a`on  #3 n  案内された先のHTMLページを見ている

Taku  Yamaguchi,  Future  University  Hakodate 13

Content-­‐Type:  text/html;  charset=UTF-­‐8  

2014-­‐10-­‐16

Page 14: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

「データ」が欲しいんだけど… JSON形式でゲット

2014-­‐10-­‐16 Taku  Yamaguchi,  Future  University  Hakodate 14

hLp://ja.dbpedia.org/data/函館市.json

DBpedia  Japanese  by  DBpedia  Community

Page 15: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

いやいや、「最初から」データが欲しい…

$  curl  -­‐iLH  "Accept:  applica`on/json"  "hLp://ja.dbpedia.org/resource/%E5%87%BD%E9%A4%A8%E5%B8%82"    

HTTP/1.1  303  See  Other  Vary:  nego`ate,accept  Content-­‐Type:  applica`on/json;  qs=0.6  

Loca`on:  hLp://ja.dbpedia.org/data/%E5%87%BD%E9%A4%A8%E5%B8%82.json  Content-­‐Length:  0    

HTTP/1.1  200  OK  Server:  Virtuoso/07.00.3203  (Linux)  x86_64-­‐unknown-­‐linux-­‐gnu      

Content-­‐Type:  applica`on/json  Content-­‐Length:  517744    {      "hLp://ja.dbpedia.org/resource/\u5317\u6D77\u9053"  :  {  "hLp://dbpedia.org/ontology/wikiPageWikiLink"  :  [  {  "type"  :  "uri",  "value"  :  "hLp://ja.dbpedia.org/resource/\u51FD\u9928\u5E02"  }  ]  }  ,      "hLp://ja.dbpedia.org/resource/\u65E5\u672C\u30D7\u30ED\u91CE\u7403"  :  {  "hLp://dbpedia.org/ontology/wikiPageWikiLink"  :  [  {  "type"  :  "uri",  "value"  :  "hLp://ja.dbpedia.org/resource/\u51FD\u9928\u5E02"  }  ]  }  ,      "hLp://ja.dbpedia.org/resource/\u65E5\u672C\u306E\u5730\u7406"  :  {  "hLp://dbpedia.org/ontology/wikiPageWikiLink"  :  [  {  "type"  :  "uri",  "value"  :  "hLp://ja.dbpedia.org/resource/\u51FD\u9928\u5E02"  }  ]  }  ,  

…  Taku  Yamaguchi,  Future  University  Hakodate 15 2014-­‐10-­‐16

Page 16: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

あれ?  #2

n ところで、  「%E5%87%BD%E9%A4%A8%E5%B8%82」  って何?  「函館市」じゃないの?  ⇒パーセントエンコーディング  

Taku  Yamaguchi,  Future  University  Hakodate 16 2014-­‐10-­‐16

Page 17: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

パーセントエンコーディング

URIにASCII(のサブセット)以外の文字を使うとき  

「URLエンコード」とも呼ばれる

Wikipediaで「函館市」の項目を表示…  p ブラウザのアドレスバーでは、こう見える  hLp://ja.wikipedia.org/wiki/函館市  

p でも、コピーしてテキストエディターに貼り付けると…  hLp://ja.wikipedia.org/wiki/%E5%87%BD%E9%A4%A8%E5%B8%82  

p 「%E5%87%BD%E9%A4%A8%E5%B8%82」は、  「函館市」をパーセントエンコードしたもの  

エンコードした文字データを、パーセントエンコードする  2014-­‐10-­‐16 17 Taku  Yamaguchi,  Future  University  Hakodate

Page 18: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

あれ?  #3

n では、スライド中の  hLp://ja.dbpedia.org/resource/函館市  は、図用の簡易表記?  

n それは…  ⇒  IRI  (Interna`onalized  Resource  Iden`fier)

Taku  Yamaguchi,  Future  University  Hakodate 18 2014-­‐10-­‐16

Page 19: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

IRI:  国際化したURI n URL:  Uniform  Resource  Locator  

古い用語、表現  

n URI:  Uniform  Resource  Iden`fier  ASCIIのサブセット  hLp://ja.wikipedia.org/wiki/%E5%87%BD%E9%A4%A8%E5%B8%82  

n IRI:  Interna`onalized  Resouce  Iden`fier  多言語対応、日本語などを使うことができる  LOD関連の標準はIRIを使う  hLp://ja.dbpedia.org/resource/函館市

Taku  Yamaguchi,  Future  University  Hakodate 19 2014-­‐10-­‐16

Page 20: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

cURLでJSON形式をゲット $  curl  -­‐iLH  "Accept:  applica`on/json"  "hLp://ja.dbpedia.org/resource/函館市"  

HTTP/1.1  303  See  Other  

Content-­‐Type:  applica`on/json;  qs=0.6  

Loca`on:  hLp://ja.dbpedia.org/data/函館市.json  

Content-­‐Length:  0  

 

HTTP/1.1  200  OK  

Content-­‐Type:  applica`on/json  

 

{  

   "hLp://ja.dbpedia.org/resource/\u5317\u6D77\u9053"  :  {  "hLp://dbpedia.org/ontology/wikiPageWikiLink"  :  [  {  "type"  :  "uri",  "value"  :  "hLp://ja.dbpedia.org/resource/\u51FD\u9928\u5E02"  }  ]  }  ,  

…  

Taku  Yamaguchi,  Future  University  Hakodate 20 2014-­‐10-­‐16

Page 21: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

cURLでHTML形式を… $  curl  -­‐iLH  "Accept:  text/html"  "hLp://ja.dbpedia.org/resource/函館市"  

HTTP/1.1  303  See  Other  

Content-­‐Type:  text/html;  charset=UTF-­‐8  

Loca`on:  hLp://ja.dbpedia.org/page/函館市

 

HTTP/1.1  404  Not  found  

Taku  Yamaguchi,  Future  University  Hakodate 21 2014-­‐10-­‐16

Page 22: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

cURLでHTML形式を… $  curl  -­‐iLH  "Accept:  text/html"    "hLp://ja.dbpedia.org/resource/%E5%87%BD%E9%A4%A8%E5%B8%82"  

HTTP/1.1  303  See  Other  

Content-­‐Type:  text/html;  charset=UTF-­‐8  

Loca`on:  hLp://ja.dbpedia.org/page/%E5%87%BD%E9%A4%A8%E5%B8%82  

 

HTTP/1.1  200  OK  

Content-­‐Type:  text/html;  charset=UTF-­‐8  

 

<!DOCTYPE  html>  

<html  xmlns="hLp://www.w3.org/1999/xhtml">  

<head  profile="hLp://www.w3.org/1999/xhtml/vocab">  

   <meta  charset="u{-­‐8"  />  

   <`tle>About:  函館市</`tle>  2014-­‐10-­‐16 Taku  Yamaguchi,  Future  University  Hakodate 22

Page 23: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

ブラウザのアドレスバー

サーバには最初から  %E5%87%BD%E9%A4%A8%E5%B8%82  が伝わっているようだ。  

↑  

ブラウザが変換している  

↑  

文字を見たら、  誰がいつ変換してるのか、  常に注意すること

Taku  Yamaguchi,  Future  University  Hakodate 23 2014-­‐10-­‐16

DBpedia  Japanese  by  DBpedia  Community

Page 24: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

JSON形式 {  

 "hLp://ja.dbpedia.org/resource/\u5317\u6D77\u9053"  :  {  "hLp://dbpedia.org/ontology/wikiPageWikiLink"  :  [  {  "type"  :  "uri",  "value"  :  "hLp://ja.dbpedia.org/resource/\u51FD\u9928\u5E02"  }  ]  }  ,  

 "hLp://ja.dbpedia.org/resource/\u65E5\u672C\u30D7\u30ED\u91CE\u7403"  :  {  "hLp://dbpedia.org/ontology/wikiPageWikiLink"  :  [  {  "type"  :  "uri",  "value"  :  "hLp://ja.dbpedia.org/resource/\u51FD\u9928\u5E02"  }  ]  }  ,  

 "hLp://ja.dbpedia.org/resource/\u65E5\u672C\u306E\u5730\u7406"  :  {  "hLp://dbpedia.org/ontology/wikiPageWikiLink"  :  [  {  "type"  :  "uri",  "value"  :  "hLp://ja.dbpedia.org/resource/\u51FD\u9928\u5E02"  }  ]  }  ,  

…  

Taku  Yamaguchi,  Future  University  Hakodate 24 2014-­‐10-­‐16

Page 25: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

あれ?  #4

n JSONのデータに「北海道」が見当たらない。  「\u5317\u6D77\u9053」って?  ⇒  バックスラッシュエスケープを使ったユニコード文字

Taku  Yamaguchi,  Future  University  Hakodate 25 2014-­‐10-­‐16

Page 26: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

バックスラッシュエスケープを使ったユニコード文字

A  string  is  a  sequence  of  zero  or  more  Unicode  characters,  wrapped  in  double  quotes,  using  backslash  escapes.  A  character  is  represented  as  a  single  character  string.  A  string  is  very  much  like  a  C  or  Java  string.  string  in  JSON  hLp://json.org/

Taku  Yamaguchi,  Future  University  Hakodate 26 2014-­‐10-­‐16

Page 27: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

LOD:  イラスト表現

Taku  Yamaguchi,  Future  University  Hakodate 27  

データ

データ

DBpedia  Japanese hLp://ja.dbpedia.org/resource/北斗市  

隣の自治体

hLp://ja.dbpedia.org/resource/函館市

2014-­‐10-­‐16

Page 28: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

LOD:  イラスト表現

Taku  Yamaguchi,  Future  University  Hakodate 28

函館市 隣の自治体

北斗市  

2014-­‐10-­‐16

Page 29: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

LOD:  イラスト表現

Taku  Yamaguchi,  Future  University  Hakodate 29

函館市 隣の自治体

北斗市  

hLp://ja.dbpedia.org/resource/函館市

hLp://ja.dbpedia.org/resource/北斗市

?

2014-­‐10-­‐16

Page 30: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

JSONでシリアライズ GET  hLp://ja.dbpedia.org/resource/函館市  Accept:  applica`on/json  ↓  …  ,  "hLp://dbpedia.org/ontology/neighboringMunicipality"  :  [  

{  "type"  :  "uri",  "value"  :  "hLp://ja.dbpedia.org/resource/\u5317\u6597\u5E02"  }  ,  {  "type"  :  "uri",  "value"  :  "hLp://ja.dbpedia.org/resource/\u9752\u68EE\u770C"  }  

] Taku  Yamaguchi,  Future  University  Hakodate 30

北斗市

2014-­‐10-­‐16

Page 31: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

JSONでシリアライズ GET  hLp://ja.dbpedia.org/resource/函館市  Accept:  applica`on/json  ↓  …  ,  "hLp://dbpedia.org/ontology/neighboringMunicipality"  :  [  

{  "type"  :  "uri",  "value"  :  "hLp://ja.dbpedia.org/resource/\u5317\u6597\u5E02"  }  ,  {  "type"  :  "uri",  "value"  :  "hLp://ja.dbpedia.org/resource/\u9752\u68EE\u770C"  }  

] Taku  Yamaguchi,  Future  University  Hakodate 31

データ

データ

データ

北斗市

青森県

隣の自治体

2014-­‐10-­‐16

Page 32: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

イラスト表現

Taku  Yamaguchi,  Future  University  Hakodate 32

函館市

隣の自治体 北斗市  

hLp://ja.dbpedia.org/resource/函館市

hLp://ja.dbpedia.org/resource/北斗市

hLp://dbpedia.org/ontology/neighboringMunicipality

青森県  

hLp://ja.dbpedia.org/resource/青森県

隣の自治体

hLp://dbpedia.org/ontology/neighboringMunicipality

2014-­‐10-­‐16

Page 33: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

あれ?  #5

n プロパティ「hLp://dbpedia.org/ontology/neighboringMunicipality」が  「隣の自治体」だって、どうしてわかるの?  ⇒  語彙

2014-­‐10-­‐16 Taku  Yamaguchi,  Future  University  Hakodate 33

Page 34: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

語彙

n 語彙はプロパティの集合  n データセットの仕様を調べる  

例)  ヨコハマ・アート・LOD  >  各情報に含まれるメタ情報については、それぞれのスキーマページに詳しく記載しています。  hLp://fp.ya�p.org/yokohama_art_lod  

n 既存の語彙を調べる  

2014-­‐10-­‐16 Taku  Yamaguchi,  Future  University  Hakodate 34

Page 35: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

あれ?  #6

n 「函館市」の「隣の自治体」を知るのに、  「函館市」の情報全部を取得して、  そこから探すのか?  ⇒  次へ…

2014-­‐10-­‐16 Taku  Yamaguchi,  Future  University  Hakodate 35

Page 36: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

データセットからデータを取得

SPARQL

Taku  Yamaguchi,  Future  University  Hakodate 36 2014-­‐10-­‐16

Page 37: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

賢く使いたい

「函館市」の「隣の自治体」を「問い合わせ」て、  それだけ知りたい。  

…他のデータはいらない。

Taku  Yamaguchi,  Future  University  Hakodate 37 2014-­‐10-­‐16

Page 38: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

エンドポイント

問合せ窓口  =  エンドポイント  1.  DBpedia  Japanese  

hLp://ja.dbpedia.org/sparql  DBpedia  Japanese  by  DBpedia  Community  

2.  函館観光情報  hLp://210.226.0.93/sparql/ 函館まちあるきマップ  by  函館市;  はこだてフィルムコミッション  by  函館市;  函館近代化遺産ポータルサイト  by  函館高専、ノース技研  運営  by  はこだて未来大学 高度ICT演習観光系プロジェクト  

2014-­‐10-­‐16 38 Taku  Yamaguchi,  Future  University  Hakodate

Page 39: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

DBpedia  Japanese  hLp://ja.dbpedia.org/sparql  

2014-­‐10-­‐16 Taku  Yamaguchi,  Future  University  Hakodate 39

Page 40: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

2014-­‐10-­‐16 Taku  Yamaguchi,  Future  University  Hakodate 40

Page 41: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

SPARQLで問い合わせ

1.  「Query  Text」に、次のように入力  select  dis`nct  *  where  {  

       <hLp://ja.dbpedia.org/resource/函館市>  

       <hLp://dbpedia.org/ontology/neighboringMunicipality>  

       ?o  .  

}  

2.  「Run  Query」をクリック

2014-­‐10-­‐16 Taku  Yamaguchi,  Future  University  Hakodate 41

Page 42: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

2014-­‐10-­‐16 Taku  Yamaguchi,  Future  University  Hakodate 42

Page 43: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

問い合わせ結果 2件  n hLp://ja.dbpedia.org/resource/北斗市  n hLp://ja.dbpedia.org/resource/青森県

2014-­‐10-­‐16 Taku  Yamaguchi,  Future  University  Hakodate 43

Page 44: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

文法

select  dis`nct  *  where  {  

       <hLp://ja.dbpedia.org/resource/函館市>  

       <hLp://dbpedia.org/ontology/neighboringMunicipality>  

       ?o  .  

}  

 

2014-­‐10-­‐16 44

WHERE  {  …  }  …というパターンに当てはまる  

主語、 述語、目的語の組を選んで

*  全ての変数  

(?o、…他にあれば)を

SELECT  取り出しなさい

主語

述語

目的語 文末、組の区切り

Taku  Yamaguchi,  Future  University  Hakodate

Page 45: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

結果をJSONで受け取る

2014-­‐10-­‐16 Taku  Yamaguchi,  Future  University  Hakodate 45

Page 46: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

函館市の隣は?

Taku  Yamaguchi,  Future  University  Hakodate 46

函館市

hLp://ja.dbpedia.org/resource/函館市 ?o  

隣の自治体

hLp://dbpedia.org/ontology/neighboringMunicipality

2014-­‐10-­‐16

Page 47: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

問い合わせ結果 {  "head":  {  "link":  [],  "vars":  ["o"]  },  

   "results":  {  "dis`nct":  false,  "ordered":  true,  "bindings":  [  

       {  "o":  {  

               "type":  "uri",  

               "value":  "hLp://ja.dbpedia.org/resource/\u5317\u6597\u5E02"  }},  

       {  "o":  {  

               "type":  "uri",  

               "value":  "hLp://ja.dbpedia.org/resource/\u9752\u68EE\u770C"  }}  

]  }  }

2014-­‐10-­‐16 Taku  Yamaguchi,  Future  University  Hakodate 47

Page 48: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

問合せの変数名 受け取るプログラムの側でオブジェクトのプロパティ名にしたい名前を、  クエリー中の変数名にすればよい。  

n  Query: select  dis`nct  *  where  {  

       <hLp://ja.dbpedia.org/resource/函館市>  

       <hLp://dbpedia.org/ontology/neighboringMunicipality>  

       ?o  .  }  

n  Result:  {  "head":  {  "link":  [],  "vars":  ["o"]  },  

   "results":  {  "dis`nct":  false,  "ordered":  true,  "bindings":  [  

       {  "o":  {  "type":  "uri",  "value":  "hLp://ja.dbpedia.org/resource/\u5317\u6597\u5E02"  }},  

       {  "o":  {  "type":  "uri",  "value":  "hLp://ja.dbpedia.org/resource/\u9752\u68EE\u770C"  }}  ]  }  }  

2014-­‐10-­‐16 Taku  Yamaguchi,  Future  University  Hakodate 48

Page 49: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

函館観光情報  hLp://210.226.0.93/test/  

2014-­‐10-­‐16 Taku  Yamaguchi,  Future  University  Hakodate 49

Page 50: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

問合せ例

PREFIX  rdf:  <hLp://www.w3.org/1999/02/22-­‐rdf-­‐syntax-­‐ns#>  PREFIX  rdfs:  <hLp://www.w3.org/2000/01/rdf-­‐schema#>    SELECT  *  WHERE  {      ?s  <hLp://purl.org/dc/elements/1.1/date>  ?o  .      FILTER  (  "1923"  <=  ?o  )  }  LIMIT  10  

2014-­‐10-­‐16 50

?oが"1923"より大きい

Taku  Yamaguchi,  Future  University  Hakodate

Page 51: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

問合せ例

PREFIX  rdf:  <hLp://www.w3.org/1999/02/22-­‐rdf-­‐syntax-­‐ns#>  

PREFIX  rdfs:  <hLp://www.w3.org/2000/01/rdf-­‐schema#>  

SELECT  ?s  ?q  WHERE  {  

   <urn:恵山山頂_20>  <hLp://www.w3.org/2003/01/geo/wgs84_pos#lat>  ?q  .  

   ?s  <hLp://www.w3.org/2003/01/geo/wgs84_pos#lat>  ?o  .  

   FILTER  (?q  <  ?o)  

}  LIMIT  250  

 

恵山山頂よりも緯度が高いものを  

2014-­‐10-­‐16 51 Taku  Yamaguchi,  Future  University  Hakodate

Page 52: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

北斗市の隣の隣

(再びDBpedia  Japanese)  PREFIX  dbpedia-­‐owl:  <hLp://dbpedia.org/ontology/>  select  dis`nct  *  where  {          <hLp://ja.dbpedia.org/resource/北斗市>          dbpedia-­‐owl:neighboringMunicipality          ?o  .          ?o  dbpedia-­‐owl:neighboringMunicipality  ?oo.  }  ?oは、最初の文では目的語、次の文では主語。  プログラムでリンクをたどる。  2014-­‐10-­‐16 Taku  Yamaguchi,  Future  University  Hakodate 52

Page 53: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

北斗市の隣の隣は?

Taku  Yamaguchi,  Future  University  Hakodate 53

?o

隣の自治体 北斗市  

hLp://ja.dbpedia.org/resource/北斗市

hLp://dbpedia.org/ontology/neighboringMunicipality

?oo  

隣の自治体

hLp://dbpedia.org/ontology/neighboringMunicipality

2014-­‐10-­‐16

Page 54: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

リンクをたどる

プログラムでリンクをたどることができる 2014-­‐10-­‐16 Taku  Yamaguchi,  Future  University  Hakodate 54  

HTML HTML

○○  ⇒

HTML

○○  ⇒

?o 北斗市   ?oo  

?o  dbpedia-­‐owl:neighboringMunicipality  ?oo

<hLp://ja.dbpedia.org/resource/北斗市>  dbpedia-­‐owl:neighboringMunicipality  ?o

Page 55: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

結果のアドレスバーを見てみる

2014-­‐10-­‐16 Taku  Yamaguchi,  Future  University  Hakodate 55

hLp://ja.dbpedia.org/sparql?default-­‐graph-­‐uri=hLp%3A%2F%2Fja.dbpedia.org&query=select+dis`nct+*+where+%7B%0D%0A++++%3ChLp%3A%2F%2Fja.dbpedia.org%2Fresource%2F%E5%87%BD%E9%A4%A8%E5%B8%82%3E%0D%0A++++%3ChLp%3A%2F%2Fdbpedia.org%2Fontology%2FneighboringMunicipality%3E%0D%0A++++%3Fo+.%0D%0A%7D&format=text%2Fhtml&`meout=0&debug=on

Page 56: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

パーセントデコード

n  hLp://ja.dbpedia.org/sparql?default-­‐graph-­‐uri=hLp%3A%2F%2Fja.dbpedia.org&query=select+dis`nct+*+where+%7B%0D%0A++++%3ChLp%3A%2F%2Fja.dbpedia.org%2Fresource%2F%E5%87%BD%E9%A4%A8%E5%B8%82%3E%0D%0A++++%3ChLp%3A%2F%2Fdbpedia.org%2Fontology%2FneighboringMunicipality%3E%0D%0A++++%3Fo+.%0D%0A%7D&format=text%2Fhtml&`meout=0&debug=on  

↓パーセントデコード  n  hLp://ja.dbpedia.org/sparql?default-­‐graph-­‐uri=hLp://

ja.dbpedia.org&query=select  dis`nct  *  where  {          <hLp://ja.dbpedia.org/resource/函館市>          <hLp://dbpedia.org/ontology/neighboringMunicipality>          ?o  .  }&format=text/html&`meout=0&debug=on

2014-­‐10-­‐16 Taku  Yamaguchi,  Future  University  Hakodate 56

Page 57: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

query  parameter  strings

hLp://ja.dbpedia.org/sparql?default-­‐graph-­‐uri=hLp://ja.dbpedia.org  &query=select  dis`nct  *  where  {          <hLp://ja.dbpedia.org/resource/函館市>          <hLp://dbpedia.org/ontology/neighboringMunicipality>          ?o  .  }&format=text/html  &`meout=0&debug=on

2014-­‐10-­‐16 57

エンドポイント

SPARQLのクエリ

出力(応答)形式

Taku  Yamaguchi,  Future  University  Hakodate

Page 58: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

n プログラムで、  このquery  stringを作って、  HTTP  GETすればよい  

n リソースはIRI、  それをパーセントエンコードしてある  p 文字を見たら、誰がいつ変換…(略

2014-­‐10-­‐16 Taku  Yamaguchi,  Future  University  Hakodate 58

Page 59: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

AR「北海道の山」チャンネル

プログラム例

2014-­‐10-­‐16 Taku  Yamaguchi,  Future  University  Hakodate 59

Page 60: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

n DBpedia  Japaneseから、  n 緯度・経度・標高のある、  n 北海道の山を取り出して、  n AR  (拡張現実)のチャンネル

データを作る  今回は遠すぎて、  

面白くありませんが…  

2014-­‐10-­‐16 Taku  Yamaguchi,  Future  University  Hakodate 60

Page 61: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

DBpedia  Japaneseからゲット

{      ?s  geo:lat  ?lat;      geo:long  ?long  .  }  UNION  {      ?s  <hLp://dbpedia.org/ontology/wikiPageExternalLink>  ?wcz  .      FILTER  regex(  ?wcz,  "hLp://watchizu.gsi.go.jp/watchizu.html",  "i"  )  }  

さまざまな段階で工夫して、まずは動かす、興味をひく。  全体として敷居を低くすることが、大事だと思います。  

(文書の)Webの発展と同様。  

2014-­‐10-­‐16 Taku  Yamaguchi,  Future  University  Hakodate 61

緯度

経度 地図へのリンクに  緯度・経度が  埋まっていることも

Page 62: 情報メディア工学特論A 第4回〜6回 LOD可視化の演習

参考資料

n リンクト・オープン・データ・イニシアティブ、  LOD連続講座、  hLp://linkedopendata.jp/?cat=17  

n LODチャレンジ2014  hLp://lod.sfc.keio.ac.jp/challenge2014/

2014-­‐10-­‐16 Taku  Yamaguchi,  Future  University  Hakodate 62