【发布时间】:2021-12-05 15:20:51
【问题描述】:
我必须进行一个 Cypher 查询,该查询应该返回一个人的表亲(兄弟、姐妹、兄弟/姐妹的孩子)。它几乎可以正常工作,但问题是当我想过滤掉这个人的孩子 (27003) (precious) 写作 WHERE p2.personId<>27003 它也会删除这个人的母亲 (missing)。
我在这里做错了什么?
我的密码查询:
MATCH (p: Person_kol)<-[]-(parent: Person_kol) WHERE p.idPerson=27003
WITH p,parent
MATCH (p3: Person_kol)<-[]-(p2: Person_kol)<-[]-(parent: Person_kol)
WHERE p2.idPerson<>27003
RETURN p,parent,p3,p2
我的第一场比赛只是返回给定 id 的人及其父母。
第二场比赛只搜索兄弟姐妹和他/她的孩子(我知道 p2 还包括 id=27003 的人和他/她的孩子,这就是为什么我想过滤掉他们,但我的“WHERE”也删除人的母亲(第二张图片)
图片:
- (无 WHERE 子句)
- (带 WHERE)
【问题讨论】: