実社会で進められているサービスとLOD

1,255 views
1,213 views

Published on

2011.11.19のLODチャレンジデーin東京と2011.12.3のLODチャレンジデーin大阪の講演資料です。

1. gooラボで提供している位置情報に特化したQ&AサービスPinQA(ピンカ)をLinked Open Dataに対応させました。その過程を紹介します。

2. 震災復興のためのボランティア情報サービスについて紹介しLOD化の可能性についてお話します。

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

No Downloads
Views
Total views
1,255
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
1
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

実社会で進められているサービスとLOD

  1. 1. 実社会で進められているサービスと LOD ~位置情報サービス QA と震災ボランティア情報について~ 澤村正樹 佐藤宏之 NTT レゾナント株式会社
  2. 2. 概要 <ul><li>1. goo ラボで提供している位置情報に特化した Q&A サービス PinQA( ピンカ ) を Linked Open Data に対応させました。その過程を紹介します。 </li></ul><ul><li>2. 震災復興のためのボランティア情報サービスについて紹介し LOD 化の可能性についてお話します。 </li></ul>
  3. 3. 自己紹介 <ul><li>澤村正樹 </li></ul><ul><li>NTT レゾナント株式会社 </li></ul><ul><li>サーチ事業部所属 </li></ul><ul><li>ソフトウェアエンジニア </li></ul><ul><li>位置情報 QA 「 PinQA 」や写真共有「 Photomemo 」などの企画と開発を担当 </li></ul><ul><li>Linked Open Data は今回はじめて対応しました </li></ul><ul><li>Twitter:@sawamur </li></ul>
  4. 4. 自己紹介 <ul><li>佐藤宏之 </li></ul><ul><li>NTT レゾナント株式会社 </li></ul><ul><li>サーチ事業部 </li></ul><ul><li>検索基盤の開発。興味はセマンティック Web を利用した情報統合、オープンガバメント、大規模分散データ処理システムなど </li></ul><ul><li>セマンティック Web (最近は LOD )に関する活動を、なんだかんだ 10 年近く。今回澤村を巻き込みました </li></ul><ul><li>Twitter:@sa2hi </li></ul>
  5. 7. 検討の流れ <ul><ul><li>リソースの URI の検討 </li></ul></ul><ul><ul><li>プロパティ ( ボキャブラリ ) の URI の検討 </li></ul></ul><ul><ul><li>出力フォーマットの検討 </li></ul></ul><ul><ul><li>外部データ (DBpedia) へのリンク </li></ul></ul><ul><ul><li>SPARQL エンドポイントの設置 ( 試し中 ) </li></ul></ul>
  6. 8. データ構造 このへんに美味しいラーメン屋はありませんか? 二郎がありますよ 山頭火がおすすめです 緯度経度 : 35.6/139.7 緯度経度 : 35.7/139.0 緯度経度 : 35.8/138.1
  7. 9. ボキャブラリ dc:creator dc:creator pinqa:answer pinqa:answer geo:lat geo:long geo:lat geo:long geo:lat geo:long geo:lat geo:long
  8. 10. リソース URI 設計 <ul><li>基本となる Q&A ページの URL は下記だった </li></ul><ul><li>http://pinqa.com/qa/24 </li></ul><ul><li>これをそのまま個々の質問を表す URI として使うように決めた </li></ul><ul><li>↓ メタ情報取得の URL を以下のように定義 </li></ul><ul><li>http://pinqa.com/qa/24.n3 </li></ul><ul><li>http://pinqa.com/qa/24.trix </li></ul><ul><li>http://pinqa.com/qa/24.rdf  (RDF+XML) </li></ul>
  9. 11. ページのフッター部分にリンク link タグをうめこみ Q&A ページ
  10. 12. PinQA のリソース URI 例 質問     http://pinqa.com/qa/123 回答     http://pinqa.com/a/567 ユーザー     http://pinqa.com/people/sawamura PinQA のプロパティ 回答     pinqa:answer ユーザー     dc:creator 近くの駅     pinqa:nearQuestion @prefix pinqa: <http://pinqa.com/terms/> .
  11. 13. 既存 API とのバッティングが課題 <ul><li>既に .xml と .json という拡張子を独自形式のデータを返す API として利用していた。 iPhone アプリなどでも使っていたため .json で json 形式の RDF を返すようにはできなかった </li></ul><ul><li>× http://pinqa.com/qa/234.json  </li></ul>
  12. 14. <ul><li>@prefix dc: <http://purl.org/dc/elements/1.1/> . </li></ul><ul><li>@prefix dcterms: <http://purl.org/dc/terms/> . </li></ul><ul><li>@prefix geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> . </li></ul><ul><li>@prefix pinqa: <http://pinqa.com/terms/> . </li></ul><ul><li>@prefix rdfs: <http://www.w3c.org/2000/01/rdf-schema#> . </li></ul><ul><li><http://pinqa.com/qa/2301> pinqa:answer <http://pinqa.com/a/23471>, <http://pinqa.com/a/23472>, <http://pinqa.com/a/23473>, <http://pinqa.com/a/23474>, <http://pinqa.com/a/23475>; </li></ul><ul><li>dcterms:spatial &quot; 東京 &quot;; </li></ul><ul><li>pinqa:nearQuestion <http://pinqa.com/qa/162>, </li></ul><ul><li><http://pinqa.com/qa/1831>; </li></ul><ul><li>pinqa:nearStation <http://dbpedia.org/resource/Jimb%C5%8Dch%C5%8D_Station>, <http://dbpedia.org/resource/Takebashi_Station>, <http://dbpedia.org/resource/Ochanomizu_Station>; </li></ul><ul><li>dc:creator <http://pinqa.com/people/sa2hi>; </li></ul><ul><li>dc:date &quot;2011-11-14T11:48:03+09:00&quot;; </li></ul><ul><li>dc:description &quot; 一ツ橋、神保町のあたりで土曜日の夕方 25 ~ 30 人で懇親会ができるお店を探しています。どこか良いところをご存知の方はいらっしゃいますか? &quot;; </li></ul><ul><li>geo:lat &quot;35.6941358333333&quot;^^<http://www.w3.org/2001/XMLSchema#double>; </li></ul><ul><li>geo:long &quot;139.757873888889&quot;^^<http://www.w3.org/2001/XMLSchema#double>; </li></ul><ul><li>rdfs:label &quot; 一ツ橋、神保町のあたりで土曜日の夕方 25 ~ 30 人で懇親会ができるお店を探しています。どこか良いところをご存知の方はいらっしゃいますか? &quot; . </li></ul>
  13. 16. RDF.rb <ul><li>PinQA は Ruby on Rails で動いているため </li></ul><ul><li>RDF.rb を使い RDF を生成した </li></ul><ul><li>Gemfile: </li></ul><ul><li>gem 'rdf' </li></ul><ul><li>gem 'rdf/n3',:require => 'rdf/n3' </li></ul><ul><li>gem 'rdf/rdf-xml,:require => 'rdf/rdfxml' </li></ul>Controller: respond_to do |format|     format.html     format.json { render :json => @qa.to_json }     format.n3 { render :text => @qa.to_n3 }     format.rdf { render :text => @qa.to_rdfxml } end 
  14. 17. <ul><li>def to_n3     geo = RDF::Vocabulary.new(&quot;http://www.w3.org/2003/01/geo/wgs84_pos#&quot;)     dcterms = RDF::Vocabulary.new(&quot;http://purl.org/dc/terms/&quot;)     pinqa = RDF::Vocabulary.new(&quot;http://pinqa.com/terms/&quot;)      </li></ul><ul><li>     RDF::Writer.for(:n3).buffer { |writer|     writer.prefix(&quot;geo&quot;,geo.to_s)     writer.prefix(&quot;dcterms&quot;,dcterms.to_s)     writer << RDF::Graph.new do |graph|         graph << [question[2202],dc.description,RDF::Literal(&quot; このへんに美味しいラーメン屋はありますか ?&quot;,:language => :ja)]         graph << [question[2202],geo.lat,35.6853844444444]         graph << [question[2202],geo.long,139.748879722222]     end end </li></ul>
  15. 18. DBpedia へのリンク <ul><li>質問や回答場所の近くの駅を Dbpedia へのリンクで示す </li></ul><ul><li>原宿駅の URI </li></ul><ul><li>  <http://dbpedia.org/resource/Harajuku_Station> </li></ul>
  16. 19. <ul><li>PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#> PREFIX geo:<http://www.w3.org/2003/01/geo/wgs84_pos#> PREFIX geo:<http://www.w3.org/2003/01/geo/wgs84_pos#> PREFIX dbpedia_ont: <http://dbpedia.org/ontology/> SELECT * WHERE {     ?link rdfs:label ?title;     rdfs:comment ?comment;     geo:lat ?lat;     geo:long ?long.     ?link rdf:type dbpedia_ont:Station.     FILTER (         ?lat> 35.7 &&         ?lat< 35.9 &&         ?long> 139.5 &&         ?long< 139.6 &&         lang(?comment) = &quot;ja&quot; &&         lang(?title) = &quot;ja&quot;     )     } </li></ul>ある緯度経度範囲の駅データを DBpedia から取得する SPARQL
  17. 20. SPARQL エンドポイント設置 ( 試し中 ) ActiveRecord+MySQL で扱っているデータを SPARQL 文をパースして取得して返すことを試す -> 定型の文の一部のみ対応させることならば、できなくもないが、エンドポイントとして実装するのは相当難しそう ということで現在 D2R Server↓ をインストールして試験中
  18. 21. 震災ボランティア情報サイト メディア部門 銅賞
  19. 22. <ul><li>支援対象 : 人 </li></ul><ul><li>タイトル : 【医学知識をお持ちの方募集】在宅被災者への医療支援をしてくれる方募集! </li></ul><ul><li>概要  災害復興支援コーディネーター蓮笑とプラスネオが運営す る「ボランティアビレッジ」では、祐ホームクリニックと 共に活動をしてくれる、医学知識のあるの方を募集してい ます。被災地ではまだまだ医療不足の状況であり、在宅 避難者への支援や、医療コーディネートなど医学知識の有 あるの方の支援が必要です。ご協力いただける方はご連絡 ください! </li></ul><ul><li>主催団体 :  祐ホームクリニック・災害復興支援コーディネーター蓮笑・プラスネオ・チーム王冠 </li></ul><ul><li>情報確認先 : 電話 </li></ul><ul><li>受付場所 : 宮城県 東松島市野蒜字亀岡 80  野蒜小学校 3F 部分 </li></ul><ul><li>緯度経度 : 38.375826, 141.153076 </li></ul><ul><li>募集期間 :  2011-11-12 〜 2011-12-12 </li></ul>
  20. 23. ボランティア情報を収集しポータルや震災情報サイトで表示してもらっている
  21. 24. LOD 化の可能性 <ul><li>現状は独自の XML 形式でデータをフィードしている。 </li></ul><ul><li>RDF で配信できないかを検討中 </li></ul><ul><li>他のデータとの接点を作る。 </li></ul><ul><li>例 ) 市区町村、団体、種別 </li></ul>sinsai.info
  22. 25. (澤村の)まとめ <ul><ul><li>URI 設計の考え方のコツをつかむのに一苦労 </li></ul></ul><ul><ul><li>通常の XML などを吐くときとは違う考え方に戸惑った </li></ul></ul><ul><ul><ul><li>表示は Q と A でひとつのページ-> Q と A それぞれに URI を与える </li></ul></ul></ul><ul><ul><li>出力の実装はある程度ライブラリがあるので大丈夫 </li></ul></ul><ul><ul><li>既存 API とのすみわけが課題 </li></ul></ul><ul><ul><li>SPARQL と RDB をつなげるのを自作するのは簡単ではなさそう </li></ul></ul><ul><ul><li>DBpedia へのクエリを実行できるようになると面白くなってきた </li></ul></ul><ul><ul><li>震災ボランティア情報のデータもあるのでそれも順次 LOD 化していきたい </li></ul></ul>
  23. 26. ご清聴ありがとうございました <ul><li>Special Thanks to NII 加藤文彦 氏 </li></ul><ul><li>mail: m-sawa@nttr.co.jp </li></ul><ul><li>twitter: @sawamur </li></ul><ul><li>mail: h-sato@nttr.co.jp </li></ul><ul><li>twitter: @sa2hi </li></ul>

×