我尝试如下
Match(A)-[r1]->(B) where B.Code IN ['aaa', 'bbb'] and B.Code <> 'ccc'
return A, B
似乎不正确。这将返回带有“ aaa”和“ bbb”的B记录,而忽略“ ccc”。如果它有'ccc',我根本不想返回B。不只是忽略这种关系。
其他尝试:与上面相同的结果
Match(A)->[r1]->(B) where B.Code <> 'ccc'
With *
Match(A)->[r1]->(B) where B.Code IN ['aaa', 'bbb']
return A, B
它返回的结果是A带有aaa,A带有bbb,X带有aaa,X带有bbb。我只期望X。请您更正我做错的地方。
类似这样的方法应该起作用:
MATCH (A)-->(B)
WHERE B.Code IN ['aaa', 'bbb', 'ccc']
WITH A, COLLECT(B) AS bs, COLLECT(B.Code) AS codes
WHERE 'ccc' NOT IN codes
RETURN A, bs