1
举例来说,我使用的是this site。假设我们想知道Morpheus知道谁,但我们想保留关系的方向。我想a
是“从”和b
是“到”获取节点的邻居但尊重关系的方向
这将返回所有这三个关系,但方向已丢失:
MATCH (a { name:"Morpheus" })-[]-(b:Crew) RETURN a, b
此外,睡眠总是a
... DOH 。
取2是让睡眠是a
或b
:
MATCH (a:Crew)-[]-(b:Crew) WHERE a.name="Morpheus" OR b.name="Morpheus"
RETURN a, b
这将返回我想象的两倍多行。显然[]
关系非常随意。
一些洞穴探险之后,我意识到我是专注于错误的东西:
MATCH ({ name:"Morpheus" })-[r:KNOWS]-()
RETURN startnode(r) AS a, endnode(r) AS b
该做的伎俩。 3行与尊重方向的关系。
对于在该查询中根本不命名节点,我感到有点不可思议。这感觉就像我是黑客。但是,再次,将节点绑在一起是什么关系。有什么其他方法可以做同样的事情?
啊,我明白了。由于不包括查询中的方向,我使它变得更加困难。 –
我想我的脑子里已经有了Morpheus必须在左边,就像听起来那样疯狂。我想我即将升上一个关卡,这就是我遇到问题的原因。 –
确实;)它确实需要一些头部包装来看看Neo4j将如何匹配比赛的所有潜在排列。 –