5.4.8 プロパティ・グラフ・インスタンスのオープンとクローズ
プロパティ・グラフを記述する際、次のOracleプロパティ・グラフ・クラスを使用して、プロパティ・グラフ・インスタンスを適切にオープンおよびクローズします。
-
OraclePropertyGraph.getInstance
: Oracleプロパティ・グラフのインスタンスをオープンします。このメソッドには、接続情報とグラフ名の2つのパラメータがあります。 -
OraclePropertyGraph.clearRepository
: プロパティ・グラフ・インスタンスからすべての頂点およびエッジを削除します。 -
OraclePropertyGraph.shutdown
: グラフ・インスタンスをクローズします。
Oracle Databaseの場合、OraclePropertyGraph.getInstance
メソッドはOracleインスタンスを使用してデータベース接続を管理します。OraclePropertyGraph
には、グラフ名、ハッシュ・パーティションの数、並列度、表領域、ストレージのオプション(圧縮など)を設定できる、コンストラクタのセットがあります。たとえば:
import oracle.pg.rdbms.*;
Oracle oracle = new Oracle(jdbcURL, username, password);
OraclePropertyGraph opg = OraclePropertyGraph.getInstance(oracle, graphName);
opg.clearRepository();
// .
// . Graph description
// .
// Close the graph instance
opg.shutdown();
インメモリー・アナリスト機能がアプリケーションに必要な場合、GraphConfigBuilder
を使用してOracle Database用のグラフを作成し、引数としてグラフ名を指定してOraclePropertyGraph
をインスタンス化する必要があります。たとえば、次のコード・スニペットでは、グラフconfig
を作成し、OraclePropertyGraph
インスタンスを取得し、データをそのグラフにロードし、インメモリー・アナリストを取得します。
import oracle.pgx.config.*;
import oracle.pgx.api.*;
import oracle.pgx.common.types.*;
...
PgNosqlGraphConfig cfg = GraphConfigBuilder. forPropertyGraphRdbms ()
.setJdbcUrl("jdbc:oracle:thin:@<hostname>:1521:<sid>")
.setUsername("<username>").setPassword("<password>")
.setName(szGraphName)
.setMaxNumConnections(8)
.addEdgeProperty("lbl", PropertyType.STRING, "lbl")
.addEdgeProperty("weight", PropertyType.DOUBLE, "1000000")
.build();
OraclePropertyGraph opg = OraclePropertyGraph.getInstance(cfg);
String szOPVFile = "../../data/connections.opv";
String szOPEFile = "../../data/connections.ope";
// perform a parallel data load
OraclePropertyGraphDataLoader opgdl = OraclePropertyGraphDataLoader.getInstance();
opgdl.loadData(opg, szOPVFile, szOPEFile, 2 /* dop */, 1000, true, "PDML=T,PDDL=T,NO_DUP=T,");
...
PgxSession session = Pgx.createSession("session-id-1");
PgxGraph g = session.readGraphWithProperties(cfg);
Analyst analyst = session.createAnalyst();
...
親トピック: プロパティ・グラフ・データに対するJava APIの使用