SPARQLエンドポイントのWebアプリケーション・アーカイブ(WAR)ファイルを変更すると、たとえばサーブレットまたはフィルタを追加してそのロジックを強化できます。新しいSPARQLエンドポイントWARファイルを作成するには、Apache Jena Josekiをダウンロードします。Apache Jena JosekiはSPARQLプロトコルとSPARQL問合せをサポートするオープンソースのSPARQLサーバーです。この項では、SPARQLサービス・エンドポイントのWebアプリケーション・アーカイブ(joseki.war)を生成する方法について説明します。
Java 6がインストールされていることを確認してください。Joseki 3.4.4で必要です。
http://sourceforge.net/projects/joseki/files/Joseki-SPARQL/からApache Jena Joseki 3.4.4 (joseki-3.4.4.zip)をダウンロードします。
joseki-3.4.4.zipを一時ディレクトリに展開します。次に例を示します。
mkdir /tmp/joseki cp joseki-3.4.4.zip /tmp/joseki cd /tmp/joseki unzip joseki-3.4.4.zip
「システム環境の設定」の説明に従って、Oracle NoSQL DatabaseのRDFグラフ機能をダウンロードし、展開します。
jena_adapterディレクトリと同じレベルにjoseki.war
という名前のディレクトリを作成し、そこに移動します。次に例を示します。
mkdir /tmp/joseki.war cd /tmp/joseki.war
前の手順で作成したディレクトリに、必要なファイルをコピーします。
cp /tmp/jena_adapter/joseki/* /tmp/joseki.war cp -rf /tmp/joseki/Joseki-3.4.4/webapps/joseki/StyleSheets \ /tmp/joseki.war
次のように、ディレクトリを作成して必要なファイルをコピーします。
mkdir /tmp/joseki.war/WEB-INF cp /tmp/jena_adapter/web/* /tmp/joseki.war/WEB-INF mkdir /tmp/joseki.war/WEB-INF/lib cp /tmp/joseki/Joseki-3.4.4/lib/joseki-3.4.4.jar \ /tmp/joseki.war/WEB-INF/lib cp /tmp/jena_adapter/jar/*.jar /tmp/joseki.war/WEB-INF/lib cp <#JENA_DIR>/lib/* /tmp/joseki.war/WEB-INF/lib ## Assume KV_HOME points to the home directory of an ## Oracle NoSQL Database ## Release <#ORACLE>. cp $KVHOME/lib/kvclient.jar /tmp/joseki.war/WEB-INF/lib
/tmp/joseki.war
にあるApache Jena Josekiの構成ファイル(joseki-config.ttl
)を変更し、Oracle NoSQL Databaseにアクセスする際のストア名、ホスト名、ホスト・ポートを指定します。この値はSPARQLサービス・エンドポイントで使用され、Oracle NoSQL Databaseへの接続が確立されて更新および問合せの操作が実行されます。この構成の詳細は、「SPARQLサービスにおけるOracle NoSQL Database接続の構成」を参照してください。
ファイルとディレクトリ構造をチェックし、次のとおりになっていることを確認します。
. |-- META-INF | |-- MANIFEST.MF |-- StyleSheets | |-- joseki.css |-- WEB-INF | |-- lib | | |-- common-codec-1.5.jar | | |-- httpclient-4.1.2.jar | | |-- httpcore-4.1.3.jar | | |-- jena-arq-2.9.4.jar | | |-- jena-core-2.7.4.jar | | |-- jena-iri-0.9.4.jar | | |-- jena-tdb-0.9.4.jar | | |-- joseki-3.4.4.jar | | |-- kvclient.jar | | |-- log4j-1.2.16.jar | | |-- sdordfnosqlclient.jar | | |-- slf4j-api-1.6.4.jar | | |-- slf4j-log4j12-1.6.4.jar | | |-- xercesImpl-2.10.0.jar | | |-- xml-apis-1.4.01.jar | |-- web.xml |-- application.xml |-- index.html |-- joseki-config.ttl |-- update.html |-- xml-to-html.xsl
次のコマンドを使用して、/tmp/joseki.war
ディレクトリから.warファイルを作成します(OC4JコンテナにApache Jena Josekiをデプロイする場合には.warファイルが必要です)。
cd /tmp/joseki.war jar cvf /tmp/joseki_app.war *