2016-05-22 1 views
0

私はneo4jを学び始めます。私は、グラフneo4jはノード間のすべてのパスを検索します。トレックと登山路線

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

を使用していると私は問題を抱えています。私は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) をしたい場合は、この1と間違って何これは、この

で正しい

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 

iは第二の場合に行

+2

あなたが今までに行ったことを説明し、質問をより明確にするサンプルコードを投稿してください。 – ViVi

+0

は今はいいですか?;] – wonap

答えて

1

を有していない、そこSirikholaとダージリンの間の長さ1のnoパスでないように見え、したがってクエリが何も返しません。

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 

ところで、あなたが考えることができますホップmaxのバウンド合理的なアッパーを入れてみてくださいallShortestPaths

関連する問題