- nebula 版本:v2.0 alaph
- 部署方式:单机
- 问题的具体描述
请问,在官方给的关系的例子里,明显是一个单向方向的关系follow和serve,但是现实中会存在一个
双向的关系,例如A和B是同学,A和B是同事这种。
请问如果要保存这样的双向关系,是需要保存A-》B, 再存一份B-》A吗? 如果这么存,查2跳,3跳的时候,会有很多我们不想要的数据。请问这方面有没有什么最佳实践?
目前 A B双向关系的话,在一些场景如:go会查询出 循环 情况
但是你可以使用match 在一些条件上添加设置 避免出现循环的情况
如
MATCH (n)-[]-(m:player{name:“Kyle Anderson”})-[]-(l)
MATCH (n)-[]-(m:player)-[]-(l)
WHERE m.name==“Kyle Anderson”
RETURN n,m,l
MATCH p = ()-[e1]-(m:player{name:“Kyle Anderson”})-[e2]-()-[e3]-(k)
WHERE k.name == “Marc Gasol”
RETURN e1, e2, e3