【发布时间】:2016-01-13 16:17:58
【问题描述】:
我有一张PERSON 的图表,PERSON 可以是FRIENDs 和PERSON,也可以是OWN OBJECT 例如:
a-FRIEND-b
a-FRIEND-c
b-FRIEND-c
c-OWN-"car"
我想让需要某物的人找到拥有该东西的朋友或朋友的朋友,所以我使用:
MATCH (me:PERSON)-[:FRIEND*1..2]-(p:PERSON)-[o:OWN]->(obj:OBJECT)
WHERE me.id = {userId}
RETURN p
但是如果“a”想要“car”,我会得到“c”两次,因为我可以通过两种方式到达那里:
a-FRIEND-c-OWN-"car"
a-FRIEND-b-FRIEND-c-OWN-"car"
如何确保我只得到“c”一次?
【问题讨论】: