【发布时间】:2017-12-17 09:34:31
【问题描述】:
我正在使用 neo4j 3.2.x。我要做的是编写一个查询,该查询将更新两个节点(用户和性别)之间的关系,并返回具有从关系中提取的 InterestedInGender 属性作为数组的单个用户节点。下面的查询存在问题,因为它现在返回多个记录,其中为interestingInGender 提供了单个值。关系已正确创建,但在返回数据时会返回多条记录。我只想返回用户节点。有什么方法可以修复此查询以仅返回单个用户节点。
MATCH (u:User {_id:"1234"})
MATCH (ig:Gender) WHERE ig.value IN ["male", "female"]
WITH u, ig
OPTIONAL MATCH (u)-[igr:INTERESTED_IN_GENDER]->()
DELETE igr
with u, ig
MERGE (u)-[:INTERESTED_IN_GENDER]->(ig)
RETURN u{
._id,
interestedInGender: [(u)-[:INTERESTED_IN_GENDER]->(ig:Gender) | ig.value]
}
【问题讨论】: