Realizar a união de gráficos com base em nomes de vértices

Este problema foi arquivado emgithub algo como 6 meses atrás, mas como ainda não foi corrigido, estou me perguntando se há uma solução rápida que estou faltando.

Quero mesclar dois gráficos com base em seus nomes:

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

No entanto, quando eu realizo a união, o igraph usa os IDs dos vértices em vez dos nomes, então acabo com três vértices em vez de quatro (se for baseado em nomes). Eu acho que porqueB tem índice0 nog2, é mesclado comA dog1. E de maneira semelhante,C dog2 é mesclado comB dog1.

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

Alguma idéia de como contornar esse problema? Isso é possível, pois foi feito na implementação R do igraph.

questionAnswers(1)

yourAnswerToTheQuestion