找到两个节点之间的路径,即使中间节点缺少图形查询

时间:2016-12-26 07:19:05

标签: neo4j cypher

我想找到两个节点之间的路径,比如

[:relation]    [:relation]     [:relation]
A-------------B--------------C------------D 
(name=A)   (name=B)      (name=C)   (name=D)

所以,我只有A B D并希望找到A B C D

我试过

MATCH 
  (q1:check4 {name:'A'})-[r1:relation]->
  (q2:check4 {name:'B'})-[r2:relation]->(q3:check4 {name:'D'})
RETURN DISTINCT q3.name as name

但它没有用。

1 个答案:

答案 0 :(得分:2)

如果您要在nameB之间查找节点的D属性,则此查询应执行此操作:

MATCH 
  (:check4 {name:'A'})-[:relation]->
  (:check4 {name:'B'})-[:relation]->
  (q3:check4)-[:relation]->
  (:check4 {name:'D'})
RETURN DISTINCT q3.name as name

提示:您不必命名每个节点和关系,例如: q1r1可以省略。