我一直很好奇的一个问题。
(假设你可以魔法般地翻转neo4j中关系的方向)
哪个更快?
START a=node(345)
MATCH (a)<-[:foo]-(b)<-[:bar]-(c)
RETURN c
或者
START a=node(345)
MATCH (a)-[:foo]->(b)-[:bar]->(c)
RETURN c
或者说这并不重要,因为在底层实现中,你可以以任意方向遍历。
我在 javadocs(http://api.neo4j.org/current/org/neo4j/graphdb/Relationship.html)中找到了答案。
虽然所有的关系都有一个方向,但它们在两个方向上遍历同样好,因此没有必要在相反方向上创建重复关系(考虑遍历或性能)。
问题得到解答。