【发布时间】:2019-08-05 18:44:13
【问题描述】:
我正在开发一个应用程序,它允许用户根据可用的在线课程推荐学习路径:
在我当前的模型中,序列是不同的节点。它们标志着用户创建的学习路径的开始,并包含有关序列的其他有用元数据(例如:知识领域、用户评分等)
然后我们使用 NEXT 关系浏览用户定义序列可能包含的所有课程。
单个课程可能是许多不同用户创建的序列的一部分,因此两个课程节点之间可能存在任意数量的 NEXT 关系,并且每个关系都将以父序列的 id 作为属性。
这意味着在获取序列时,dbms 将需要遵循匹配特定 path_id 的 NEXT 关系,以便检索与该课程关联的所有课程节点。
我从不同的来源了解到,使用关系属性来导航图表是一种反模式,因为它会导致 I/O 访问超过关系的数量。
我只希望序列最长约为 20-30 门课程。另一方面,我预计获取整个序列将是应用程序中非常频繁的操作。
我的问题是:这里的反模式是否合理,还是有更好的方法来做到这一点?
【问题讨论】:
标签: neo4j