如何获取 Neo4J 中关系的方向?
How to get the direction of relationship in Neo4J?
我需要找出给定节点的所有相关节点。我还需要识别方向,是传入还是传出,加上每个相关节点上的ID、标签。以下是我正在尝试的查询。它会是有效的查询吗?还有其他更简单的方法吗?
MATCH (o)<-[or]-(e)<-[ir]-(i)
WHERE e.firstName='Sid'
RETURN o,ID(o),TYPE(or),or,e,ID(e),TYPE(ir),ir,i,ID(i)
通过上述查询,我能够将 o
识别为传出节点,将 i
识别为传入节点。
- 使用标签 + 索引找到您的节点
- 您已经在模式中指定了方向,因此您知道节点之间的方向
- 如果你不这样做,你可以通过以下方式获得关于节点的方向:
这条语句:
MATCH (n:Foo)-[r]-(m) WHERE n.id = "bar"
RETURN n,m,type(r), (startNode(r) = n) as out_n
我需要找出给定节点的所有相关节点。我还需要识别方向,是传入还是传出,加上每个相关节点上的ID、标签。以下是我正在尝试的查询。它会是有效的查询吗?还有其他更简单的方法吗?
MATCH (o)<-[or]-(e)<-[ir]-(i)
WHERE e.firstName='Sid'
RETURN o,ID(o),TYPE(or),or,e,ID(e),TYPE(ir),ir,i,ID(i)
通过上述查询,我能够将 o
识别为传出节点,将 i
识别为传入节点。
- 使用标签 + 索引找到您的节点
- 您已经在模式中指定了方向,因此您知道节点之间的方向
- 如果你不这样做,你可以通过以下方式获得关于节点的方向:
这条语句:
MATCH (n:Foo)-[r]-(m) WHERE n.id = "bar"
RETURN n,m,type(r), (startNode(r) = n) as out_n