特定のノードを含むすべての接続されたノードのサブグラフを大きなグラフから抽出しようとしています。
Networkx ライブラリに解決策はありますか?
[編集]
私のグラフは DiGraph です
[編集]
簡単
に言い換えると、特定のノード N_i を含むグラフの一部と、入力エッジまたは出力エッジを使用して直接または間接的に (他のノードを通過して) 接続されているすべてのノードが必要です。
例:
>>> g = nx.DiGraph()
>>> g.add_path(['A','B','C',])
>>> g.add_path(['X','Y','Z',])
>>> g.edges()
[('A', 'B'), ('B', 'C'), ('Y', 'Z'), ('X', 'Y')]
私の望ましい結果は次のようになります。
>>> g2 = getSubGraph(g, 'B')
>>> g2.nodes()
['A', 'B', 'C']
>>> g2.edges()
[('A', 'B'), ('B', 'C')]