2016-05-22 122 views
0

我開始學習neo4j。我使用的是圖形neo4j找到節點之間的所有路徑。 Trek&登山路線

http://neo4j.com/graphgist/b1f6439d-2904-4fcf-8017-8c83d57ef20b#listing_category=sports-and-recreation

,我有一個問題。我不知道如何獲得從DarjeelingSandakphu的所有連接。所有查詢都會返回無效輸入或無行。

任何人都可以看到應該如何構建正確的查詢?

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 

我沒有行

+2

請張貼一些示例代碼,說明您迄今爲止所做的工作,並使問題更清楚。 – ViVi

+0

現在我好了嗎?] – wonap

回答

1

在第二種情況下,似乎沒有Sirikhola和大吉嶺之間的長度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

相關問題