Neo4j 将graphdb遍历到第n次
我不知所措 场景:从Joe处获得深度2(#的表示“Person”。字母表示“Position”) 接球是指一个人被拴在一个位置上。职位之间有关系,但一个人与另一个人没有关系。所以它是这样的:Neo4j 将graphdb遍历到第n次,neo4j,cypher,traversal,Neo4j,Cypher,Traversal,我不知所措 场景:从Joe处获得深度2(#的表示“Person”。字母表示“Position”) 接球是指一个人被拴在一个位置上。职位之间有关系,但一个人与另一个人没有关系。所以它是这样的: Joe<-[:occupied_by]-(PositionA)-[:authority_held_by]-> (PositionB)-[:occupied_by]->Sam PositionA, PositionB (inferring, A-[:A_H_B]->B) Posi
Joe<-[:occupied_by]-(PositionA)-[:authority_held_by]->
(PositionB)-[:occupied_by]->Sam
PositionA, PositionB (inferring, A-[:A_H_B]->B)
PositionB, PositionE (inferring, B-[:A_H_B]->E)
PositionF, PositionA (inferring, F-[:A_H_B]->A)
PositionG, PositionA (inferring, G-[:A_H_B]->A)
如果我们有双向关系,比如A-[:authority\u hold\u by]->B和B-[:manages]->A
我不介意第一列或第二列是什么,因为我们可以让第三列代表这种关系
PositionB, PositionA, [:manages]
但我们正试图远离双向关系
最终我想要的是:
Joe<-[:occupied_by]-(PositionA)-[:authority_held_by]->
(PositionB)-[:occupied_by]->Sam
PositionA, PositionB (inferring, A-[:A_H_B]->B)
PositionB, PositionE (inferring, B-[:A_H_B]->E)
PositionF, PositionA (inferring, F-[:A_H_B]->A)
PositionG, PositionA (inferring, G-[:A_H_B]->A)
这是可能的塞弗或我必须做一些黑魔法
我希望我的解释通俗易懂。。提前非常感谢 将返回p替换为-
RETURN nodes(p)[0] AS START, LAST(nodes(p)) as last
工作?嘿,丹,谢谢你的意见。我可以看到您将使用它,但它仍然返回第一列作为位置a(起始节点):(您也可以使用head(节点(p))如何
返回perStart、perEnd、posStart、posEnd
?路径是节点和rel的集合,即您可以使用节点(p)和rels(p),请参阅cypher refcard:neo4j.org/resources/cypher
RETURN nodes(p)[0] AS START, LAST(nodes(p)) as last