0

我在用着:

  • Neo4j 1.8.2
  • 春天 3.1.1
  • 弹簧数据-neo4j 2.1.0
  • spring-data-neo4j-rest 2.1.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中我应该做任何调整吗?

我应该修改查询吗?

如何设置泽西岛的超时时间?

谢谢安杰洛

4

1 回答 1

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

安杰洛

于 2013-09-27T07:29:10.680 回答