将neo4j查询结果加载到python的`igraph`图中

将neo4j查询结果加载到python的`igraph`图中,第1张

将neo4j查询结果加载到python的`igraph`图中

使用py2neo和igraph的

Graph.TupleList
方法很容易。

您需要同时安装py2neo和igraph。

pip install py2neopip install python-igraph

这两个软件包都依赖于一个

Graph
类,因此在导入时我们应该将它们作为其他别名。

from py2neo import Graph as pGraphfrom igraph import Graph as iGraph

首先,使用py2neo的

Graph
对象连接到Neo4j 。

neo4j = pGraph()

然后编写一个Cypher查询以返回边缘列表。假设我们已经将示例电影数据集加载到Neo4j中,并且我们想要一起表演的演员的边缘列表。

query = """MATCH (p1:Person)-[:ACTED_IN]->(:Movie)<-[:ACTED_IN]-(p2:Person)RETURN p1.name, p2.name"""data = neo4j.cypher.execute(query)print data[0]

这给了我们一起行动的演员的边缘清单。

p1.name      | p2.name    --------------+-------------Hugo Weaving | Emil Eifrem

方便地,py2neo

Graph.cypher.execute
返回类似命名元组列表的内容,因此我们可以将其直接传递给igraph的
Graph.TupleList
方法来创建igraph对象。

ig = iGraph.TupleList(data)print ig

现在我们有了一个igraph对象。

<igraph.Graph at 0x1083a2908>

谁拥有最高学位?

best = ig.vs.select(_degree = ig.maxdegree())["name"]print best

当然是汤姆·汉克斯。

[u'Tom Hanks']


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5663339.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存