计算介数返回负值

问题描述 投票:0回答:1

在计算图表的介数中心性时,当使用“无向”作为关系方向时,某些节点会收到负值。发生在 Neo4j 4.0.6 和 gds 1.2.2 中。但也适用于旧版本。图本身应该没问题,将其导出到 Gephi,然后计算介数因子返回所有正值。

这是查询:

CALL gds.alpha.betweenness.stream({
    nodeProjection: 'poi',
    relationshipProjection: {
        similar: {
            type: 'similar',
            orientation: 'UNDIRECTED'
        }
    }
}) 
YIELD nodeId, centrality
RETURN gds.util.asNode(nodeId).OsmID AS id, centrality
ORDER BY centrality ASC

介数计算后结果为负值:

使用的图表:graphml 文件(4MB)

neo4j graph-theory
1个回答
2
投票

Betweenness 中心性最近刚刚在图数据科学 1.3 版本中从 alpha 层提升到生产质量。目前只有1.3的预览版本。 GDS 可在 GitHub 上获取。我已经测试了您的数据集,看来在新版本中该问题不再存在。因此,目前您可以使用 GDS 1.3 版本的预览版,也可以等待几天直到 GA 版本推出。唯一改变的是输出语法,其中中心性已重命名为分数。

CALL gds.betweenness.stream({
    nodeProjection: '*',
    relationshipProjection: {
        similar: {
            type: 'similar',
            orientation: 'UNDIRECTED'
        }
    }
}) 
YIELD nodeId, score
RETURN gds.util.asNode(nodeId).OsmID AS id, score
ORDER BY score ASC
© www.soinside.com 2019 - 2024. All rights reserved.