neo4j - Neo4j,图形数据科学库:计算介数返回负值
问题描述
在计算我的图的中介中心性时,某些节点在使用“无向”作为关系方向时会收到负值。在带有 gds 1.2.2 的 Neo4j 4.0.6 中发生。但也在旧版本中。图形本身应该没问题,将其导出到 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)
在这一点上我几乎没有想法,查询应该没问题,图表也应该没问题。任何帮助将不胜感激。
解决方案
在 Graph Data Science 版本 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
希望这可以帮助。
推荐阅读
- flutter - 输入'() => 地图
?不是“地图”类型的子类型 ' 在类型转换中 - javascript - 如何在不离开 Angular 的当前页面的情况下路由到错误页面
- r - R Studio - 无法在 R Markdown 中使用 BASH
- javascript - 允许摄像头时,Webview 中的 MediaDevices.getUserMedia() 权限被拒绝
- rabbitmq - RabbitMQ 滚动升级后保留太多队列镜像
- r - 如何在 R 中绘制河岸而不是单线?
- java - Netty 使用来自池化直接 ByteBuf 的 ByteBuffer
- amazon-web-services - API Gateway 将请求转发到正确的端点
- amazon-web-services - Terraform 为创建的每个 aws_instance 创建 Route53 记录
- python - 如何在 Sphinx 中仅继承 1 个类?