首页 > 解决方案 > 具有公共关系属性的neo4j最短路径

问题描述

如下图所示,我们有具有关系但具有不同属性的节点。如何在路径中的关系应该具有共同属性的条件下找到节点 A 和节点 E 之间的最短路径?例如在这里它应该只给出从节点 A 到节点 B 的属性“a”的路径,因为这里是常见的。

唯一标记路径

编辑 我想根据a和下一个节点之间的可用关系找到节点a和e之间的最短路径(这里的关系属性是a,b和c)我怎样才能找到a和e之间关系属性相同的最短路径(这里属性 a) 例如,它应该只返回具有属性 a 的路径(并且路径将是 a>b>d>e)

标签: neo4jpathcyphergraph-databasesshortest-path

解决方案


我找到了答案,答案是:

Match (a:node)-[r1]->()
with collect(r1.property) as m
MATCH p=shortestPath( (a:node)-[:r1*]->(e:node) ) 

AND ALL(x in relationships(p) WHERE x.propery in m)
RETURN p

推荐阅读