SPARQLthon/SPARQL b i n
提供:TogoWiki
以前、http://sparqlbin.com/ にて提供されていた、任意のSPARQLクエリとエンドポイントの組み合わせをURL化して共有できるサービス。
2014年9月現在、ドメイン名は失効し、アクセスできない。
その一方でサービスの提供に必要なソースコードはGitHubにて公開されている。
そこでローカルで立ち上げてみることにした。
インストール
以前、http://sparqlbin.com/ にて提供されていた、任意のSPARQLクエリとエンドポイントの組み合わせをURL化して共有できるサービス。 2014年9月26日現在、ドメイン名は別の目的で使用されている。
その一方でサービスの提供に必要なソースコードはGitHubにて公開されている。 そこでローカルで立ち上げてみることにした。
本サービスの提供にはバックエンドでのデータベースにApache CouchDBが必要である。 しかし、これは更に様々なライブラリを必要とし、それらが既にインストールされていない環境では構築までの作業数がかさむ。 ただ、Windows/Mac OS X/Ubuntuについてはバイナリパッケージが配布されているので、これらのOSで動作させるのであれば、この問題が回避できる。 また、その他のOSでのインストール作業を容易にするために、必要な作業一式をrakeで処理する環境がGitHubで公開されてはいる。
今回は最初にRedHatマシンで構築を試みたが、OpenSSLのバージョンなどとの相性でApache CouchDBの立上げが失敗に終わった。 そこでMac OS Xで試してみたが、これは非常に簡単で、Apache CouchDBについては、ダウンロード、展開、実行までが数回のクリックだけで終わる。 SPARQLbinサービス自体の立上げまでには、ターミナルでGitHubからSPARQLbinを取得するなどの一連の作業が必要になる。 ドキュメントに手順が書かれているが、これだけでは不足である。
まず、Couchdbkitが無いということで立ち上がらない。 ここに書かれている手順で作業を行うことで問題無いが、更に困ったことに、http://python-distribute.org/がダウンしている。 そこで、python-distribute.orgをnightly.ziade.orgに置き換えて実行する。
さらに、これでsparqlbin.pyは無事起動するが、実際にクエリとエンドポイントを示すURLを取得しようとすると失敗する。 これはCouchDBに、sparqlbin.pyが初期設定として利用している利用者adminがないためである。 そこで、CouchDBにユーザーアカウントを作らなくてはならない。 ユーザーアカウントを作る方法は、実際にCouchDBが動作しているマシンのブラウザでセキュリティ関係のドキュメントを開くと書かれている。 annaというユーザー名で、パスワードをsecretにする場合は、ターミナルで以下のように行う。
curl -X PUT $HOST/_config/admins/anna -d '"secret"'
これで晴れてsparqlbinが使えるようになる。
YASGUIとの比較
クエリとエンドポイントの組に対するURL生成機能を提供しているウェブサービスとしてはYASGUIがある。 YASGUIは非常に機能が豊富なウェブアプリになっていることから、共有されたURLにアクセスしてから実際のSPARQLクエリを発行するまでやや時間がかかる(例:[1])。 GitHubにソースコード群がおかれているが、多くのツール群から構成されているためにクローンサイトを立ち上げるためには相当な作業量が必要なのではないかと思われる。