Python 图工具上两个顶点的公共邻域

Python 图工具上两个顶点的公共邻域,python,graph-tool,Python,Graph Tool,我想在图形工具上得到两个顶点的公共邻域 根据这些相似性度量,它们都使用公共邻域的数目。所以,我想应该很容易找到共同的邻居。但是,我找不到方法。从瑟伦森-骰子的相似性可以很容易地得到: >>> g = collection.data["karate"] >>> u, v = g.vertex(0), g.vertex(1) >>> n = vertex_similarity(g, "dice", [(u, v)], self_loops=Fal

我想在图形工具上得到两个顶点的公共邻域


根据这些相似性度量,它们都使用公共邻域的数目。所以,我想应该很容易找到共同的邻居。但是,我找不到方法。

从瑟伦森-骰子的相似性可以很容易地得到:

>>> g = collection.data["karate"]
>>> u, v = g.vertex(0), g.vertex(1)
>>> n = vertex_similarity(g, "dice", [(u, v)], self_loops=False) * (u.out_degree() + v.out_degree()) / 2
>>> print(n)
7

如果有人想找出真正的共同邻居,以下方法也可以:

In [2]: g = gt.collection.data["karate"]

In [11]: u, v = g.vertex(32), g.vertex(33)

In [16]: set(u.out_neighbours()) & set(v.out_neighbours())
Out[16]: 
{<Vertex object with index '8' at 0x7f2b62ae82a0>,
 <Vertex object with index '14' at 0x7f2b62ae8318>,
 <Vertex object with index '15' at 0x7f2b62ae8390>,
 <Vertex object with index '18' at 0x7f2b62ae8408>,
 <Vertex object with index '20' at 0x7f2b62ae8480>,
 <Vertex object with index '22' at 0x7f2b62ae84f8>,
 <Vertex object with index '23' at 0x7f2b62ae8570>,
 <Vertex object with index '29' at 0x7f2b62ae85e8>,
 <Vertex object with index '30' at 0x7f2b62ae8660>,
 <Vertex object with index '31' at 0x7f2b62ae86d8>}
[2]中的
:g=gt.collection.data[“空手道”]
[11]中:u,v=g.顶点(32),g.顶点(33)
In[16]:set(u.out\u neights())和set(v.out\u neights())
出[16]:
{,
,
,
,
,
,
,
,
,
}
此集合的长度为您提供公共邻居的总数