14.7.6 グラフの特定のスナップショットのダイレクト・ロード
PgxSession.readGraphAsOf()
メソッドを使用して、グラフの特定のスナップショットを直接ロードすることもできます。これは、readGraphWithProperties()
の後にsetSnapshot()
を指定してグラフをロードするショートカットです。
PGXセッションにすでにロードされているグラフの2つのスナップショットについて検討します。次の例は、特定のスナップショットへの参照を取得する方法を示しています。
- グラフのグラフ構成を取得します
JShellを使用したグラフ構成の取得
opg4j> var config = GraphConfigFactory.forAnyFormat().fromPath("<path_to_json>") ==> {"format":"adj_list", ... }
Javaを使用したグラフ構成の取得GraphConfig config = GraphConfigFactory.forAnyFormat().fromPath("<path_to_json>");
Pythonを使用したグラフ構成の取得config = GraphConfigFactory.for_any_format().from_path("<path_to_json>")
getAvailableSnapshots()
を使用して、このグラフ構成のロード済スナップショットを確認します。JShellを使用した使用可能なスナップショットの取得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]
Javaを使用した使用可能なスナップショットの取得Deque<GraphMetaData> snapshots = session.getAvailableSnapshots(G);
Pythonを使用した使用可能なスナップショットの取得session.get_available_snapshots(G)
- 4つの頂点と4つのエッジを持ち、タイムスタンプが
1453315122685
であるグラフのスナップショットをチェックアウトします。JShellを使用した特定のスナップショットのロード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
Javaを使用した特定のスナップショットのロードPgxGraph G = session.readGraphAsOf( config, 1453315122685 )a
Pythonを使用した特定のスナップショットのロードG = read_graph_as_of(config, creation_timestamp=1453315122685)
親トピック: グラフのバージョニング