Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.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_Cypher - Fatal编程技术网

用于获取具有最高阶数的前几个节点的Neo4j查询

用于获取具有最高阶数的前几个节点的Neo4j查询,neo4j,cypher,Neo4j,Cypher,我是Neo4j的初学者,需要帮助。是否存在用于获取具有最高阶数的前几个节点的查询 我有名为p的节点和名为A的节点。只有P和A节点之间存在链接。我想要前10个节点P,它们与节点A的链接最多 我的想法是下面的查询,但是花了太多时间 MATCH (P1:P)-[r]->(A1:A) RETURN P1.name AS P_name, COUNT(A1) AS A_no ORDER BY no DESC LIMIT 10 我的问题有问题吗 最好的 Mowi数据库中有多少节点 我可能不会为此使用c

我是Neo4j的初学者,需要帮助。是否存在用于获取具有最高阶数的前几个节点的查询

我有名为
p
的节点和名为
A
的节点。只有
P
A
节点之间存在链接。我想要前10个节点
P
,它们与节点
A
的链接最多

我的想法是下面的查询,但是花了太多时间

MATCH (P1:P)-[r]->(A1:A)
RETURN P1.name AS P_name, COUNT(A1) AS A_no
ORDER BY no DESC
LIMIT 10
我的问题有问题吗

最好的


Mowi

数据库中有多少节点

我可能不会为此使用cypher,JavaAPI实际上有一个
node.getDegree()
方法,它的速度要快得多

您的查询速度可能会加快一点

MATCH (P1:P)-->() 
RETURN id(P1),count(*) as degree 
ORDER BY degree DESC LIMIT 10
您也可以尝试:

MATCH (P1:P)
RETURN id(P1),size((P1)-->()) as degree 
ORDER BY degree DESC LIMIT 10
要限制节点,请执行以下操作:

MATCH (P1:P)
WHERE P1.foo = "bar"
WITH P1 limit 10000
MATCH (P1)-->() 
RETURN id(P1),count(*) as degree 
ORDER BY degree DESC LIMIT 10

除了
ORDER BY no
ORDER BY A_no
no相反之外,查询看起来很好。嗨!谢谢所以这可能是我的数据量的问题。嗨!我测试了您改进的查询,但仍然需要很长时间。我的数据库中有1.2亿个节点和大约1.9亿个关系。所以这可能就是问题所在。首先,我将了解如何将Java与Neo4j结合使用。第二,是否有一个选项仅将查询应用于节点的任意部分?非常感谢你!