Networkx: извлечь связанный компонент, содержащий данный узел (ориентированный граф)

Я пытаюсь извлечь из большого графа подграф всех связанных узлов, содержащих определенный узел.

Есть ли решение в библиотеке 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')]

Ответы на вопрос(4)

Ваш ответ на вопрос