0
SparqlEPCUで
LODをマッシュアップ
年岡晃一

lodcu.cs.chubu.ac.jp/SparqlEPCU/
2013第3回LODチャレンジデーin東海
改訂版 2013/11/06

SparqlEPCU

2013/08/2...
contents
1. 概要
– LOD開発環境SparqlEPCU
– lod_browser

2. プログラミング無しでCSVデータをRDF登録
– Projectとアクセス権
– 汎用アプリで格納データを確認

3. JavaScrip...
1.概要
目的:LOD開発環境を提供する SparqlEPCU
mashup
LOD_browser

ユーザー: JavaScriptプログラマー
マッシュアップ

SparqlEPCU

2013/08/24

3
CLOUD
LODデータ
認証システム
OAuth
Webアプリケーションサイト

LODがクラウド
で使えるわ♪
らくちん!
エンドユーザ

SparqlEPCU

2013/08/24

4
コース順
csv形式
緯度・経度

データの登録
データの検索

プログラミング無しで、
RDFの登録・検索を体験

自分のプロジェ
クトを作る

csv形式
緯度・経度

データの登録

JavaScriptを書いて、
RDFの登録・検索を体...
RDFとは グラフ表現による知識ネットワーク
県

名古屋

愛知

メタデータ

市長
河村
橋本

友人

実世界

SparqlEPCU

2013/08/24

6
SPARQL
愛知県にある市の市長は誰?

愛知

グラフ探索

県
?s
市長

?o

select ?s, ?o where{
?s 県
愛知 .
?s 市長 ?o .
}
SparqlEPCU

2013/08/24

7
SparqlEPCU
RDFstoreにアクセスするJavaScript APIを公開

SparqlEPCU

2013/08/24

8
2.先ずはプログラミング無しで
データ格納と
データ検索

誰でも手軽にRDFをアップロードして
SPARQLでクエリかけられる

SparqlEPCU

2013/08/24

9
CSV形式でRDF登録データを準備する
• addCSV.html
クラス

属性

@学生, 学籍,
ID09038,
ID09000,
ID09001,
ID09002,

_id
type

名前,
藤木 晋太郎,
青山 哲也,
伊藤 信...
CSV形式でRDF登録 (subjectIDを付けて)
• addCSV2.html

先頭属性がsubjectIDであれば、指定
URLのRDF登録になります

属性

クラス
@学生, SubjectID, 学籍,
http://aaa/,...
データを登録する

SparqlEPCU

2013/08/24

12
登録したデータを検索してみる

?s

SparqlEPCU

2013/08/24

?p

?o

13
LOD Browserで検索してみる

緯度、経度情報があればgoogleマップ上に表示します。この画面で編集も出来ます。
SparqlEPCU

2013/08/24

14
3.ここからはプログラミング
JavaScript
jQuery
マッシュアップ
先ずはサンプルコードをダウンロード

SparqlEPCU

2013/08/24

15
JavaScript APIをつかう
CLOUDを使えばJavaScriptのコードを書く
だけで
LODアプリケーションサイト構築が可
 RDFの登録
 RDFの更新
 RDFの削除

 RDFの検索(SPARQL実行)
Zipを解凍...
開発にあたっての前提知識
• RDFに関する知識
• JavaScript, jQuery, JSON
•

•

RDF登録の入力データ形式
– CSV
– TURTLE
– N3
– RDF/XML
– N-TRIPLE
RDFダウンロード...
設定
• conf.jsの設定

(使用するプロジェクトを指定する)

var rdfserver_project=“nagoyadata";

• Jsライブラリの指定
<script type="text/javascript"
src="...
LOD登録script
<script type="text/javascript">
//インスタンスの宣言
var rdfmgr = new RDFmgr( rdfserver_project );
function goData(){
r...
LOD検索script
function sparqlSend () {
var stext = $(“#sparql”).val(); // 検索式を入力フィールドより持って来る
rdfmgr.executeSparql ( { // SPA...
DeleteInstance
GET http://lodcu.cs.chubu.ac.jp/SparqlEPCU/RDFServer.jsp?
sparqlCallback=xxx&
hostname=&
reqtype=manage&
ty...
APIs
• CSV形式で登録されたインスタンスの操作
– rdfmgr.insertInstance()
– rdfmgr.updateInstance()
– rdfmgr.deleteInstance()

• 検索
– rdfmgr.e...
まとめ
•
•
•
•

データを生成する人
データを登録する人
アプリを作る人
基盤環境を作る人
– Sparqlエンドポイントを作る人
– データカタログ、Hubを作る人
– 語彙の統制を計る人
– 問い合わせ文からSPARQL式を作る人
...
• サポートサイト
– http://lodcu.cs.chubu.ac.jp/SparqlEPCU/
• ダウンロード・サービス
– Web API 仕様書
– APP JavaScriptサンプルコード

• デモへのリンク
– LOD B...
Upcoming SlideShare
Loading in...5
×

Sparql epcuでlodをマッシュアップ

647

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
647
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Sparql epcuでlodをマッシュアップ"

  1. 1. SparqlEPCUで LODをマッシュアップ 年岡晃一 lodcu.cs.chubu.ac.jp/SparqlEPCU/ 2013第3回LODチャレンジデーin東海 改訂版 2013/11/06 SparqlEPCU 2013/08/24 1
  2. 2. contents 1. 概要 – LOD開発環境SparqlEPCU – lod_browser 2. プログラミング無しでCSVデータをRDF登録 – Projectとアクセス権 – 汎用アプリで格納データを確認 3. JavaScriptでLODをマッシュアップ – CSVデータをクラウドへ格納 – SPARQL実行 SparqlEPCU 2013/08/24 2
  3. 3. 1.概要 目的:LOD開発環境を提供する SparqlEPCU mashup LOD_browser ユーザー: JavaScriptプログラマー マッシュアップ SparqlEPCU 2013/08/24 3
  4. 4. CLOUD LODデータ 認証システム OAuth Webアプリケーションサイト LODがクラウド で使えるわ♪ らくちん! エンドユーザ SparqlEPCU 2013/08/24 4
  5. 5. コース順 csv形式 緯度・経度 データの登録 データの検索 プログラミング無しで、 RDFの登録・検索を体験 自分のプロジェ クトを作る csv形式 緯度・経度 データの登録 JavaScriptを書いて、 RDFの登録・検索を体験 データの検索 SparqlEPCU 2013/08/24 5
  6. 6. RDFとは グラフ表現による知識ネットワーク 県 名古屋 愛知 メタデータ 市長 河村 橋本 友人 実世界 SparqlEPCU 2013/08/24 6
  7. 7. SPARQL 愛知県にある市の市長は誰? 愛知 グラフ探索 県 ?s 市長 ?o select ?s, ?o where{ ?s 県 愛知 . ?s 市長 ?o . } SparqlEPCU 2013/08/24 7
  8. 8. SparqlEPCU RDFstoreにアクセスするJavaScript APIを公開 SparqlEPCU 2013/08/24 8
  9. 9. 2.先ずはプログラミング無しで データ格納と データ検索 誰でも手軽にRDFをアップロードして SPARQLでクエリかけられる SparqlEPCU 2013/08/24 9
  10. 10. CSV形式でRDF登録データを準備する • addCSV.html クラス 属性 @学生, 学籍, ID09038, ID09000, ID09001, ID09002, _id type 名前, 藤木 晋太郎, 青山 哲也, 伊藤 信士, 遠藤 京子, mail fujiki_s@mail.com aoyama_t@mail.com ito_s@mail.com endo_k@mail.com 学籍 ID09xx 名前 mail 個々の データ 藤木xx fujiki@xx 学生 SparqlEPCU 2013/08/24 10
  11. 11. CSV形式でRDF登録 (subjectIDを付けて) • addCSV2.html 先頭属性がsubjectIDであれば、指定 URLのRDF登録になります 属性 クラス @学生, SubjectID, 学籍, http://aaa/, ID09038, http://bbb/, ID09000, http://ccc/, ID09001, http://ddd/, ID09002, http://aaa/ type 名前, 藤木 晋太郎, 青山 哲也, 伊藤 信士, 遠藤 京子, mail fujiki_s@mail.com aoyama_t@mail.com ito_s@mail.com endo_k@mail.com 学籍 ID09xx 名前 mail 個々の データ 藤木xx fujiki@xx 学生 SparqlEPCU 2013/08/24 11
  12. 12. データを登録する SparqlEPCU 2013/08/24 12
  13. 13. 登録したデータを検索してみる ?s SparqlEPCU 2013/08/24 ?p ?o 13
  14. 14. LOD Browserで検索してみる 緯度、経度情報があればgoogleマップ上に表示します。この画面で編集も出来ます。 SparqlEPCU 2013/08/24 14
  15. 15. 3.ここからはプログラミング JavaScript jQuery マッシュアップ 先ずはサンプルコードをダウンロード SparqlEPCU 2013/08/24 15
  16. 16. JavaScript APIをつかう CLOUDを使えばJavaScriptのコードを書く だけで LODアプリケーションサイト構築が可  RDFの登録  RDFの更新  RDFの削除  RDFの検索(SPARQL実行) Zipを解凍してindex.htmlをダブルクリック SparqlEPCU 2013/08/24 16
  17. 17. 開発にあたっての前提知識 • RDFに関する知識 • JavaScript, jQuery, JSON • • RDF登録の入力データ形式 – CSV – TURTLE – N3 – RDF/XML – N-TRIPLE RDFダウンロード – TURTLE – N3 – RDF/XML – N-TRIPLE SparqlEPCU 2013/08/24 17
  18. 18. 設定 • conf.jsの設定 (使用するプロジェクトを指定する) var rdfserver_project=“nagoyadata"; • Jsライブラリの指定 <script type="text/javascript" src="http://lodcu.cs.chubu.ac.jp:8080/SparqlEPCU/RDFmgr/rdfmgr-2.0.0.js"> </script> SparqlEPCU 2013/08/24 18
  19. 19. 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 2013/08/24 19
  20. 20. 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); } http://lodcu.cs.chubu.ac.jp/SparqlEPCU/RDFServer.jsp?reqtype=api&project= nagoyadata&query=select * where{?s ?p ?o}&output=JSON SparqlEPCU 2013/08/24 20
  21. 21. DeleteInstance GET http://lodcu.cs.chubu.ac.jp/SparqlEPCU/RDFServer.jsp? sparqlCallback=xxx& hostname=& reqtype=manage& type=removeInstance& graphID=null& project=test2& subject= http://lodcu.cs.chubu.ac.jp/SparqlEPCU/project/test2#id_2 SparqlEPCU 2013/08/24 21
  22. 22. APIs • CSV形式で登録されたインスタンスの操作 – rdfmgr.insertInstance() – rdfmgr.updateInstance() – rdfmgr.deleteInstance() • 検索 – rdfmgr.executeSparql () • 3つ組みとしての操作 – rdfmgr.insertStatement() – rdfmgr.updateStatement() – Rdfmgr.deleteStatement() SparqlEPCU 2013/08/24 22
  23. 23. まとめ • • • • データを生成する人 データを登録する人 アプリを作る人 基盤環境を作る人 – Sparqlエンドポイントを作る人 – データカタログ、Hubを作る人 – 語彙の統制を計る人 – 問い合わせ文からSPARQL式を作る人 SparqlEPCU 2013/08/24 23
  24. 24. • サポートサイト – http://lodcu.cs.chubu.ac.jp/SparqlEPCU/ • ダウンロード・サービス – Web API 仕様書 – APP JavaScriptサンプルコード • デモへのリンク – LOD Browser • お問い合わせ – toshioka@cs.chubu.ac.jp SparqlEPCU 2013/08/24 24
  1. A particular slide catching your eye?

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

×