如果这是一个简单的问题,我很抱歉,但我求助于 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 的情况下执行此操作,或者解决方法,例如限制我已经在做的示例遍历返回的结果数量? 谢谢!
你能为此使用 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 个朋友?