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にありますので、こちらも併せて参照してください。