Upload
hiroshi-ueda
View
153
Download
4
Embed Size (px)
DESCRIPTION
「SPARQLを利用した逆マッシュアップ-プログラミングを必要としないアプリ作成方法-」の補足資料
Citation preview
AllegroGraphでsgvizler 0.5を使うときの注意点
@uedayou
http://uedayou.net/
AllegroGraph x sgvizler 0.5
• AllegroGraphは他のSPARQLエンドポイントと出力されるデータ形式が若干違うようで、sgvizler 0.5 では利用できない場合があります。
• sgvizler最新版(0.6)ではAllegroGraphの出力も問題なく表示します
1.sgvizler雛形ファイル
使い方:sgvizler(通常)• 以下のコードをHTMLファイルに貼り付けて保存してブラウザで開くだけ
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script><script type="text/javascript" src="https://www.google.com/jsapi"></script><script type="text/javascript" id="sgvzlr_script" src="http://sgvizler.googlecode.com/svn/release/0.5/sgvizler.js"></script><script type="text/javascript"><!-- $(document).ready(sgvizler.go()); --></script><div id=“sgvizler-sample”data-sgvizler-endpoint
="http://lodcu.cs.chubu.ac.jp/SparqlEPCU/api/kyotobook_list"data-sgvizler-query=“SELECT ?year (count(?uri) AS ?noOfUri)WHERE {
?uri <http://linkdata.org/property/rdf1s1294i#Year> ?year.} GROUP BY ?yearORDER BY DESC(?noOfUri)“
data-sgvizler-chart="gBarChart"data-sgvizler-loglevel="2"data-sgvizler-chart-options="title=Number of instances"style="width:2000px; height:2500px;"></div>
使い方:sgvizler(AllegroGraph)<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script><script type="text/javascript" src="https://www.google.com/jsapi"></script><script type="text/javascript" id="sgvzlr_script" src="http://sgvizler.googlecode.com/svn/release/0.5/sgvizler.js"></script><script type="text/javascript" src="http://uedayou.net/sgvizler/0.5/parser-allegrograph.js"></script><script type="text/javascript"><!-- $(document).ready(sgvizler.go()); --></script><div id=“sgvizler-sample”data-sgvizler-endpoint
="http://lodcu.cs.chubu.ac.jp/SparqlEPCU/api/kyotobook_list"data-sgvizler-query=“SELECT ?year (count(?uri) AS ?noOfUri)WHERE {
?uri <http://linkdata.org/property/rdf1s1294i#Year> ?year.} GROUP BY ?yearORDER BY DESC(?noOfUri)“
data-sgvizler-chart="gBarChart"data-sgvizler-loglevel="2"data-sgvizler-chart-options="title=Number of instances"style="width:2000px; height:2500px;"></div>
• 以下で雛形コードをダウンロードできます(以下は反映済みです)
• http://uedayou.net/sparql-examples/sgvizer-example.html
この行を追加してください
2.FILTERの書き方
FILTER(通常)
•検索結果のフィルタリングが可能
• WHERE{ … } 内に記述
• dcterms:issuedが 2000(年)以上のものを検索
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX dcterms: <http://purl.org/dc/terms/>
SELECT DISTINCT ?uri ?label ?issued WHERE {
?uri rdfs:label ?label ;dcterms:issued ?issued .
FILTER ( ?issued >= 2000 )}
FILTER(AllegroGraphの場合)
•型無しリテラル(データ型の付与されていないリテラル)では、データ型のキャスト(変換)に失敗することがあります。
•数値型の比較では、一度文字列(xsd:string型)に変換してから、数値型(xsd:integerやxsd:float)に変換しましょう
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX dcterms: <http://purl.org/dc/terms/>SELECT DISTINCT ?uri ?label ?issued WHERE {
?uri rdfs:label ?label ;dcterms:issued ?issued .FILTER ( xsd:integer(STR(?issued)) >= 2000 )
}
文字列型に変換
数値型に変換
例:2010年以降の関連研究著者ランキングトップ10のクエリ
PREFIX dc: <http://purl.org/dc/elements/1.1/>PREFIX dcterms: <http://purl.org/dc/terms/>PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT ?creator (count(?uri) AS ?noOfUri)WHERE {
?uri dc:creator ?creator;dcterms:issued ?issued.FILTER( xsd:integer( STR(?issued) ) >= 2010)
}GROUP BY ?creatorORDER BY DESC(?noOfUri)limit 10