2013-09-26 38 views
0

我使用:Neo4j的春天SocketTimeoutError

  • Neo4j的1.8.2
  • 春天3.1.1
  • 彈簧數據的Neo4j 2.1.0
  • 彈簧數據的Neo4j,其餘2.1 0.0

在我Neo4j的情況下,我有:

  • 219節點
  • 1838性能
  • 592的關係

在我的代碼我想尋找朋友的朋友;在奧德做我寫了這個代碼:

@Query(value = "START n = node({userStartId}) " 
+ "MATCH n-[:OPINION_LEADER_INFLUENCE*2..]->friend_of_friend " 
+ "WHERE not(n-[:OPINION_LEADER_INFLUENCE]->friend_of_friend) " 
+ "and id(n) <> id(friend_of_friend) " 
+ "RETURN COUNT (distinct friend_of_friend)") 
public int getFriendOfFriendNumber(@Param("userStartId") long userStartId) 

當我執行它,我得到了一個SocketTimeoutException 我試圖直接在儀表盤的Neo4j執行查詢;在執行的查詢是以下之一:

START n = node(111) 
MATCH n-[:OPINION_LEADER_INFLUENCE*2..]->friend_of_friend 
WHERE not(n-[:OPINION_LEADER_INFLUENCE]->friend_of_friend) 
and id(n) <> id(friend_of_friend) 
RETURN COUNT (distinct friend_of_friend) 

執行它的Neo4j的儀表盤我爲了花了大約10分鐘,被執行(這是我得到了錯誤的原因)

可以請你告訴我我怎樣才能防止錯誤?

我在neo4j中應該做什麼調整?

我應該修改查詢嗎?

如何設置Jersey的超時時間?

謝謝 安傑洛

回答

1

我發現這個問題

這是查詢;我修改了它這樣:

START n = node(111) 
MATCH n-[:OPINION_LEADER_INFLUENCE*2..2]-friend_of_friend 
WHERE not(n-[:OPINION_LEADER_INFLUENCE]-friend_of_friend) 
and id(n) <> id(friend_of_friend) 
RETURN COUNT (distinct friend_of_friend), friend_of_friend.user_id 

安傑洛