neo4j 关于聚类方法count在推荐的应用

本文揭示了用户对电影《天下无贼》的评论关联网络,通过统计分析找出与之有共同评论用户的热门电影,展示了评论行为对电影推荐的影响。
MATCH (m:Movie {title: "天下无贼"})<-[:comment]-(u:User)-[:comment]->(rec:Movie)
 RETURN rec.title , COUNT(*) AS comment_num ORDER BY comment_num DESC LIMIT 25

语句分析:

评论过天下无贼的用户还评论过的其他的电影,rec

返回与天下无贼存在共同评论用户关系链的每一个电影以及该电影被关联用户评论的次数

重点理解:count,其本质是一个聚合语法,是在对一定条件(return 返回的字段)进行聚合后,对每一个聚合的key进行数据量统计

### Neo4j APOC 库的使用与文档 Neo4j 的 APOC (Awesome Procedures on Cypher) 是一组扩展功能集合,旨在增强 Neo4j 数据库的功能。它提供了大量的存储过程和函数来简化复杂查询、数据处理以及与其他系统的集成。 #### 功能概述 APOC 提供了许多实用工具,涵盖了从数据导入导出到图算法应用等多个方面。以下是其主要功能分类[^2]: - **数据转换**: 支持 JSON 和 CSV 文件的读取写入操作。 - **子图操作**: 可以轻松提取节点及其关系形成子图。 - **路径查找**: 实现多种最短路径计算方法。 - **模式匹配**: 增强版的节点/边筛选条件设置。 - **时间序列管理**: 创建基于时间戳的数据结构用于分析趋势变化。 #### 安装指南 要安装 APOC 插件,请按照官方说明下载对应版本 jar 包并放置于插件目录下。确保配置文件 `neo4j.conf` 中启用了用户定义的过程加载选项[^3]: ```properties dbms.security.procedures.unrestricted=apoc.* ``` #### 示例代码片段 下面展示如何利用 APOC 进行简单的标签聚类任务,类似于 BigQuery K-Means 方法提到的内容[^1]: 假设我们有一个包含技术关键词作为属性的节点集,则可以尝试如下方式构建相似度矩阵并通过 Louvain 社区发现算法找到潜在类别群组: ```cypher // 计算两两之间共同出现次数 MATCH (n:Tag),(m:Tag) WHERE n.name < m.name AND EXISTS((n)-[:CO_OCCURS]->(m)) WITH n,m,COUNT(*) AS cooccurrenceCount ORDER BY cooccurrenceCount DESC LIMIT 10000 CALL apoc.create.addLabels([id(n), id(m)], ['ClusterCandidate']) YIELD node RETURN count(*); // 执行社区检测 CALL algo.louvain.stream('ClusterCandidate', 'CO_OCCURS', {}) YIELD nodeId, community RETURN algo.asNode(nodeId).name AS tagName,community; ``` 上述脚本首先标记可能参与分组运算的目标对象;接着调用内置模块完成最终归属判定工作流程[^4]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

会发paper的学渣

您的鼓励和将是我前进的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值