加权图的Neo4j介数中心性

加权图的Neo4j介数中心性,neo4j,cypher,Neo4j,Cypher,假设我有一个图,图中有一个节点类型和一个边类型。我需要所有节点的介数中心。我可以使用: 但它假设每条边的成本为1。我需要一个在计算介数时使用边缘成本的查询。我看不见 有没有一种方法可以使用Neo4j计算加权图中的介数中心性 编辑: 下面是一个示例图像 您可以使用此查询创建此图形: MERGE (a0:A{name:"A0"}) MERGE (a1:A{name:"A1"}) MERGE (a2:A{name:"A2"}) MERGE (a3:A{name:"A3"}) MERGE (a4:A{

假设我有一个图,图中有一个节点类型和一个边类型。我需要所有节点的介数中心。我可以使用:

但它假设每条边的成本为1。我需要一个在计算介数时使用边缘成本的查询。我看不见

有没有一种方法可以使用Neo4j计算加权图中的介数中心性

编辑:

下面是一个示例图像

您可以使用此查询创建此图形:

MERGE (a0:A{name:"A0"}) MERGE (a1:A{name:"A1"}) MERGE (a2:A{name:"A2"}) MERGE (a3:A{name:"A3"}) MERGE (a4:A{name:"A4"}) MERGE (a0)-[:r{cost:2}]-(a1) MERGE (a2)-[:r{cost:1}]-(a1) MERGE (a1)-[:r{cost:3}]-(a3) MERGE (a3)-[:r{cost:1}]-(a4) MERGE (a0)-[:r{cost:6}]-(a4)
如果我使用上面给出的介数查询,结果如下:

**nodeId    centrality**
0           1.0
1           3.5
2           0.0
3           1.0
4           0.5
但如果我们使用图中给出的成本,中间性中心度应该如下所示:

**nodeId    centrality**
0           0.0
1           5.0
2           0.0
3           3.0
4           0.0

我手工计算。它们可能是错误的,但它给出了一个想法。

我认为如果只有一种节点类型,它将始终显示每个边的成本,除非指定节点的其他属性。您可以获得每个节点可以找到的关系的所有权重的总和,然后可以按总权重降序排序。请给我们一个示例图,以便我们可以为您制定密码查询。@krishnareddy是的,每条边都有一个带有浮点值的cost属性。例如,
r{cost:0.76}
我添加了一个示例图,在Neo4j中找不到方法。我现在正在使用
networkx
。我认为,如果只有一种节点类型,它将始终显示每条边的成本,除非您指定节点的其他属性。您可以获得每个节点可以找到的关系的所有权重的总和,然后可以按总权重降序排序。请给我们一个示例图,以便我们可以为您制定密码查询。@krishnareddy是的,每条边都有一个带有浮点值的cost属性。例如,
r{cost:0.76}
我添加了一个示例图,在Neo4j中找不到方法。我现在正在使用
networkx
。这是你的链接
**nodeId    centrality**
0           0.0
1           5.0
2           0.0
3           3.0
4           0.0