Я использую библиотеку python-igraph с Python 3. Я пытаюсь написать алгоритм обнаружения сообщества, который включает преобразование графа в его линейный граф с использованием функции linegraph ().
Есть атрибуты, связанные с каждым ребром в исходном графе, и я бы хотел, чтобы они копировались как атрибуты вершин в линейном графе, однако в данный момент это не так.
Кто-нибудь знает, как я могу это сделать?
Что я пробовал:
# Setting attributes
for edge in originalGraph.es:
edge['name'] = "".join(str(edge.tuple))
linegraph = originalGraph.linegraph()
# Testing
print(orginalGraph.es[0].attributes())
print(linegraph.vs[0].attributes())
Распечатывает:
{'name': '(1, 7)'}
{}
Как видите, атрибут 'name' правильно связан с ребром исходного графа, но не с вершиной линейного графа.
Возможно, мне придется написать свою собственную функцию для преобразования в линейный граф, но я бы предпочел не делать этого.