Networkx: Extrahiert die verbundene Komponente, die einen bestimmten Knoten enthält (gerichteter Graph)
Ich versuche, aus einem großen Graphen den Untergraphen aller verbundenen Knoten zu extrahieren, die einen bestimmten Knoten enthalten.
Gibt es eine Lösung in der Networkx-Bibliothek?
[BEARBEITEN]
Mein Graph ist ein DiGraph
[BEARBEITEN]
Einfach umformuliert:
Ich möchte den Teil meines Graphen, der meinen spezifischen Knoten N_i enthält, und alle Knoten, die direkt oder indirekt verbunden sind (an anderen Knoten vorbei), wobei eingehende oder ausgehende Kanten verwendet werden.
Beispiel:
>>> 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')]
Mein gewünschtes Ergebnis wäre:
>>> g2 = getSubGraph(g, 'B')
>>> g2.nodes()
['A', 'B', 'C']
>>> g2.edges()
[('A', 'B'), ('B', 'C')]