在igraph-python中按指示处理的无向图

在igraph-python中按指示处理的无向图,python,igraph,Python,Igraph,我有一个通过读取GML文件创建的图形。我正在尝试查找与节点N接触的所有边。我的代码如下: self.simGraph = Graph.Read_GML(file_name) node = self.simGraph.vs.find(title=title) edge_set = self.simGraph.es.select(_source=node.index) 我注意到,在调试时,edge\u集通常只包含一个edge,但是当我将\u source更改为\u target时,我会得到一组不同

我有一个通过读取GML文件创建的图形。我正在尝试查找与节点N接触的所有边。我的代码如下:

self.simGraph = Graph.Read_GML(file_name)
node = self.simGraph.vs.find(title=title)
edge_set = self.simGraph.es.select(_source=node.index)
我注意到,在调试时,edge\u集通常只包含一个edge,但是当我将
\u source
更改为
\u target
时,我会得到一组不同的edge。我试着加上

self.simGraph = self.simGraph.as_undirected() 
但是得到了同样的结果


我错过什么了吗

将当前顶点用作“源”或“目标”时,可能会得到不同的边集。igraph似乎在为无向网络的顶点随机分配“源”和“目标”角色,但它知道网络是无向的。即使从头开始生成无向网络,当将某个顶点设置为源或目标时,连接到该顶点的边集也会不同。如果要获取o顶点i上的边(id)关联列表,请使用以下命令

g.incident(i)

source
target
在图形无向时没有意义(至少对于igraph没有意义),因为每条边的每个端点同时是源和目标。这最终会得到解决;请随意在Github上查看相应的结果。是的,源代码和目标代码应该没有意义,这就是为什么我对得到不同结果感到困惑的原因。感谢您提供错误报告的指针。