具有各种关系意义的Neo4j递归查询

时间:2018-11-27 10:36:24

标签: neo4j cypher

考虑此图结构:

enter image description here

我想运行一个递归密码查询来获取所有从黄色节点开始的节点。

如您所见,关系具有不同的含义,但是定义了属性。假设对于下降的关系,属性为impact = dtos(到源的目标),对于其他关系,属性= stod

我想独立地进行各种关系,但要检查影响属性。像

()-[r *1..]->() where r.impact=dtos OR ()<-[r *1..]-() where r.impact=stod

是否可以做这样的事情,还是应该建立相反的关系?

我希望我足够清楚

谢谢

1 个答案:

答案 0 :(得分:0)

您可以执行以下操作:

MATCH p=(a:Yellow)-[r*]-(end)
WHERE   all(rel IN RELS(p) WHERE rel.impact="dtos" or rel.impact="stod")
RETURN p