具有两种关系的Neo4j ShortestPath

时间:2017-02-17 00:19:06

标签: neo4j

我有双重关系(顶点D) - [rel1] - >(顶点DB) - [rel2](顶点D)

我使用这种关系需要D之间的两个元素之间的最短路径

尝试

MATCH (d:D{d_pk:1})-[r1:DgoDB*]->()
MATCH p = allShortestPaths( (ALL (RELATIONSHIP IN r1)->()) - [r2:DBgoD*] -> (to:D) )
WHERE (to.d_pk = 70258)
RETURN d, r1, p

但是它不起作用。

有没有人有任何想法?

1 个答案:

答案 0 :(得分:0)

如果我正确理解您的模型(并且非常欢迎任何其他说明),那么您正在寻找路径:DgoDB和:DBgoD关系以到达另一个节点。

只提供:DgoDB关系连接:D到:DB节点,并且只有:DBgoD关系连接:DB到:D节点,那么它应该足以指定您正在寻找的可变长度模式包括两组关系。

这样的事,也许?

MATCH (d:D{d_pk:1}), (to:D{d_pk:70258})
MATCH p = allShortestPaths( (d)-[r1:DgoDB|:DBgoD*]->(to) )
RETURN d, r1, p