我开始学习neo4j。我正在使用图表
我有一个问题。我不知道如何获得从Darjeeling
到Sandakphu
的所有连接。所有查询都返回无效输入或没有行。
有谁能看到应该如何构建正确的查询?
1)这是正确的
MATCH (p:peak{name:'Sandakphu'})-[r:twowheeler*]-(t:town{name:'Rimbik'}) return distinct(r)
如果我想要所有路线
,这个有什么问题MATCH (p:peak{name:'Sandakphu'})-[r:*]-(t:town{name:'Darjeeling'}) return distinct(r)
2) 这是正确的
MATCH (a:village { name: 'Sirikhola' }),(b:village{ name: 'Gurdum' }) MATCH (a)-[r]->(b) RETURN r
有了这个
MATCH (a:village { name: 'Sirikhola' }),(b:town{ name: 'Darjeeling' }) MATCH (a)-[r]->(b) RETURN r
我没有行
答案 0 :(得分:3)
在第二种情况下,Sirikhola和Darjeeling之间似乎没有长度为1的路径,因此查询没有返回任何内容。尝试为最大跳跃设置一个合理的上限:
MATCH (a:village{name:'Sirikhola'})-[r*..5]-(t:town{name:'Darjeeling'})
return r
第一个查询也应该有用(我添加了一个上限而不是让它不受约束):
MATCH (p:peak{name:'Sandakphu'})-[r*..5]-(t:town{name:'Darjeeling'})
return r
你可以考虑使用allShortestPaths