如何建模节点集之间的关系

时间:2018-04-03 08:30:16

标签: neo4j relationship graph-databases

我目前正在研究高等教育课程和其他此类实体(MATH101,BIOL360,BSc等)的建模,我们正在考虑的其中一个选项是图形数据库。除了理论上,我不熟悉图形数据库。

我想要建模的一件事是要求,例如" MATH201要求学生之前完成MATH101"。那个看起来很简单 - 我可以在两者之间创建一个顶点。其他人则更为复杂:"计算机科学学士学位需要40分,200分或更高的科学论文"。

我想在这里做的是命名一堆, a la Neo4J Labels,然后创建从其中一个节点到集的关系标签中描述的节点,但我看不到这样做的方法。这是图表数据库引擎中的可能,或者我基本上是an XY path,而且应该完全做其他事情?

我已经标记了Neo4J,因为我倾向于它(据我所知)它是最广为人知/使用的图形dbms,但我对解决方案持开放态度在其他数据库中也是如此(事实上,如果它可以在新的SQL Server产品中使用,那么这可能是其他基础设施的理想选择。)

1 个答案:

答案 0 :(得分:1)

嗯,在第一种情况下,我认为你可以在“MATH201”和“MATH101”之间建立:REQUIREMENT关系。

在第二种情况下,您可以在“计算机科学学士”节点与中间节点之间建立:REQUIREMENT关系,以便对所有科学论文进行分组,如下图所示。此外,您可以在关系中添加一些额外的属性,以了解课程的要求类型:

Sample data model