D2RQ設定

提供:TogoWiki

移動: 案内, 検索

MySQLなどの関係データベースに格納されているデータに対してSPARQLで問合せできるようにするミドルウェアとして広く使われているものがD2RQです。

現在サポートされているデータベース実装は以下の通りです。

  • Oracle
  • MySQL
  • PostgreSQL
  • SQL Server
  • HSQLDB
  • Interbase/Firebird

ここでは具体的な導入方法を記述します。オリジナルはこちら

準備

必要なソフトウェアは以下の通りです。

以上の環境で、以下のコマンドを実行してD2RQを取得します。

git clone https://github.com/d2rq/d2rq.git

すると上記コマンドを実行したディレクトリにd2rqディレクトリが出来ているので、そこをカレントディレクトリにします。

cd d2rq

続いて下記コマンドを実行してD2RQが動作できるようにします。

ant jar

最後に以下の表示がなされれば問題無く実行環境が整えられたことになります。

BUILD SUCCESSFUL
Total time: 3 seconds

SPARQLエンドポイントの立上げ

最初に、アクセス対象データベースについてD2RQに知らせるファイルを生成します。 ここでは例として mapping_myDB.ttl とします。 MySQLの場合は以下の要領で行います。

generate-mapping -u user -p pass -o mapping_myDB.ttl jdbc:mysql://<host_name>:<port>/<database_name>

問題無くファイルが生成されたら次の要領でサーバーを立ち上げます。

d2r-server mapping_myDB.ttl

様々な表示がなされますが、最後に以下の表示があれば立ち上がったことを意味します。

Server started at http://localhost:2020/

実際にブラウザからアクセスしてみてください。

また、コマンドラインからも以下の要領でSPARQLでアクセスが出来ます。

d2r-query mapping_myDB.ttl "SELECT * { ?s ?p ?o } LIMIT 10"

なお、generate-mappingコマンドで生成されたファイルには、関係データベースのテーブルやカラムに対応したクラス定義などが機械的に自動生成された結果として記述されています。 このファイルを適宜編集することで、所望のオントロジーとの整合性を取ることができ、それの基づくSPARQLクエリを受け付けられるようになります。 2014年1月に開催されたBH13.13にてD2RQに関する作業をした記録がBH13.13/D2RQにありますので、こちらも併せて参照してください。

/mw/D2RQ%E8%A8%AD%E5%AE%9A」より作成