26.5.4 グラフの無向化
次のメソッドでは、グラフ・インスタンスの無向バージョンが作成されます。
PgxGraph undirect()
PgxGraph undirect(String newGraphName)
PgxGraph undirect(MultiEdges multiEdges, SelfEdges selfEdges, TrivialVertices trivialVertices, Mode mode, String newGraphName)
PgxGraph undirect(Collection<VertexProperty<?, ?>> vertexProps, Collection<EdgeProperty<?>> edgeProps, MultiEdges multiEdges, SelfEdges selfEdges, Mode mode, String newGraphName)
undirect(self, vertex_properties=True, edge_properties=True, keep_multi_edges=True, keep_self_edges=True,
keep_trivial_vertices=True, in_place=False, name=None)
最初の2つのメソッドは、頂点プロパティをすべてコピーしながら、グラフの無向バージョンを作成します。newGraphName
は、新しく作成されるグラフ・インスタンスの名前を指定するオプションの引数です。
一方、3番目と4番目のメソッドは、グラフの無向化と簡略化を同時に実行します。それぞれのパラメータの意味は、グラフの簡略化およびコピーを参照してください。
すべてのメソッドが、無向化されたPgxGraph
タイプのオブジェクトを返します。
無向グラフにはいくつかの制限があります。アルゴリズムの中には、有向グラフでのみサポートされているものや、無向グラフについてはまだサポートされていないものがあります。さらに、PGXでは、無向グラフの格納も無向形式からの読取りもサポートされていません。エッジは方向を持たなくなるため、pgxEdge.getSource()
またはpgxEdge.getDestination()
の動作があいまいになる可能性があります。確定的な結果を提供するために、PGXは、常に、内部IDが小さい方の頂点を出力、他方を入力頂点として返します。
親トピック: グラフ変更とサブグラフ