タイトルが長くなってしまいました。。。ここではWikipediaの日本語版ページについて記述されているDBpedia Japaneseを対象としています。Japaneseは省略していきます。
##DBpediaとは
まずDBpediaとは、簡単にオンライン大百科辞典の代表であるWikipediaのインフォボックスの情報を取得するプログラムを持ったWebサイトのことです。(表現がおかしかったらコメント下さい・・・)
公式ホームページから引用するとこのように書かれています。
DBpediaはWikipediaから情報を抽出してLOD (Linked Open Data)として公開するコミュニティプロジェクトです.本家のDBpediaは主にWikipedia英語版を対象としています.DBpedia Japanese の目的は,Wikipedia日本語版を対象としたDBpediaを提供することです.
##実際にSPARQLクエリを入力してみる
使い方
###SPARQLエンドポイント
SPARQLエンドポイントにアクセスする。
このようなクエリ入力画面になるのでクエリ入力後、取り出したいデータ形式をResults Format
で指定します。今回はわかりやすさのため、HTMLを選択します。
###入力例
早速ですが入力例です。
prefix dbp: <http://ja.dbpedia.org/resource/>
prefix dbp-owl: <http://dbpedia.org/ontology/>
prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT *
WHERE {
dbp:東京 dbp-owl:wikiPageWikiLink ?thing1.
?thing1 rdfs:label ?thing2.
}
limit 50
###入力の意味
入力したキーワードについてのちょっとした補足です。
1.prefix
これは後ろに書かれているURI(例: http://ja.dbpedia.org/resource/
)を dbp:
などという文字に省略してクエリを書きますよ、と宣言するためのものです。
2.SELECT
取得したい変数を指定している。SELECT *
と入力すると、すべての変数を指定してくれる。ここでの変数は?thing1
と?thing2
です。
3.WHERE
{}
内に検索したいRDFのトリプル(主語・述語・目的語)を記述する。
4.rdfs:label
人間が読みやすい形のリソース名です。簡単に表すと「日本」のような文字列のことです。
5.LIMIT
LIMIT 数字
を{}
外側に書くと、取得する情報の件数を数字で指定して制限することができます。これがない場合は全件取得します。
###出力先のURL
こちらの長いURLがクエリを実行した先のURLになります。よく見ると、入力したクエリが書かれているのがわかります。
http://ja.dbpedia.org/sparql?default-graph-uri=http%3A%2F%2Fja.dbpedia.org&query=prefix+dbp%3A+%3Chttp%3A%2F%2Fja.dbpedia.org%2Fresource%2F%3E%0D%0Aprefix+dbp-owl%3A+%3Chttp%3A%2F%2Fdbpedia.org%2Fontology%2F%3E%0D%0Aprefix+rdfs%3A+%3Chttp%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23%3E%0D%0A%0D%0ASELECT+*%0D%0AWHERE+%7B%0D%0A++++++++dbp%3A東京+dbp-owl%3AwikiPageWikiLink+%3Fthing1.%0D%0A++++++++%3Fthing1+rdfs%3Alabel+%3Fthing2.%0D%0A%7D%0D%0Alimit+50&format=text%2Fhtml&timeout=0&debug=on
###出力例
出力先にアクセスすると以下のような出力が得られました。
ちなみにこの縦長のウェブページのスクリーンショットはBrowseShotという大変重宝するMacアプリを使いました。
まあこんな感じでデータを取得することができます。もちろん例で示したHTML形式だけではなくJSON形式等で取得できます。おわり。
##参考サイト