26.8.6 グラフの特定のスナップショットのダイレクト・ロード
PgxSession.readGraphAsOf()
メソッドを使用して、グラフの特定のスナップショットを直接ロードすることもできます。これは、readGraphWithProperties()
の後にsetSnapshot()
を指定してグラフをロードするショートカットです。
PGXセッションにすでにロードされているグラフの2つのスナップショットについて検討します。次の例は、特定のスナップショットへの参照を取得する方法を示しています。
- グラフのグラフ構成を取得します:
opg4j> var config = GraphConfigFactory.forAnyFormat().fromPath("<path_to_json>") ==> {"format":"adj_list", ... }
GraphConfig config = GraphConfigFactory.forAnyFormat().fromPath("<path_to_json>");
config = GraphConfigFactory.for_any_format().from_path("<path_to_json>")
getAvailableSnapshots()
を使用して、このグラフ構成のロード済スナップショットを確認します。opg4j> session.getAvailableSnapshots(G) ==> GraphMetaData [getNumVertices()=4, getNumEdges()=4, memoryMb=0, dataSourceVersion=1453315103000, creationRequestTimestamp=1453315122669 (2016-01-20 10:38:42.669), creationTimestamp=1453315122685 (2016-01-20 10:38:42.685), vertexIdType=integer, edgeIdType=long] ==> GraphMetaData [getNumVertices()=5, getNumEdges()=5, memoryMb=3, dataSourceVersion=1452083654000, creationRequestTimestamp=1453314938744 (2016-01-20 10:35:38.744), creationTimestamp=1453314938833 (2016-01-20 10:35:38.833), vertexIdType=integer, edgeIdType=long]
Deque<GraphMetaData> snapshots = session.getAvailableSnapshots(G);
session.get_available_snapshots(G)
- 4つの頂点と4つのエッジを持ち、タイムスタンプが
1453315122685
であるグラフのスナップショットをチェックアウトします。opg4j> var G = session.readGraphAsOf( config, 1453315122685 ) ==> PGX Graph named 'sample' bound to PGX session 'a1744e86-65fb-4bd1-b2dc-5458b20954a9' registered at PGX Server Instance running in embedded mode opg4j> G.getNumVertices() ==> 4 opg4j> G.getNumEdges() ==> 4
PgxGraph G = session.readGraphAsOf( config, 1453315122685 );
G = read_graph_as_of(config, creation_timestamp=1453315122685)
親トピック: グラフのバージョニング