我有以下图表作为 Neo4j 图形数据库:
activates
(80 °F)
(A)------------------------------------->(D)
| \__ _/->^
| \__ activates __/ |
| \__(50 °F) __/ |
| \__ __/ |
| \__ __/ |
activates | \__ __/ |
(50 °F) | \/ | activates
| __/\__ | (50 °F)
| activates __/ \__ |
| (60 °F)__/ \__ |
| __/ \__ |
| __/ \__ |
| __/ \_ |
v / \->|
(B)------------------------------------->(C)
activates
(50 °F)
每个关系都有一个属性,表示“激活”操作所需的温度。
我需要检索(A) 和 (D) 之间的所有可用路径,其中沿路径的温度为 50°F 。
输出应包括:
A -[:activates{temperature:'50'}]-> B -[:activates{temperature:'50'}]-> C -[:activates{temperature:'50'}]-> D
A -[:activates{temperature:'50'}]-> C -[:activates{temperature:'50'}]-> D
但不是
A -[:activates{temperature:'80'}]-> D
A -[:activates{temperature:'50'}]-> B -[:activates{temperature:'60'}]-> D
如何编写所需的 Cypher 查询?
提前致谢。
编辑 1:为了更清楚,我添加了另一个对角关系 (B -[:activates{temperature:'80'}]-> D)。
编辑2:我需要检索(A)和(D)之间的所有可用路径,其中温度沿路径相同,即:A -> B -> C -> D,A -> C -> D, A -> D。