所以,我有一个包含数百万个节点的图,示例是
watched director
user1 -------> movie_1 <------ chris nolan
^
user2------------|
watched
等等..
我想生成一个查询来计算每个用户观看的电影数量?
然后平均观看的电影数量? 我如何在 gremlin/cypher 中执行此操作
最佳答案
这是 Gremlin 方法...首先针对每个人观看的电影(请注意,编写此代码是为了在 Gremlin REPL 中运行):
m = [:]
g.E.has('label','watched').groupCount(m){it.outV.next()}.iterate()
上面的代码显示我们迭代所有“观察”边并在每个“观察”边的输出顶点(即用户顶点)上分组。组计数存储在定义为 m
的 Map
中。
现在我们有了 m
,我们可以用它来计算平均值:
total = m.values().sum()
avg = total / m.size()
关于neo4j - 使用 gremlin 或 cypher 查询整个图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25654900/