Neo4j-具有关系权重的递归查询

时间:2019-03-19 18:02:28

标签: neo4j cypher

我正在构建一个工具,使用户可以向其他用户推荐在线课程的顺序。

从中得出的数据背后,我想对最推荐的课程顺序有何见解。这是模型的一部分:

enter image description here

在此图中,绿色数字是权重,表示有多少人推荐一门课程后再推荐另一门课程(例如:655人建议在从Prob到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)

想要进行斯坦福机器学习的人的最终状态可能看起来像这样:

enter image description here

请注意,在“ Intro to CS”之后我们没有包括“ Algebra”,因为它的先决条件权重很低(4567分之20)。

可以使用Cypher进行管理吗?我将如何开始?

0 个答案:

没有答案