D2R - MySQLのデータからRDFの出力/SPARQLエンドポイントの設置
D2Rを使うとMySQL等のRDBのデータからRDFを出力することができる。またSPARQLのエンドポイントとしても機能する。
本家サイトはこちら: http://www4.wiwiss.fu-berlin.de/bizer/d2r-server/
動きとしては、RDBのテーブル/カラム構成とRDFでの出力結果をひもづけするマッピングファイルを用意して、それをもとにサーバーを起動する、という形になる。
セットアップ
基本的なセットアップは上記公式サイトからtar.gzをダウンロードしてきて展開すればOK
マッピングファイルのひな形を出力する
RDBの構成をどうRDFとして出力するかを記述するものがマッピングファイルである。
現状のカラム構成からマッピングファイルのひな形を出力するユーティリティコマンドが用意されている。
例えばlocalhostにあるblogというデータベースからマッピングファイルを出力する場合
$ ./generate-mapping -u john -p your_pw -d com.mysql.jdbc.Driver \
-o mapping.n3 jdbc:mysql://localhost/blog
マッピングファイルの編集
マッピングファイルはひな形として出力したものから表示したくないカラムやテーブルを除けば、概ね使える状態になるが、テーブル間のアソシエーションを表現したい場合などは少々手を入れる必要がある。
例えば、一つのブログ記事に複数のコメントが紐づいていて、その情報を出力に加えたい場合は下記のようにd2r:join句を使って表現する
map:posts_comment a d2rq:PropertyBridge;
d2rq:belongsToClassMap map:posts;
d2rq:property vocab:comments;
d2rq:uriPattern "http://yourblog.com/comments/@@comments.id@@";
d2rq:join "posts.id <= comments.post_id";
.
次に、例えば緯度データがミリ秒としてDBに入っているが、出力は度形式にしたい場合などはd2rq:sqlExpressionを使ってSQL文として演算を加える
@prefix geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> .
map:posts_lat a d2rq:PropertyBridge;
d2rq:belongsToClassMap map:posts;
d2rq:property geo:lat;
d2rq:propertyDefinitionLabel "posts lat";
d2rq:sqlExpression "posts.lat / (60.0 * 60.0 * 1000.0)";
d2rq:datatype xsd:double;
.
サーバーの起動
変更を加えたマッピングファイルをmapping.n3とすると下記のコマンドでサーバーが立ちあがる
$ ./d2r-server -p 80 -b http://yourblog.com mapping.n3
ブラウザでアクセウスするとデータ全体をブラウズすることができる。
この場合、SPARQLエンドポイントはhttp://yourblog.com/sparql
となる
Author And Source
この問題について(D2R - MySQLのデータからRDFの出力/SPARQLエンドポイントの設置), 我々は、より多くの情報をここで見つけました https://qiita.com/sawamur@github/items/02b3ddfa3187df300342著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .