Realizar la unión de gráficos basados en nombres de vértices Python igraph

Este problema se ha presentado elgithub hace 6 meses, pero como aún no se ha solucionado, me pregunto si hay una solución rápida que me falta.

Quiero fusionar dos gráficos basados en sus nombres:

g1 = igraph.Graph()
g2 = igraph.Graph()

# add vertices
g1.add_vertices(["A","B"])
g2.add_vertices(["B","C","D"])

for vertex in g1.vs:
    print vertex.index
0
1

for vertex in g2.vs:
    print vertex.index
0
1
2

Sin embargo, cuando realizo la unión, igraph usa las ID de vértice en lugar de los nombres, por lo que termino con tres vértices en lugar de cuatro (si se basó en nombres). Supongo que porqueB tiene índice0 eng2, se fusiona conA deg1. Y de manera similar,C deg2 se fusiona conB deg1.

g_union = igraph.Graph.union(g1,g2)

g_union.vs['name'] # of course
KeyError: 'Attribute does not exist'

for vertex in g_union.vs:
    print vertex.index
0
1
2

¿Alguna idea sobre cómo evitar este problema? Esto es posible, ya que se realizó en la implementación R de igraph.

Respuestas a la pregunta(1)

Su respuesta a la pregunta