我正在尝试通过 id 获取父节点及其相关节点。它工作正常,但是当我尝试按某些标准过滤相关节点时,当相关节点未通过给定的标准或过滤器时,不会返回父节点本身
MATCH (obj{CId:"AT11"})
OPTIONAL MATCH (obj)-[r]->(related)
WHERE related.Created >= "2024-03-03" AND related.Created <= "2024-03-06"
WITH obj,related
WHERE related.CId CONTAINS 'AT'
RETURN obj, related
即使相关为空,我也希望返回 obj。就我而言,即使 obj 存在,两者都返回 null
我尝试删除一些过滤器,我意识到仅使用一个 where 子句工作正常,但使用多个 where 子句似乎是问题所在。
所有
related
过滤都应该在WHERE
的OPTIONAL MATCH
子句中完成:
MATCH (obj {CId:"AT11"})
OPTIONAL MATCH (obj)-->(related)
WHERE "2024-03-03" <= related.Created <= "2024-03-06" AND related.CId CONTAINS 'AT'
RETURN obj, related
注意:此查询还使用链式比较来表示日期。