在neo4j的朋友建议

时间:2013-11-18 21:06:59

标签: neo4j neo4jphp

我正在努力让朋友建议在我的应用程序中工作,这是一个令人兴奋但令人沮丧的时间,从RDBMS背景学习Neo4J,但是我在这里。

我需要能够向知道两个或更多用户直接朋友的人展示。换句话说,根据附加屏幕截图中的图表,我需要一个Cypher Query,它给出了节点6和4。

可以在http://oi39.tinypic.com/j9yogi.jpg

上找到屏幕截图

任何帮助都会受到赞赏,因为我正在撕开我的头发。

3 个答案:

答案 0 :(得分:3)

正如尼古拉斯指出的那样,如果你尝试一些Cypher,那就很容易了。

请参阅http://console.neo4j.org/r/kt5hd

START n=node(1) 
MATCH n-[r:KNOWS*2]->f 
WITH count(r) AS count, f 
WHERE count>=2 
RETURN f

答案 1 :(得分:0)

您也可以尝试使用Gremlin。您在doc:http://docs.neo4j.org/chunked/stable/gremlin-plugin.html#rest-api-collaborative-filtering

中有示例

答案 2 :(得分:0)

@Luannes的回答也会回复当前的朋友,这不是真正的朋友建议。使用它。

            MATCH (joe { name: 'Joe' })-[:knows*2..2]-(friend_of_friend)
            WHERE NOT (joe)-[:knows]-(friend_of_friend)
            RETURN friend_of_friend.name, COUNT(*)
            ORDER BY COUNT(*) DESC , friend_of_friend.name

来自Neo4j食谱 http://neo4j.com/docs/stable/cypher-cookbook-friend-finding.html