如何从 Neo4j Graph 中获取每个节点的不同中心性索引?

Posted

技术标签:

【中文标题】如何从 Neo4j Graph 中获取每个节点的不同中心性索引?【英文标题】:How to get different Centrality indexes of each node from a Neo4j Graph? 【发布时间】:2012-07-18 09:49:51 【问题描述】:

我正在从事一个关于社交网络分析的伟大项目。我的目标是为图中的每个节点获取不同的中心性索引。我需要分析图表并从中得出一些有意义的完整信息。我正在为这个项目使用 Neo4J 图形数据库(社区版 1.8.M06)。而且我是 Neo4J 的新手,只有两周的经验。

现在我的图表是一个友谊图表,所以我在图表中唯一的关系是友谊,这是相互的。该图是无向的、未加权的和单纯形的。很快我会在图中添加其他关系和对象,这会使它变得复杂。

我了解 Neo4J 实现了范围图算法来测量中心性,我从 link 获得了这些信息。但是我找不到任何关于如何使用它们来获得中心性度量的信息或示例。我也明白这些算法是not production ready。

有没有人尝试过类似 Neo4J 的东西?是否可以仅使用 Neo4J 来做到这一点?如果不能,我可以使用 R 编程语言从 Neo4J 获取 Centrality 索引吗?

我尝试将 R 与 igraph 包一起使用以从边缘列表中获取中心性。我想我可以使用 R 通过 REST API 访问 Neo4J。

我还找到了一些关于使用shortest path problems 的常见图形算法的示例。但是没有获取中心性索引的直接示例。从示例中学习似乎是一个完美的主意。

谢谢,迪普

【问题讨论】:

【参考方案1】:

中心性算法的使用不如最短路径算法多,但您应该能够对其进行测试。它们的主要特点是随着图形的增长它们可能会变慢,因为它们需要详尽的遍历。你的图表有多大?

【讨论】:

我的图很小,只有近 2900 个节点和 4000 条边。我只想测试内置的中心性算法。我该如何测试它们?或者我们可以使用 R 来分析 Neo4J 图吗? 您可以使用 R,或者只是将您的图形导入为节点/边列表并执行一个小型 Java 程序? github.com/jexp/batch-import

以上是关于如何从 Neo4j Graph 中获取每个节点的不同中心性索引?的主要内容,如果未能解决你的问题,请参考以下文章

如何在neo4j中获取所有连接的节点

Neo4j Cypher:查找/合并具有至少 2 个公共节点的节点

使用 Cypher 从 Neo4j 图中提取子图

Neo4J Graph Algorithms Cypher Projection 应该只返回数字吗?

如何使用py2neo v4和Neo4j合并节点和关系

如何优化Neo4J Cypher查询?