neo4j - Neo4j - 具有关系权重的递归查询
问题描述
我正在构建一个工具,使用户能够向其他用户推荐一系列在线课程。
在由此产生的数据的背后,我想深入了解最推荐的课程序列是什么。这是模型的一部分:
在此图中,绿色数字是权重,显示有多少人推荐了一个又一个课程(例如:655 人推荐在 Intro to Prob 之后参加斯坦福大学的 ML)
节点中的recs
字段是课程推荐的绝对数量(例如:Stanford ML 已被 1000 个用户按顺序推荐)
我想做的是从最终目标开始,找出最推荐的先决条件。
该算法可能会像这样工作:
Function fancy_algo (node, graph)
If (no prereqs OR prereq weight is very low)
Return graph
Get all incoming nodes
For each incoming node subject
MR = most recommended pre-req
Append MR to graph
fancy_algo(MR, graph)
希望进行斯坦福机器学习的人的最终状态可能如下所示:
注意在“Intro to CS”之后我们没有包括“代数”,因为它的前置权重非常低(4567 个中有 20 个)。
这是可以用 Cypher 管理的吗?我将如何开始?
解决方案
推荐阅读
- html - 调整 SVG 的大小,但通过编辑它的容器来做到这一点
- python - 在父工厂上存储 factory-boy RelatedFactory 对象
- javascript - 获取复选框值,包括空格后的值
- scala - 在 Spark Scala 中从 rdd 推断模式到 Dataframe
- python - spacy训练数据中heads的含义是什么?
- javascript - Node JS 查找连接到本地网络的所有设备
- javascript - 将我的表单从 javascript 提交到 PHP 后如何获取多维数组?
- python - 使用 numpy.savetxt 保存结构化数组的各个列:ValueError: fmt has wrong number of % formats
- packer - Hashicorp Packer:vsphere-iso builder 部署多个磁盘?
- bash - 在 Mac 上设置或识别 MySQL 安装的 bash 命令是什么?