第3章 NoSQL Databaseへの接続

目次

Oracle NoSQL Databaseへの単一接続の作成
接続プーリング

この項では、RDFグラフ機能からOracle NoSQL Databaseに接続する2つの方法について説明します。接続をサポートするAPI呼出しの詳細なドキュメントは、RDFグラフ機能のリファレンス情報(Javadoc)を参照してください。

Oracle NoSQL Databaseへの単一接続の作成

RDFグラフ機能には、Oracle NoSQL Databaseに対する接続と操作を管理する便利なハンドラが用意されています。このハンドラは、Oracle NoSQL DatabaseであらゆるRDFデータにアクセスしそのデータを永続化するためにOracleGraphNoSqlとDatasetGraphNoSqlで使用される重要なコンポーネントです。

接続ハンドラは、RDFグラフ機能のOracleNoSQLConnectionクラスを通じて提供されます。このクラスを初期化してこの接続オブジェクトを使用すると、Graph APIとDatasetGraph APIを通じてRDFトリプルまたはクワッドデータをOracle NoSQL Databaseからロード、変更、問合せおよび削除することができます。

次の例では、OracleNoSqlConnectionオブジェクトを設定しています。

public static void main(String[] args) throws Exception
{
String szStoreName = args[0];
String szHostName  = args[1];
String szHostPort  = args[2];
String szModelName = args[3];
    
System.out.println("Creating connection handler");    
OracleNoSqlConnection conn 
                       = OracleNoSqlConnection.createInstance(szStoreName,
                                                              szHostName,
                                                              szHostPort); 
OracleModelNoSql model 
    = OracleModelNoSql.createOracleModelNoSql(szModelName,conn);
    
System.out.println("Clear model");
model.removeAll();
    
model.getGraph().add(Triple.create(Node.createURI("u:John"),
                                   Node.createURI("u:cousinOf"),
                                   Node.createURI("u:Jackie")));
    
    
String queryString = "select ?x ?y ?z WHERE {?x ?y ?z}";
    
System.out.println("Execute query " + queryString);
    
Query query = QueryFactory.create(queryString) ;
QueryExecution qexec = QueryExecutionFactory.create(query, model);
    
try {
      ResultSet results = qexec.execSelect();
      ResultSetFormatter.out(System.out, results, query);
    }
    
finally {
      qexec.close();
    } 
    
model.close();

// Close connection 
conn.dispose();
}