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]
グラフの特定のスナップショットをチェックアウトするには、ロードするスナップショットのcreationTimestamp
をsetSnapshot()
に渡す必要があります。
たとえば、G
が5
個の頂点と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
情報のコレクションを返します。
親トピック: グラフのバージョニング