1

如果这是一个简单的问题,我深表歉意,但我求助于 SO 的智慧来让我克服这个问题 :)

我将 RoR 3.1.1 与neography gem 一起使用。

我目前有一个人节点的neo4j图,关系为连接它们的“朋友”。给定一个特定人的节点,我想一次翻阅他们朋友的朋友(2 度节点)的结果 5 个。现在,我使用以下遍历代码一次获取所有朋友的朋友(它可能需要很长时间,以至于会导致超时):

    nodes = @neo.traverse(user_node,"nodes", {"order" => "breadth first",
                                          "uniqueness" => "node global",
                                          "relationships" => {"type"=> "friends", "direction" => "all"},
                                          "return filter" => {
                                            "language" => "javascript",
                                            "body" => 
                                            "position.length() == 2;"},
                                          "depth" => 2}) 

从 neo4j 网站(http://docs.neo4j.org/chunked/stable/rest-api-traverse.html#rest-api-creating-a-paged-traverser),看起来已经有这样的东西了分页遍历,但我没有从neography 中看到任何关于这样做的参考。

有人可以提供示例代码来说明如何在可能的情况下使用neography 执行此操作,如果需要,如何在没有neography 的情况下执行此操作,或者诸如限制从我已经在执行的示例遍历返回的结果数量之类的解决方法?谢谢!

4

1 回答 1

2

您能否为此使用 Cypher 查询,http://docs.neo4j.org/chunked/snapshot/cypher-query-lang.html,例如

START n = node(0) Match n-[:friends]->()-[:friends]->fof RETURN fof SKIP 0 LIMIT 5

前 5 位朋友?

于 2012-04-11T21:00:24.347 回答