我创建了节点和关系。我需要从第一个节点遍历到最后一个节点。我期望的输出是印度-->泰米尔纳德-->钦奈-->坎基普拉姆-->万达鲁尔。
知道怎么显示这条路吗?
下面的查询用于创建节点和关系
CREATE (in:place {name:"India", continent:"Asia", Language:"English"}),
(tn:place {name:"Tamil Nadu", continent:"Asia", Language:"Tamil"}),
(ap:place {name:"Andra Pradesh", continent:"Asia", Language:"Telugu"}),
(ch:place {name:"Chennai", continent:"Asia", Language:"Tamil"}),
(co:place {name:"Coimbatore", continent:"Asia", Language:"Tamil"}),
(ka:place {name:"Kanchipuram", continent:"Asia", Language:"Tamil"}),
(th:place {name:"Thiruvallur", continent:"Asia", Language:"Tamil"}),
(va:place {name:"Vandalur", continent:"Asia", Language:"Tamil"}),
(pa:place {name:"Padapai", continent:"Asia", Language:"Tamil"}),
(in)- [:parent] ->(tn),
(in)- [:parent] ->(ap),
(tn)- [:parent] ->(ch),
(tn)- [:parent] ->(co),
(ch)- [:parent] ->(ka),
(ch)- [:parent] ->(th),
(ka)- [:parent] ->(va),
(ka)- [:parent] ->(pa)发布于 2018-11-12 08:56:28
Neo4j提供了shortest path算法,其他图形数据库可能有所不同(参见文档)。
MATCH (start:place { name: "India" }), (end:place { name: "Vandalur" }), p = shortestPath((start)-[:parent*]-(end)) RETURN p ;如果您有一个干净的树结构,您还可以从目标节点开始查找所有传入的parent关系,这些关系最终会到达根节点,如下所示:
MATCH (start:place { name: "Vandalur" })<-[:parent*]-(root:place)
RETURN start, root;发布于 2018-11-12 09:08:52
MATCH (a:place)--(b:place)--(c:place)--(d:place)--(e:place)
RETURN a,b,c,d,e;https://stackoverflow.com/questions/53258270
复制相似问题