Graph Neo4j:按总关系对大型结果集进行排序?

Graph Neo4j:按总关系对大型结果集进行排序?,graph,lucene,neo4j,Graph,Lucene,Neo4j,是否可以获取大量节点子集并按总关系对其进行排序?或者换句话说,是否可以从neo4j返回一个连接最多的节点位于顶部的大型结果集?您可以尝试 START node=node(*) MATCH node-[rel]-() RETURN id(node) as id, count(rel) as count ORDER BY count DESC 查看此示例数据库:您可以尝试 START node=node(*) MATCH node-[rel]-() RETURN id(node) as

是否可以获取大量节点子集并按总关系对其进行排序?或者换句话说,是否可以从neo4j返回一个连接最多的节点位于顶部的大型结果集?

您可以尝试

START node=node(*) 
MATCH node-[rel]-() 
RETURN id(node) as id, count(rel) as count 
ORDER BY count DESC
查看此示例数据库:

您可以尝试

START node=node(*) 
MATCH node-[rel]-() 
RETURN id(node) as id, count(rel) as count 
ORDER BY count DESC

查看此示例数据库:

但它还不会很快,因为它是一个涉及所有节点和rel的图形全局查询,因此必须缓存在内存中才能很快。如果您需要这些信息,通常考虑将节点上的计数存储起来,或者将顶级节点连接到一个众所周知的引用节点。但是它不会很快,因为它是一个图形全局查询,它会触及所有节点和REST,因此必须在内存中高速缓存。如果需要该信息,通常考虑将节点上的计数存储起来,或者将顶部节点连接到一个众所周知的参考节点。