SlideShare a Scribd company logo
SparqlEPCUで
LODをマッシュアップ
年岡晃一

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

SparqlEPCU

2013/08/24

1
contents
1. 概要
– LOD開発環境SparqlEPCU
– lod_browser

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

3. JavaScriptでLODをマッシュアップ
– CSVデータをクラウドへ格納
– SPARQL実行
SparqlEPCU

2013/08/24

2
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の登録・検索を体験

データの検索

SparqlEPCU

2013/08/24

5
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

名前,
藤木 晋太郎,
青山 哲也,
伊藤 信士,
遠藤 京子,

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
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
データを登録する

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を解凍してindex.htmlをダブルクリック
SparqlEPCU

2013/08/24

16
開発にあたっての前提知識
• RDFに関する知識
• JavaScript, jQuery, JSON
•

•

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

SparqlEPCU

2013/08/24

17
設定
• 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
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
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
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
APIs
• CSV形式で登録されたインスタンスの操作
– rdfmgr.insertInstance()
– rdfmgr.updateInstance()
– rdfmgr.deleteInstance()

• 検索
– rdfmgr.executeSparql ()

• 3つ組みとしての操作
– rdfmgr.insertStatement()
– rdfmgr.updateStatement()
– Rdfmgr.deleteStatement()
SparqlEPCU

2013/08/24

22
まとめ
•
•
•
•

データを生成する人
データを登録する人
アプリを作る人
基盤環境を作る人
– Sparqlエンドポイントを作る人
– データカタログ、Hubを作る人
– 語彙の統制を計る人
– 問い合わせ文からSPARQL式を作る人

SparqlEPCU

2013/08/24

23
• サポートサイト
– http://lodcu.cs.chubu.ac.jp/SparqlEPCU/
• ダウンロード・サービス
– Web API 仕様書
– APP JavaScriptサンプルコード

• デモへのリンク
– LOD Browser

• お問い合わせ
– toshioka@cs.chubu.ac.jp

SparqlEPCU

2013/08/24

24

More Related Content

PDF
SparqlEPCUが提供するlod開発プラットフォーム
Chubu University
 
KEY
第5回LinkedData勉強会@yayamamo
yayamamo @ DBCLS Kashiwanoha
 
PDF
SPARQLでマッシュアップ -LOD活用のための技術紹介-
uedayou
 
PPTX
SPARQL作成ツール SPARQL Creator
Ryouya Fujimoto
 
PDF
SPARQLとMashup環境 (年岡先生)
Shun Shiramatsu
 
PDF
SPARQLとMashup環境
Chubu University
 
PDF
サーバサイドコース Sinatra + SPARQL 編
Fumihiro Kato
 
PPTX
プログラムなしで公開できるLODアプリケーション
Kouji Kozaki
 
SparqlEPCUが提供するlod開発プラットフォーム
Chubu University
 
第5回LinkedData勉強会@yayamamo
yayamamo @ DBCLS Kashiwanoha
 
SPARQLでマッシュアップ -LOD活用のための技術紹介-
uedayou
 
SPARQL作成ツール SPARQL Creator
Ryouya Fujimoto
 
SPARQLとMashup環境 (年岡先生)
Shun Shiramatsu
 
SPARQLとMashup環境
Chubu University
 
サーバサイドコース Sinatra + SPARQL 編
Fumihiro Kato
 
プログラムなしで公開できるLODアプリケーション
Kouji Kozaki
 

What's hot (20)

PDF
SPARQLから入門するLinked Open Data(LOD)ハンズオン 第1回
yamahige
 
PDF
オープンデータ/Linked Open Data お手軽可視化ツールの紹介~SPARQLでマッシュアップ~
uedayou
 
PDF
オープンデータと Linked Open Data(LOD)@神戸R
Kouji Kozaki
 
PDF
汎用Web API“SPARQL”でオープンデータ検索
uedayou
 
PDF
SPARQL Timelinerの使い方
uedayou
 
PDF
LOD連続講義 第5回「LODの作り方・使い方」
Fuyuko Matsumura
 
PDF
Linked Open Data勉強会2020 前編:LODの基礎・作成・公開
KnowledgeGraph
 
PDF
ハンズオン勉強会 はじめてのJavaScriptとSPARQL
Taisuke Fukuno
 
PDF
Linked Open Data 作成支援ツールの紹介
uedayou
 
PDF
RDF/OWLの概要及びOSS実装、及び活用イメージについて
Masayuki Isobe
 
PDF
LODを閲覧する/作成する
Linked Open Dataチャレンジ実行委員会
 
PDF
SPARQLでオープンデータ活用!
uedayou
 
PDF
SPARQLアプリケーション開発
Toshiaki Katayama
 
PDF
LODを使ってみよう!
uedayou
 
PDF
Rdf入門handout
Seiji Koide
 
PPTX
Linked Data (再)入門
National Institute of Informatics (NII)
 
PDF
Linked Open Data勉強会2020 後編:SPARQLの簡単な使い方、SPARQLを使った簡単なアプリ開発
KnowledgeGraph
 
PDF
ナレッジグラフ/LOD利用技術の入門(後編)
KnowledgeGraph
 
PPTX
DBpedia Japaneseとは?
National Institute of Informatics (NII)
 
SPARQLから入門するLinked Open Data(LOD)ハンズオン 第1回
yamahige
 
オープンデータ/Linked Open Data お手軽可視化ツールの紹介~SPARQLでマッシュアップ~
uedayou
 
オープンデータと Linked Open Data(LOD)@神戸R
Kouji Kozaki
 
汎用Web API“SPARQL”でオープンデータ検索
uedayou
 
SPARQL Timelinerの使い方
uedayou
 
LOD連続講義 第5回「LODの作り方・使い方」
Fuyuko Matsumura
 
Linked Open Data勉強会2020 前編:LODの基礎・作成・公開
KnowledgeGraph
 
ハンズオン勉強会 はじめてのJavaScriptとSPARQL
Taisuke Fukuno
 
Linked Open Data 作成支援ツールの紹介
uedayou
 
RDF/OWLの概要及びOSS実装、及び活用イメージについて
Masayuki Isobe
 
LODを閲覧する/作成する
Linked Open Dataチャレンジ実行委員会
 
SPARQLでオープンデータ活用!
uedayou
 
SPARQLアプリケーション開発
Toshiaki Katayama
 
LODを使ってみよう!
uedayou
 
Rdf入門handout
Seiji Koide
 
Linked Open Data勉強会2020 後編:SPARQLの簡単な使い方、SPARQLを使った簡単なアプリ開発
KnowledgeGraph
 
ナレッジグラフ/LOD利用技術の入門(後編)
KnowledgeGraph
 
DBpedia Japaneseとは?
National Institute of Informatics (NII)
 
Ad

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