12.1.1 グラフをメモリーにロードするためのAPI

PgxSessionの次のメソッドを使用して、グラフをグラフ・サーバー(PGX)メモリーにロードできます。

PgxGraph readGraphWithProperties(String path)
PgxGraph readGraphWithProperties(String path, String newGraphName)
PgxGraph readGraphWithProperties(GraphConfig config)
PgxGraph readGraphWithProperties(GraphConfig config, String newGraphName)
PgxGraph readGraphWithProperties(GraphConfig config, boolean forceUpdateIfNotFresh)
PgxGraph readGraphWithProperties(GraphConfig config, boolean forceUpdateIfNotFresh, String newGraphName)
PgxGraph readGraphWithProperties(GraphConfig config, long maxAge, TimeUnit maxAgeTimeUnit)
PgxGraph readGraphWithProperties(GraphConfig config, long maxAge, TimeUnit maxAgeTimeUnit, boolean blockIfFull, String newGraphName)
read_graph_with_properties(self, config, max_age=9223372036854775807, max_age_time_unit='days',
                                   block_if_full=False, update_if_not_fresh=True, graph_name=None)

最初の引数(グラフ構成ファイルまたは解析されたconfigオブジェクトへのpath)は、読み取られるグラフのメタデータです。メタデータには次の情報が含まれます。

  • グラフ・データの場所: ファイルの場所と名前、DBの場所、接続情報など
  • グラフ・データの形式: プレーン・テキスト形式、XMLベースの形式、バイナリ形式など
  • ロードされるプロパティのタイプと名前

forceUpdateIfNotFreshおよびmaxAge引数を使用して、読み取られるスナップショットの経過時間を微調整できます。指定されたグラフ仕様がすでに別のセッションによってメモリーにロードされている場合、グラフ・サーバー(PGX)は既存のグラフ・スナップショットを返します。そのため、データが頻繁に変更される可能性のあるデータベースから読取りを行う場合は、maxAge引数が重要になります。forceUpdateIfNotFreshまたはmaxAgeが指定されていない場合、PGXは新しいスナップショットをメモリーに読み込むことよりも、キャッシュされたデータを優先します。