Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Neo4j如何实现高分制_Neo4j_Graph Databases - Fatal编程技术网

Neo4j如何实现高分制

Neo4j如何实现高分制,neo4j,graph-databases,Neo4j,Graph Databases,我在一家制作社交游戏的公司工作,在那里,我们的用户可以交朋友,并且可以制作基于人气的内容,以高分显示 我试图找出我们是否可以将一些数据移动到像neo4j这样的图形数据库中,而我不知道的一件事是如何在图形数据库中实现highscore系统。我基本上想做这样的查询: 获取好友创建的电影/艺术书/照片内容列表,按最喜欢的内容排序 获取过去7天内所有用户创建的电影/艺术书/照片内容列表,按最喜欢的内容排序 为了实现这一点,我们应该做什么样的数据建模和查询 我计划要做的数据模型是将用户作为节点,并将用户制

我在一家制作社交游戏的公司工作,在那里,我们的用户可以交朋友,并且可以制作基于人气的内容,以高分显示

我试图找出我们是否可以将一些数据移动到像neo4j这样的图形数据库中,而我不知道的一件事是如何在图形数据库中实现highscore系统。我基本上想做这样的查询: 获取好友创建的电影/艺术书/照片内容列表,按最喜欢的内容排序

获取过去7天内所有用户创建的电影/艺术书/照片内容列表,按最喜欢的内容排序

为了实现这一点,我们应该做什么样的数据建模和查询

我计划要做的数据模型是将用户作为节点,并将用户制作的内容链接到用户,作为连接内容节点列表,其中最新的一个链接到用户,但我如何在这样的模型中获得高分


谢谢。

这里有一种可能的型号:

(f:User {name: "Fred"})-[:CREATED]->(c:Content {created: 2345, type: "Music"})

(m:User {name: "Mary"})-[:LIKES {score:5}]->(c:Content)

(f)-[:KNOWS]->(m);
获取自特定时间戳以来所有用户创建的内容,请按喜欢的数量降序,您可以使用以下查询。
可选匹配
用于避免筛选出不喜欢的
内容

MATCH (c:Content)
WHERE c.created > 1234
OPTIONAL MATCH ()-[l:LIKES]->(c)
RETURN c, COUNT(l) AS num_likes
ORDER BY num_likes DESC;

这就说明了这一点。

您可以简单地进行
计数(l)
,而不是
收集
长度