Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

SparqlEPCUが提供するlod開発プラットフォーム

616 views

Published on

人工知能学会 セマンティックウェブとオントロジー(SWO)研究会
パネルセッション:「Linked Data プラットフォーム」資料

  • Be the first to comment

  • Be the first to like this

SparqlEPCUが提供するlod開発プラットフォーム

  1. 1. SparqlEPCUが提供する LOD開発プラットフォーム 中部大学 年岡晃一 2015/11/13 SparqlEPCU/LOD開発プラット フォーム 2015/11/13 1 人工知能学会 セマンティックウェブとオントロジー(SWO)研究会 パネルセッション:「Linked Data プラットフォーム」資料
  2. 2. はじめに • オープンデータをより簡単に 作れる 検索できる • Google Mapは、HTMLにJavaScriptを書き足すこと で簡単に地図表示が出来る • LOD用のMashupのシステムを作れ!! (3年前のことです) SparqlEPCU/LOD開発プラット フォーム 2015/11/13 2
  3. 3. LODデータ Webアプリケーションサイト(LODアプリ) CLOUD SparqlEPCU/LOD開発プラット フォーム 2015/11/13 3 LODアプリサイト がマッシュアッ プで作れるわ♪ ここの仕掛けが 提供されている 一般エンドユーザ ここを多くの人が 簡単に 作れるように ドメインエキスパート
  4. 4. Contents (ユーザーに提供するもの) I. プログラミング無しで 1. データ登録と更新 2. 検索 II. プログラミングして独自のアプリ 1. マッシュアップ 2. サンプルコード III. 周辺 1. 分散LODを連携 2. SPARQL自動生成 SparqlEPCU/LOD開発プラット フォーム 2015/11/13 4
  5. 5. 開発項目 I. サーバーとクライアントの分業を確立する 1. RDF Store 2. Cross Domain Control (JSONPを使う) 3. アクセスの権限(OAuth) II. サービスSiteの構築 1. Tutorial 2. サンプルコード III. JSライブラリ提供 1. 非同期通信 2. データ受け取り後のサービス SparqlEPCU/LOD開発プラット フォーム 2015/11/13 5
  6. 6. LOD構築の実際 SparqlEPCU/LOD開発プラット フォーム 2015/11/13 6 行政 学術機関 民間 民間・学術機関 データ作成者 RDFデータ公開者 アプリ開発者 SPARQL Endpoint提供者 SPARQL利用 RでもOK データ提供 データ収集 LinkData.org DBpedia DBpediaJapanese SparqlEPCU LODAC Museum ・・・ RDFstore Sparql Timeliner LOD Browser ・・・ エンドユーザー 多くはSPARQLコマンド画面を 用意している LOD catalog CKAN
  7. 7. LODデータ Webアプリケーションサイト(LODアプリ) エンドユーザ 認証システム OAuth CLOUD SparqlEPCU/LOD開発プラット フォーム 2015/11/13 7 LODアプリサイト がマッシュアッ プで作れるわ♪ DBを用意する必 要が無いわ SparqlEPCUでは、各LODデータ セット毎にアクセス権設定を行 えるようにしている
  8. 8. さらに • 運用性 – 語彙関係 – アクセス権 • 汎用性 – node3から SparqlEPCUへread/write – Rから SparqlEPCUへread/write – Federated Searchによるクラス情報収集 – 分散DB(複数のSparqlEPCUを指定呼び出しでき るように) SparqlEPCU/LOD開発プラット フォーム 2015/11/13 8
  9. 9. II.SparqlEPCUとその仲間達 SparqlEPCU/LOD開発プラット フォーム 2015/11/13 9 RDFの格納 データのスキーマ取得 Federated Search SPARQL Creator SparqlEPCU LOD Linker
  10. 10. rel:participant bibo:organizer RDF(Resource Description Framework) CodeForNagoya Meeting foaf:name 2014-09-27 http://codeForJapan.org/conf19 dc:date http://www.facebook.com/kawaguchi 河口信夫 foaf:name http://codeForeJapan.org/ http://www.facebook.com/miyauchi 宮内元 foaf:name CodeForNagoya foaf:name nco:representative foaf:knows  事物をURIで指定する  事物間の関係を意味的リンクで結ぶグラフでデータを表現する(モデル) 規則 ノードはURIで特定できる(世界で只1つ) プロパティもURIなので関係性の意味定 義も唯一が保証される WEB上の知識(リソース)を URIで特定し、「意味定義が唯一」が保証 された述語で表現していきましょうLOD SparqlEPCU/LOD開発プラット フォーム 2015/11/13 10
  11. 11. 構成 SparqlEPCU/LOD開発プラット フォーム 2015/11/13 11 データの登録 データの検索 プログラミング無しで、 RDFの登録・検索を体験 データの登録 データの検索 Sample codeを見ながら JavaScriptを書いて、 RDFの登録・検索を体験 csv形式 緯度・経度 csv形式 緯度・経度
  12. 12. III.プログラミング無しで データ格納と データ検索 SparqlEPCU/LOD開発プラット フォーム 2015/11/13 12 SparqlEPCUを使うと、手軽に • RDFをアップロード • SPARQLで検索 出来る http://lodcu.cs.chubu.ac.jp/SparqlEPCU/
  13. 13. SparqlEPCU RDFstoreを擁するLODのサービスサイト SparqlEPCU/LOD開発プ ラットフォーム 2015/11/13 13
  14. 14. Projectを登録 SparqlEPCU/LOD開発プラット フォーム 2015/11/13 14 ログインして Projectメニューを クリック ③プロジェクト一覧から作 成したプロジェクトを選択 ② プロジェクトのID、タイ トル、権限などを設定 ①プロジェクトを作成 ④データプロジェクト一覧か ら作成したプロジェクトを選択
  15. 15. CSV形式でRDF登録データを準備 • addCSV.html SparqlEPCU/LOD開発プラット フォーム 2015/11/13 15 @学生, 学籍, 名前, mail ID09038, 藤木 晋太郎, fujiki_s@mail.com ID09000, 青山 哲也, aoyama_t@mail.com ID09001, 伊藤 信士, ito_s@mail.com ID09002, 遠藤 京子, endo_k@mail.com クラス 属性 個々の データ _id 学籍 名前 学生 ID09xx 藤木xx fujiki@xx mail rdf:type • 緯度、経度データを入れた い場合はmailなどの代わり にgeo:lat geo:longを入れる • もっと深い構造を入れるには、 statement APIでこの構造に追 記していくことが可能です
  16. 16. データをアップロード SparqlEPCU/LOD開発プラット フォーム 2015/11/13 16 @学生, 学籍, 名前, mail ID09038, 藤木 晋太郎, fujiki_s@mail.com ID09000, 青山 哲也, aoyama_t@mail.com ID09001, 伊藤 信士,ito_s@mail.com ID09002, 藤 京子,endo_k@mail.com ③データを貼り付ける ①データ登録タブを選択 ②データ形式を選択 ④登録ボタンクリック • コピーペーストまたはファイル転送 • N3,RDF/XML,turtle,N-tripleなどのデータ形 式が使える
  17. 17. アップロードしたデータを確認 SparqlEPCU/LOD開発プラット フォーム 2015/11/13 17 ①プロジェクトのSPARQL検索タブを選択 ②取り敢えず検索実行をクリック ③ トリプルが表示されれ ば公開成功
  18. 18. LOD Browserで検索してみる SparqlEPCU/LOD開発プ ラットフォーム 2015/11/13 18 緯度、経度情報があればgoogleマップ上に表示します。
  19. 19. SPARQL作成の支援 SparqlEPCU/LOD開発プラット フォーム 2015/11/13 19 EndPointからスキーマ情報を自動的に取ってき てSPARQLのひな形を作ってくれる その後、GUIで機能選択でSPARQL式を改良して いく 完成したSPARQL式をJSに埋め込む
  20. 20. SparqlEPCU画面からSPARQL Creatorを使う SparqlEPCU/LOD開発プラット フォーム 2015/11/13 20 ① 選択中のプロジェクト 画面でここをクリック
  21. 21. ③ 使いたいクラスを選択 SparqlEPCU/LOD開発プラット フォーム 2015/11/13 21 ② Get ClasssでLOD解析 がスタート ④ パラメータを設定
  22. 22. LOD Linker 分散したLODから情報を取る SparqlEPCU/LOD開発プラット フォーム 2015/11/13 22 http://lodlinker.org/ クラスのURIを入力 クラス名を入力
  23. 23. LOD Linker 検索結果 SparqlEPCU/LOD開発プラット フォーム 2015/11/13 23 ヒットしたクラスの URI クラスのラベル そのクラスの記述 を持つLOD 外部のLODへ SPARQL送信
  24. 24. IV.プログラミング SparqlEPCU/LOD開発プラット フォーム 2015/11/13 24 JavaScript jQuery (D3.js) LODを簡単に扱うためのJSライブラリ マッシュアップ環境 サンプルコードをダウ ンロード
  25. 25. JavaScript ライブラリ rdfmgr.js のサンプルコード  RDFの登録  RDFの更新  RDFの削除  RDFの検索(SPARQL実行) SparqlEPCU/LOD開発プラット フォーム 2015/11/13 25 Zipを解凍してindex.htmlをダブルクリック サンプルコードをダウ ンロード
  26. 26. LOD登録script <script type="text/javascript"> //インスタンスの宣言 var rdfmgr = new RDFmgr( rdfserver_project ); function goData(){ rdfmgr.insertInstance({ // CSV形式のデータをSparqlEPCUに送信 rdfdata: $("#csvdata").val(), success: function(){ alert("成功しました。"); } , error: getErrorMsg, overwrite: false }); } //エラー表示用関数 function getErrorMsg ( eType,eMsg,eInfo ){ alert(eMsg+"¥n¥n"+eInfo); } </script> SparqlEPCU/LOD開発プラット フォーム 2015/11/13 26
  27. 27. LOD検索script function sparqlSend () { var stext = $(“#sparql”).val(); // 検索式を入力フィールドより持って来る rdfmgr.executeSparql ( { // SPARQL検索を行う sparql: stext, // 検索式 inference: false, // 推論を行うか行わないかを指定する success: maketable, // 処理が終わった時に表示関数を呼び出す指定 error: getErrorMsg // 例外が起きた時にエラー処理関数を呼び出す }); } function maketable(re) { // 検索結果のJSONデータを、イテレータを使用して取り出して表作成する $("#disp").empty(); var str = new String("<tr>"); for(var i=0; i<re.getKeyListLength();i++){ str += “<td>”+re.getKey(i)+“</td>”; } str += "</tr>"; while(re.next()) { for(var i=0; i < re.getLength();i++) { str += “<td><pre>”+re.getValue(i)+“</pre></td>”; } str += "</tr>"; } $("#disp").append(str); } SparqlEPCU/LOD開発プラット フォーム 2015/11/13 27 http://lodcu.cs.chubu.ac.jp/SparqlEPCU/RDFServer.jsp?reqtype=api&project= nagoyadata&query=select * where{?s ?p ?o}&output=JSON RDFmgr.jsのイテレー タを使うと簡単にデー タを取り出せる GET要求も簡単
  28. 28. RからSparqlEPCUを呼ぶ > library(“SPARQL”) > endpoint <-"http://lodcu.cs.chubu.ac.jp/SparqlEPCU/api/aed_nagoya_subway" > query<-"select * where {?s ?p ?o} LIMIT 100" > result<-SPARQL(url=endpoint,query=query,extra=list(output="csv"),format="csv") > result SparqlEPCU/LOD開発プラット フォーム 2015/11/13 28 現在のところ、出力形式はCSV形式に限ります。
  29. 29. V.今後 SparqlEPCU/LOD開発プラット フォーム 2015/11/13 29
  30. 30. 今後の課題 • RDF storeでアプリ状況をモニタリング • テストケース、テストドライバ • シナリオの共有 • SparqlEPCUクローン、GCEでの運用 • アプリケーション構築(ユーザーに期待) – 可視化 D3 – 信頼性・網羅性・便宜性の追究 – ビジネスモデル・収益性 – 語彙の管理・仲裁 – 分析機能・発見機能 R言語 SparqlEPCU/LOD開発プラット フォーム 2015/11/13 30 収益パターン • シェアリング • マッチング • マッピング
  31. 31. BIG DATA vs. OPEN DATA SparqlEPCU/LOD開発プラット フォーム 2015/11/13 31 BIG DATA OPEN DATA 目的 観察するため 表現するため 実行手段 ありのままで見る 伝える ビジネス ○ ? 社会的価値(貢献) ? △ 収集力 △ ? ツール基盤 △ ? 社会的基盤 ? ? 社会的合意・求心力 ◎ △ 公開力 × ◎
  32. 32. LODは様々な人の連携が必要 • 市民 (Needs、課題を持っている) • 政府、自治体(公共データを持っている) • 企業(収益機能・構造を持っている) • 大学、研究機関(基盤、分析能力を持っている) データサイエンティスト、社会学者 もっと人的流動性、協業性の仕組みを SparqlEPCU/LOD開発プラット フォーム 2015/11/13 32
  33. 33. Web Sites • http://lodcu.cs.chubu.ac.jp/SparqlEPCU/ • http://lodcu.cs.chubu.ac.jp/SCreator/ • http://lodlinker.org/ SparqlEPCU/LOD開発プラット フォーム 2015/11/13 33
  34. 34. Thank you SparqlEPCU/LOD開発プラット フォーム 2015/11/13 34

×