graph - 按路径数排序的密码

标签 graph neo4j cypher

假设我有一张电影和导演的图表,其中电影通过共同观众相互联系。我想找到相似的导演,即电影往往被一起观看的导演。

开始 n=node:index(Name="Steven Spielberg") 匹配 n-->m--l<--o RETURN o;

这为我提供了所有相关的导向器,但我如何根据连接它们的路径数对它们进行排序?如果我还可以考虑电影之间的联系,则加分。

最佳答案

count(*)是以n开头o结尾的路径数

START n=node:index(Name="Steven Spielberg") 
MATCH n-->m--l<--o 
RETURN o,count(*)
order by count(*) desc;

关系的权重

START n=node:index(Name="Steven Spielberg") 
MATCH path=n-->m--l<--o 
RETURN o,sum(reduce(sum=0,r in rels(path) : sum+r.weight)) as weight
ORDER BY weight desc;

关于graph - 按路径数排序的密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16504361/

相关文章:

neo4j - Neo4j 集合中的独特元素

java - Neo4j jdbc 驱动程序中的数据库连接池

Neo4j 数字属性的正则表达式匹配

Neo4J 密码模式语法

java - 这个 Cypher 查询有什么问题?

最短加权路径算法 - 频繁变化的边

linux - 用于时间线数据的类似 gnuplot 的程序

algorithm - 具有固定节点位置的图形平面度

graph - 具有双向边的图上的 Ford-Fulkerson 算法

Neo4j+Popoto.js : Node size adjustment