提问者:小点点

Neo4J如何可视化使用Cypher查询获得的集群


我还在用Neo4J训练,现在我正在学习聚类算法。我正在使用Neo4J和python驱动程序连接到我的数据库。现在我能够启动Cypher查询,我使用Graphistry将查询的图形结果可视化到浏览器中。它工作得很好,但现在还不够。我正在学习聚类算法,我已经尝试了其中的一些,如Louvan,SCC,PageRank和其他,但我只是在我的控制台中可视化它们,因为Neo4J从这个查询返回一个列表。这还不够,因为我正在使用一个非常大的图(~2300万条边)和一个列表不适合聚类,我需要一些图形结构。

示例:这是我启动的鲁汶算法查询

call gds.louvain.stream('graph-name') yield nodeId, communityId return gds.util.asNode(nodeId).name as name, communityId order by name asc limit 20

我只需要一些东西来绘制这些集群。我不能在Graphistry中这样做,因为它需要一个子图来绘制它,但是Neo4J返回一个json数据列表,我不能绘制它们。有什么解决方案吗?


共1个答案

匿名用户

要通过社区颜色来可视化节点,您需要在write模式下执行老妈算法。

call gds.louvain.write('graph-name', {writeProperty:'louvain'}) 

然后,您可以使用Bloom中基于规则的节点颜色来可视化您的集群:

这里有一个视频剪辑,向您展示了如何在Neo4j Bloom中实现这一点:

https://youtu.be/16uTHwznnJk?t=3218