Networkx: extrai o componente conectado contendo um determinado nó (gráfico direcionado)

Eu estou tentando extrair de um gráfico grande o subgráfico de todos os nós conectados contendo um nó específico.

Existe uma solução na biblioteca Networkx?

[EDITAR]
Meu gráfico é um DiGraph

[EDITAR]
Reformulado simplesmente:
Eu quero a parte do meu gráfico que contém meu nó específico N_i ee todos os nós que estão conectados direta ou indiretamente (passando por outros nós) usando qualquer borda de entrada ou saída.
Exemplo:

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

Meu resultado desejado seria:

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

questionAnswers(4)

yourAnswerToTheQuestion