我有以下Cypher查询,符合我的预期。...
MATCH (n1 {id: "25fd62e4-9566-4cbd-a443-b2b8d739d6f4"})-[r]-(n2)
WHERE r.hierarchy IN ['Ge', 'H']
RETURN n1, r, n2
我想在此查询中添加分离度。
这有效
MATCH (n1 {id: "25fd62e4-9566-4cbd-a443-b2b8d739d6f4"})-[r*1..4]-(n2)
RETURN n1, r, n2
....但是添加WHERE子句不会:
MATCH (n1 {id: "25fd62e4-9566-4cbd-a443-b2b8d739d6f4"})-[r*1..4]-(n2)
WHERE r.hierarchy IN ['Ge', 'H']
RETURN n1, r, n2
感谢任何提示。
答案 0 :(得分:2)
对于可变长度路径模式(您的上一个查询),变量 r
是关系的集合,而不是单个关系。
您无法通过单个条件检查集合中所有关系的层次结构,您需要将hierarchy
和WHERE
结合起来检查每个ALL
。 / p>
MATCH (n1 {id: "25fd62e4-9566-4cbd-a443-b2b8d739d6f4"})-[rels*1..4]-(n2)
WHERE ALL(r in rels WHERE r.hierarchy IN ['Ge', 'H'])
RETURN n1, rels, n2