7.19 RDFデータをバルク・ロードするためのORARDFLDRユーティリティ

この項では、ORARDFLDRユーティリティ・プログラムを使用したRDFデータのバルク・ロードについて説明します。

このユーティリティ・プログラムは、ディレクトリ内のすべてのファイルをOracleデータベースのRDFグラフにロードします。RDF/XML、Turtle、N-Triple、N-Quads、Trigなど、複数のRDFシリアライズをサポートしています。gzipで圧縮されたファイルは、gzipファイルを解凍せずに直接ロードできます。また、Unicode文字エスケープおよびロング・リテラル(CLOB)は自動的に処理されます。

ORARDFLDRユーティリティ・プログラムの実行

ORARDFLDRを実行するコマンドを次に示します。

前提条件: 環境変数${ORACLE_JENA_HOME}がOTNキットが格納されているディレクトリを指していることを確認します。

使用方法:
java -cp ${ORACLE_JENA_HOME}/jar/'*' oracle.spatial.rdf.client.jena.utilities.RDFLoader <command_line_arguments>
ヘルプの詳細:
java -cp ${ORACLE_JENA_HOME}/jar/'*' oracle.spatial.rdf.client.jena.utilities.RDFLoader --help

便宜上、binディレクトリ内のシェル・スクリプトも実行できます。次に、このスクリプトを使用するコマンドについて説明します。

前提条件: ${ORACLE_JENA_HOME}を設定し、${ORACLE_JENA_HOME}/binがUnix PATH環境変数に含まれていることを確認します。

使用方法:
orardfldr <command_line_arguments>
ヘルプの詳細:
orardfldr --help

7.19.1 Oracle Autonomous DatabaseでのORARDFLDRの使用

この項では、ORARDFLDRユーティリティをOracle Autonomous Databaseで使用する方法について説明します。

Support for Apache Jenaに含まれるORARDFLDRユーティリティを使用して、クライアント・コンピュータからOracle Autonomous DatabaseにRDFファイルをバルク・ロードできます。データベースとの接続はクラウド・ウォレットに基づきます。

JDBCを使用してOracle Autonomous Databaseに接続する一般的な手順は、ATPへのJava接続を参照してください。

次の例では、JKSファイルを使用したプレーンJDBCの手順に従って、Oracle Autonomous DatabaseへのJDBC接続を確立する方法について説明します。

例7-36 Oracle Autonomous DatabaseへのJDBC接続

前提条件: Oracle jarファイルojdbc8.jarucp.jaroraclepki.jarosdt_core.jarおよびosdt_cert.jarがあることを確認します。

  1. wallet_<dbname>.zipファイルを解凍します。ファイルを解凍すると、次のリストのようなもの表示されます。
    [oracle@localhost Wallet_Info]$ ls
    cwallet.sso  keystore.jks      README      tnsnames.ora
    ewallet.p12  ojdbc.properties  sqlnet.ora  truststore.jks
  2. JKS関連の接続プロパティを追加するには、ojdbc.propertiesを変更します。ojdbc.propertiesファイルの最終バージョンは次のようになります。

    # Connection property while using Oracle wallets.
    #oracle.net.wallet_location=(SOURCE=(METHOD=FILE)(METHOD_DATA=(DIRECTORY=${TNS_ADMIN})))
    # FOLLOW THESE STEPS FOR USING JKS
    # (1) Uncomment the following properties to use JKS.
    # (2) Comment out the oracle.net.wallet_location property above
    # (3) Set the correct password for both trustStorePassword and keyStorePassword.
    # It's the password you specified when downloading the wallet from OCI Console or the Service Console.
    javax.net.ssl.trustStore=${TNS_ADMIN}/truststore.jks
    javax.net.ssl.trustStorePassword=password
    javax.net.ssl.keyStore=${TNS_ADMIN}/keystore.jks
    javax.net.ssl.keyStorePassword=password

次のJDBC URLを使用します。

jdbc:oracle:thin:@dbname_alias?TNS_ADMIN=<path_to_wallet_directory>

次の例では、rdfdbという名前のデータベースに対してORAFLDRユーティリティを使用し、ウォレット・ディレクトリを/home/oracle/RDF/Wallet_Info/にしてRDFファイルをロードします。

例7-37 ORAFLDRユーティリティを使用したRDFデータ・ファイルのロード

前提条件: 例7-36にリストされている前提条件jarが$ORACLE_JENA_HOME/jar/にコピーされていることを確認します。

ORARDFLDRを起動して、クライアント・コンピュータからAutonomous DatabaseにRDFファイルをロードします。

orardfldr --modelName=M1 --fileDir=./data --lang=N-TRIPLE 
    --jdbcUrl=jdbc:oracle:thin:@rdfdb_medium?TNS_ADMIN=/home/oracle/RDF/Wallet_Info/ 
    --user="RDFUSER" --password=password --networkOwner="RDFUSER" --networkName=NET1

RDFデータをN-Triple形式でRDFUSERが所有するNET1という名前のネットワーク内のM1という名前のモデルにロードします。RDFUSERは、データベース接続にも使用されます。