在我的图表中,每个节点都有一个名称,图形实际上是一棵树,因此存在/path/to/each/node
。这是我目前用来获取路径的查询:
MATCH p=(n:Node{id:4})-[:CHILD_OF*0..200]->(r:Root{treeName:"vt"})
RETURN reduce(path = "", node IN nodes(p) | node.name + "/" + path) as path
实际查询有点重,但行为是相同的。因此,拥有("")<-("a")<-("b")<-("c")<-("d")
路径,我将获得/a/b/c/d/
。我不介意修剪最后一个/
,但我真的很担心nodes(p)
返回的节点迭代器的顺序。
所以,我的问题主要是针对neo4j团队 - 对订单有任何保证吗?我刚刚返回Path
然后手动提取每个属性会更好吗?我使用嵌入式neo4j发行版的Cypher,因此不会成为问题。