我是neo4j的新手,我在这个练习中陷入了困境。我必须找到在他们的城市只有朋友的学生的名字和城市。图表是这样的:
关系的名称是" FRIEND_OF",颜色代表城市。
非常感谢。
答案 0 :(得分:1)
由于city属性存储在节点上,您可以添加WHERE子句:
MATCH (user:User)
MATCH (user)-[:FRIEND_OF]-(friend)
WHERE user.city = friend.city
RETURN user.name, collect(distinct(friend)) as friends
修改强> 如果你想回到所有朋友住在同一个城市的用户,试试这个:
MATCH (user:User)-[:FRIEND_OF]->(friend)
WITH user, collect(friend) AS friends
WHERE ALL (x IN friends
WHERE x.city = user.city)
RETURN user