Networkx: wyodrębnij podłączony komponent zawierający dany węzeł (ukierunkowany wykres)

Próbuję wyodrębnić z dużego wykresu subgraf wszystkich połączonych węzłów zawierających konkretny węzeł.

Czy istnieje rozwiązanie w bibliotece Networkx?

[EDYTOWAĆ]
Mój wykres to DiGraph

[EDYTOWAĆ]
Poprawione po prostu:
Chcę, aby część mojego wykresu, która zawiera mój specyficzny węzeł N_i i wszystkie węzły, które są połączone bezpośrednio lub pośrednio (przechodząc przez inne węzły), przy użyciu wszelkich przychodzących lub wychodzących krawędzi.
Przykład:

>>> 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')]

Moim pożądanym rezultatem będzie:

>>> g2 = getSubGraph(g, 'B')
>>> g2.nodes()
['A', 'B', 'C']
>>> g2.edges()
[('A', 'B'), ('B', 'C')]

questionAnswers(4)

yourAnswerToTheQuestion