27.3.1 ディスクへのグラフのエクスポート

メモリーにロードされたグラフを様々な形式でディスクに保存できます。したがって、今後の使用のために、分析を介して実行時に計算されたサブグラフおよびグラフ・データを永続化できます。結果のファイルは、後でグラフ・サーバー(PGX)の入力として使用できます。

グラフをメモリーにロードして、グラフ上でPageRank分析を実行する、次の例について検討します。

var g = session.readGraphWithProperties("<path_to_json>")
var rank = analyst.pagerank(g, 0.001, 0.85, 100)
PgxGraph g = session.readGraphWithProperties("<path_to_json>");
Analyst analyst = session.createAnalyst();
VertexProperty<Integer, Double> rank = analyst.pagerank(g, 0.001, 0.85, 100);
g = session.read_graph_with_properties("<path_to_json>")
analyst = session.create_analyst()
rank = analyst.pagerank(g, 0.001, 0.85, 100)

これで、グラフ、PageRank分析の結果、元のエッジ・プロパティすべてをエッジリスト形式のファイルとしてディスクに格納できます。グラフを格納する際には、グラフ形式、ファイルを保存するパス、格納するプロパティ、および同じ名前のファイルがすでに存在する場合にファイルを上書きするかどうかを指定するフラグを指定する必要があります。

var config = g.store(Format.EDGE_LIST, "<file-path>", List.of(rank), EdgeProperty.ALL, false)
var config = g.store(Format.EDGE_LIST, "<file-path>", List.of(rank), EdgeProperty.ALL, false);
config = g.store('edge_list', "<file-path>", vertex_properties = [rank], overwrite= False)

グラフ・データがファイル・パスの下に表示されるようになります。storeメソッドによって返されたグラフ構成を使用して、新しいグラフをメモリーにロードできます。グラフ構成をディスクにも保持するには、構成のtoStringメソッドを使用して、JSON表現を取得できます。

var path = Paths.get("<file-path>")
Files.writeString(path, config.toString())
import apache.commons.io.*; // PGX contains a version of Apache Commons IO
...
FileUtils.write(new File("<file-path>"), config.toString());
with open("<file-path>","w"):
    f.write(str(config))