Выполнить объединение графов на основе имен вершин Python igraph

Эта проблема была подана наGitHub что-то вроде 6 месяцев назад, но так как это еще не исправлено, мне интересно, есть ли быстрое исправление, которое я пропускаю.

Я хочу объединить два графика на основе их имен:

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

Однако когда я выполняю объединение, igraph использует идентификаторы вершин, а не имена, поэтому я получаю три вершины вместо четырех (если это основано на именах). Я думаю, потому чтоB имеет индекс0 вg2, слит сA изg1, И аналогичным образом,C изg2 сливается сB изg1.

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

Есть идеи, как обойти эту проблему? Это возможно, так как это было сделано в R-реализации igraph.

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

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