プログラムの実行
必要な外部プログラム
Semi-structured Database(以下 SSDB)はWebサーバと組み合わせて常駐型のCGI(FastCGI)アプリケーションとして動作するため、 FastCGIに対応したWebサーバが必要となります。
| 動作確認済みWebサーバ | 入手元 |
| apache 2.0.54 | http://www.apache.org/ |
| with mod_fastcgi 2.4.2 | http://www.fastcgi.com/ |
各WebサーバにおけるFastCGIプログラムの設定方法については、mod_fastcgiのドキュメントをご覧ください。
以下にApache 2.0.54に対する主な指示子の設定を示します。
ScriptAlias /cgi-bin/ "..." LoadModule fastcgi_module modules/mod_fastcgi.so <IfModule mod_fastcgi.c> AddHandler fastcgi-script .fcgi FastCgiConfig -maxClassProcesses 1 -initial-env SSDB_DIR=/var/RDF_DATA_STORE -initial-env LC_CTYPE=ja_JP.UTF-8 FastCgiIpcDir /tmp </IfModule> <VirtualHost *:80> Script PUT /cgi-bin/ssdb.fcgi Script GET /cgi-bin/ssdb.fcgi </VirtualHost>
同一サーバ内で、複数のssdbを個別のデータ領域に対して起動するには ssdb.fcgi を別名でコピー(またはシンボリックリンク)を作成し、以下のようにFastCgiServer ディレクティブで個別に設定します。
ScriptAlias /cgi-bin/ "..." LoadModule fastcgi_module modules/mod_fastcgi.so <IfModule mod_fastcgi.c> AddHandler fastcgi-script .fcgi FastCgiServer .../ssdb.fcgi -processes 1 -initial-env SSDB_DIR=/var/RDF_DATA_STORE -initial-env LC_CTYPE=ja_JP.UTF-8 FastCgiServer .../ssdb-alt.fcgi -processes 1 -initial-env SSDB_DIR=/var/RDF_DATA_STORE-alt -initial-env LC_CTYPE=ja_JP.UTF-8 </IfModule>
上記の"..."の部分に ssdb.fcgiをインストールしたディレクトリを指定してください。 またFastCgiConfigのオプションとしてデータを格納するディレクトリ名(上記の例では/var/RDF_DATA_STORE)を指定してください。 指定がない場合は、/tmp/RDF_DATA_STOREが用いられます。
ssdb.fcgiはHTTP GET要求に対しては、その要求のクエリ文字列に含まれるQUERY_STRINGの値をSPARQL問合せとして実行し、 HTTP応答をSPAQL Result Set形式(SPARQL問合せがSELECT文およびASK文の場合)またはRDF/XML形式(SPARQL問合せがCONSTRUCT文の場合)として返します。 HTTP PUT要求に対しては、そのHTTPボディをRDF/XML形式として解釈した結果のRDFステートメントを、データベースに追記します。
必要なライブラリ
SSDBを実行するためには次のライブラリが必要です。
| 名称 | 動作確認済みバージョン | ライブラリ名 | 入手元 |
| Xerces-C | 2.7.0 | libxerces-c | http://xml.apache.org/xerces-c/ |
| FastCGI | 2.4.0 | libfcgi++ | http://www.fastcgi.com/ |
| Berkeley DB | 4.3.27 | libdb_cxx | http://www.oracle.com/technology/software/products/berkeley-db/db/ |
FastCGIアプリケーションはWebサーバの実行環境から起動されるため、これらの動的ライブラリを標準のライブラリディレクトリ に配置しない場合は、ldconfigによって、ライブラリの配置場所を指定するか、 Weサーバが実行される環境のLD_LIBRARY_PATH環境変数に、これらの配置場所を含めるようにしてください。
SPARQL検索テストの実行
サブディレクトリ testの下で
make test
を実行すると、w3c RDF データアクセスWGが提供するテスト集を実行することができます。 このテストを実行するためには、 まずhttp://www.w3.org/2001/sw/DataAccess/tests/data.tar.gzを入手して、 testディレクトリ以下に展開してください。 また、このデータからテスト実行環境を構築するために、次の二つのプログラムが必要となります。
| 名称 | 機能 | 入手元 |
| Xalan | XSLトランスレータ | http://xalan.apache.org/ |
| cwm.py | n3/RDF変換スクリプト | http://www.w3.org/2000/10/swap/doc/cwm.html |
こららのプログラムは make testの中で呼び出されます。
