LinkedData – SPARQL エンドポイントを利用する

概要

前回インストールした RDF::LinkedData モジュールによる RDF ストアを SPARQL エンドポイントから利用できるようにします。
RDF::Endpoint が必要です。その他、作者推奨のモジュール Plack::Middleware::Expires と RDF::Generator::Void もインストールしておく。

インストール

sudo cpanm RDF::Endpoint Plack::Middleware::Expires RDF::Generator::Void

動作確認

http://localhost:5000/sparql にアクセスし、SPARQL を入力するテキストエリアが表示されたら OK です。
結果出力を HTML, Turtle, XML, JSON 形式で返すことができます。

rdf-linkeddata-sparql-endpoint

レスポンスは HTML, Turtle, XML, JSON に対応

RDB は SQLite でもよいがデータセットのインポートには結構な時間がかかった。また、運用環境では MySQL, MariaDB, MariaDB Galera Cluster などに RDF ストアを作りたい。
あとは、フロントの nginx から .psgi を利用したいのでその設定も必要になりそうです。また、WordPress のエントリなどで利用できると便利そう。

RDF::LinkedData の README には Apache 向けの設定が記載されています。
ちょっと変わったところでは、URL に dumps を含む場合は通常ファイルとしておく必要があるようです。

  
    SetHandler perl-script
    PerlResponseHandler Plack::Handler::Apache2
    SetEnv RDF_LINKEDDATA_CONFIG /to/where/you/put/rdf_linkeddata.json
    PerlSetVar psgi_app /usr/local/bin/linked_data.psgi
  

  
    use Plack::Handler::Apache2;
    $ENV{RDF_LINKEDDATA_CONFIG}='/to/where/you/put/rdf_linkeddata.json';
    Plack::Handler::Apache2->preload("/usr/local/bin/linked_data.psgi");
  

  
    SetHandler default-handler
  

[amazonjs asin=”B017LQG9XC” locale=”JP” title=”オープンデータ時代の標準Web API SPARQL (NextPublishing)”]

スポンサーリンク