15.7.5 グラフの異なるスナップショットのチェックアウト

PgxSession.setSnapshot()を使用して、特定のスナップショットを再びチェックアウトすることもできます。

たとえば、グラフの次の2つのスナップショットについて考えてみます。

==> 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]

グラフの特定のスナップショットをチェックアウトするには、ロードするスナップショットのcreationTimestampsetSnapshot()に渡す必要があります。

たとえば、G5個の頂点と5個のエッジのある最新のグラフを指しているときに、より古いグラフを分析する場合は、スナップショットを1453315122685に設定する必要があります。

JShellを使用した特定のスナップショットの取得
opg4j> G.getNumVertices()
==> 5
opg4j> G.getNumEdges()
==> 5
opg4j> session.setSnapshot( G, 1453315122685 )
==> null
opg4j> G.getNumVertices()
==> 4
opg4j> G.getNumEdges()
==> 4
Javaを使用した特定のスナップショットの取得
session.setSnapshot(G,1453315122685);
Pythonを使用した特定のスナップショットの取得
session.set_snapshot(G,1453315122685)

スナップショットを設定すると、頂点およびエッジの数が5から4に変わることに注意してください。

また、GraphMetaData.getCreationTimestamp()メソッドを介して、関連するGraphMetaDataオブジェクトから各スナップショットの作成タイムスタンプを取得することもできます。すべてのスナップショットのGraphMetaData情報を取得する最も簡単な方法は、PgxSession.getAvailableSnapshots()メソッドを使用することです。これは、作成タイムスタンプが直近から最も古いものの順に並べられた各スナップショットのGraphMetaData情報のコレクションを返します。