7

在 iGraph 0.6 for python 2.7 中是否有一个非常短的表达式来查看索引指定的两个顶点是否通过边连接?

我在某处发现:

are_connected(v1, v2)  

但在python中我会收到一条错误消息:“NameError:未定义全局名称'are_connected'”

上面的表达式可能是 R 或完全错误的。我不知道。R 不足以满足我对我的项目的尝试。

我的图是无向的,并且有许多本教程中描述的顶点和边序列(vs 和 es):http: //hal.elte.hu/~nepusz/development/igraph/tutorial/tutorial.html

更新:我发现http://packages.python.org/python-igraph/igraph.GraphBase-class.html#is_multiple is_multiple 和 is_mutual 我认为他们每个人都可以做到这一点,但我仍然得到错误: “NameError:未定义全局名称‘are_mutual’”。

在互联网上,我找不到如何正确实现它的示例。我还在找。

4

3 回答 3

14

作为记录:(are_connected以及张贴is_mutualis_multiple提到的)是图形本身的方法,而不是单独的函数,因此使用它们的正确方法如下:

>>> g = Graph.GRG(100, 0.2)
>>> g.are_connected(0, 2)
False
于 2012-12-13T10:17:58.463 回答
12

GraphBase类具有get_eid(v1, v2, directed=True, error=True)返回由其索引指定的顶点之间的任意边的函数。在你这样称呼它:

g.get_eid(v1, v2, directed=False, error=False)

如果顶点断开连接,它将返回-1,否则返回一些边缘。

于 2012-12-13T08:41:08.750 回答
0

我从未听说过该模块,但无论如何,这似乎是一个导入问题,尝试从模块中导入该函数,即:

from igraph import are_connected

否则,python 将无法识别它。另一种可能性是该函数必须从您首先声明的图形对象中调用:

from module import MyGraphObject
...
MyGraphObject.are_connected(...)
于 2012-12-13T08:52:02.097 回答