1

これが単純な質問である場合はお詫びしますが、このバンプを乗り越えるためにSOの知恵に目を向けます:)

私はneography gemでRoR 3.1.1を使用しています。

私は現在、それらをつなぐ「友達」としての関係を持つ人々ノードのneo4jグラフを持っています。特定の人のノードが与えられた場合、一度に 5 つの友人の友人 (2 次ノード) の結果をページングしたいと思います。現在、次のトラバーサル コードを使用して、一度にすべての友達の友達を取得します (時間がかかりすぎてタイムアウトが発生する可能性があります)。

    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 Web サイト ( http://docs.neo4j.org/chunked/stable/rest-api-traverse.html#rest-api-creating-a-paged-traverser ) から、既に次のようなものがあるようです。ページトラバーサルですが、ネオグラフィーからこれを行うことへの言及は見当たりません。

可能であれば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 に答える