まずはgemをインストール。
% gem install linkeddata % gem install sparql
SPARQLをRubyで実行するコード。
#-*- coding: utf-8 -*- require "sparql/client" client = SPARQL::Client.new("http://ja.dbpedia.org/sparql") results = client.query(" SELECT ?resource ?title WHERE { <http://ja.dbpedia.org/resource/織田裕二> dbpedia-owl:wikiPageWikiLink ?resource . ?resource rdf:type dbpedia-owl:Film . ?resource rdfs:label ?title . } ") results.each do |solution| puts "#{solution[:resource]} | #{solution[:title]}" end結果は以下のとおり。
http://ja.dbpedia.org/resource/踊る大捜査線_THE_MOVIE | 踊る大捜査線 THE MOVIE http://ja.dbpedia.org/resource/踊る大捜査線_THE_MOVIE_2_レインボーブリッジを封鎖せよ! | 踊る大捜査線 THE MOVIE 2 レインボーブリッジを封鎖せよ! http://ja.dbpedia.org/resource/ホワイトアウト_(小説) | ホワイトアウト (小説) http://ja.dbpedia.org/resource/湘南爆走族 | 湘南爆走族 http://ja.dbpedia.org/resource/県庁の星 | 県庁の星 http://ja.dbpedia.org/resource/彼女が水着にきがえたら | 彼女が水着にきがえたら http://ja.dbpedia.org/resource/椿三十郎_(2007年の映画) | 椿三十郎 (2007年の映画) http://ja.dbpedia.org/resource/BEST_GUY | BEST GUY http://ja.dbpedia.org/resource/将軍家光の乱心_激突 | 将軍家光の乱心 激突 http://ja.dbpedia.org/resource/T.R.Y. | T.R.Y. http://ja.dbpedia.org/resource/就職戦線異状なし | 就職戦線異状なし http://ja.dbpedia.org/resource/波の数だけ抱きしめて | 波の数だけ抱きしめて http://ja.dbpedia.org/resource/卒業旅行_ニホンから来ました | 卒業旅行 ニホンから来ました http://ja.dbpedia.org/resource/アマルフィ_女神の報酬 | アマルフィ 女神の報酬 http://ja.dbpedia.org/resource/踊る大捜査線_THE_MOVIE3_ヤツらを解放せよ! | 踊る大捜査線 THE MOVIE3 ヤツらを解放せよ! http://ja.dbpedia.org/resource/きけ、わだつみの声_Last_Friends | きけ、わだつみの声 Last Friends http://ja.dbpedia.org/resource/エンジェル_僕の歌は君の歌 | エンジェル 僕の歌は君の歌 http://ja.dbpedia.org/resource/アンダルシア_女神の報復 | アンダルシア 女神の報復 http://ja.dbpedia.org/resource/踊る大捜査線_THE_FINAL_新たなる希望 | 踊る大捜査線 THE FINAL 新たなる希望
コードは以下を参考に、というかほぼそのまま。
RDF.rb - LinkedData.jp Wiki