gpt4 book ai didi

neo4j - 我如何使用 neo4j 密码查询来创建按关系数存储的节点直方图?

转载 作者:行者123 更新时间:2023-12-01 11:18:23 25 4
gpt4 key购买 nike

我有一大堆节点匹配以下密码:

(:Word)<-[:Searched]-(:Session)

我想制作每个搜索关系频率处的单词节点数的直方图。

我想做这样的图表:

Searches Words
0 100
1-5 200
6-10 150
11-15 50
16-20 25

我刚开始使用 neo4j,我不确定如何处理这个问题,或者即使有办法在 cypher 中指定它。我最接近的是计算关系并获得平均值。

MATCH (n:Word) 
RETURN
DISTINCT labels(n),
count(*) AS NumofNodes,
avg(size((n)<-[:Searched]-())) AS AvgNumOfRelationships,
min(size((n)<-[:Searched]-())) AS MinNumOfRelationships,
max(size((n)<-[:Searched]-())) AS MaxNumOfRelationships

这是基于此处的示例:https://neo4j.com/developer/kb/how-do-i-produce-an-inventory-of-statistics-on-nodes-relationships-properties/

我还看到使用模数运算符进行分组以获得存储桶,但我不确定如何在引用计数时使用它:Neo4j cypher time interval histogram query of time tree

是否有“最佳”方法来做到这一点?

最佳答案

以下应该有效:

WITH 5 AS gSize
MATCH (w:Word)
OPTIONAL MATCH (w)<-[s:Searched]-()
WITH gSize, w, TOINT((COUNT(s) + (gSize-1))/gSize * gSize) AS m
RETURN
CASE m WHEN 0 THEN '0' ELSE (m-gSize+1)+'-'+m END AS range,
COUNT(*) AS ct
ORDER BY range;

使用@GaborSzarnyas 提供的示例数据,输出为:

+-------------+
| range | ct |
+-------------+
| "0" | 1 |
| "1-5" | 1 |
| "6-10" | 1 |
+-------------+

关于neo4j - 我如何使用 neo4j 密码查询来创建按关系数存储的节点直方图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47419651/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com