BH12.12/SPARQLthon/SPARQLendpoints

提供:TogoWiki

移動: 案内, 検索

目次

SPARQL endpoints

SPARQL command line interfaces

% ssh gw.ddbj.nig.ac.jp
% qlogin
% wget https://gist.github.com/raw/3385134/ed7cc9037052b8dd5e10367a6ce82c76cf9390b0/sparql.rb
% chmod 755 sparql.rb
% export SPARQL_ENDPOINT="http://fat:8890/sparql"
% ./sparql.rb help
% ./sparql.rb query '
SELECT *
FROM <http://genome.db/>
WHERE {
  ?s ?p ?o
} LIMIT 10
'
% mkdir -p /usr/local/src/jena
% cd /usr/local/src/jena
% wget http://www.apache.org/dist/jena/binaries/apache-jena-2.7.4.tar.gz
% tar xvf apache-jena-2.7.4.tar.gz
% mkdir -p /opt
% cd /opt
% ln -s /usr/local/src/apache-jena-2.7.5 jena
% export JENA_HOMEROOT=/opt/jena
% export PATH="$PATH:/opt/jena/bin"
% arq --data NC_000913.2.ttl --query NC_000913.2.rq

Jena arq でリモートのエンドポイントを検索する方法は? → Jena 同梱の rsparql で可能

% rsparql --service 'http://data.allie.dbcls.jp/sparql' 'select * {?s ?p ?o.} limit 10'

SPARQLthon endpoints

% owlim query genome.db '
SELECT *
WHERE {
 ?s ?p ?o
} limit 10
'

使えるポート番号がFireWallで制限されている場合のSPARQL endpointの公開法

  • Apacheでリバースプロキシを設定する

この辺りを参考にした http://blog.livedoor.jp/techblog/archives/65151527.html http://sistlb.sist.ac.jp/manual/ja/urlmapping.html

httpd.confに以下の行を追加

<IfModule mod_proxy.c>
ProxyRequests Off
<Proxy *>
Order deny,allow
#Deny from all
Allow from All
</Proxy>
<VirtualHost *:80>
ServerName hoge.huga.ac.jp
RewriteEngine On
RewriteRule /virtuoso/(.*) http://hoge.huga.ac.jp:8890/$1 [L,P,QSA]
RewriteRule ^(.*) http://hoge.huga.ac.jp:8890/$1 [L,P,QSA]
ProxyPassReverse /virtuoso/ http://hoge.huga.ac.jp:8890/
ProxyPassReverse / http://hoge.huga.ac.jp:8890/
</VirtualHost>

これでFireWall外からSPARQL endpointにアクセス可能になる。