2014-06-24 25 views
1

我在下面的代碼段中執行了查詢,但是如果有2個節點彼此遠離,則neo4j被破壞;Cypher查詢在不執行時刪除neo4j

START d=node(1), e=node(5) 
MATCH p=shortestPath(d-[r:ROUTE*..15]-e) 
WHERE all(x in relationships(p) WHERE x.RouteID=head(relationships(p)).RouteID) 
RETURN p 
limit 1 

當我執行節點1到5的工作很好,我faster.When執行節點5至45,它brokes neo4j.How我能解決這個問題?

感謝,最好的問候

+0

你能分享一個樣本數據集嗎? –

+0

網上有樣本數據集。 http://brain.kaankilic.com:7474/browser/ – user3566301

+0

我可以看到節點之間有大量的重複關係。這是故意的嗎? –

回答

3

試試這個:

START d=node(1), e=node(5) 
MATCH p=shortestPath(d-[r:ROUTE*..45]-e) 
WITH p, head(relationships(p)).RouteID as RouteID 
WHERE all(x in relationships(p) WHERE x.RouteID=RouteID) 
RETURN p 
limit 1 

你做的關係(P)在任何路徑中的任何關係,所以這是一個大十字產品。

+0

爲什麼它沒有返回關係?它只是返回節點? – user3566301