如何建模节点集之间的关系
How to model relationships between sets of nodes
我目前正在研究对高等教育课程和其他此类实体(MATH101、BIOL360、BSc 等)进行建模,我们正在研究的选项之一是图形数据库。除了理论上,我对图形数据库不熟悉。
我试图建模的其中一件事是需求,例如 "MATH201 requires the student previously completed MATH101"。这看起来很简单——我可以在两者之间创建一个顶点。其他的比较复杂:"Bachelor of Computer Science requires 40 points at 200 level or higher in science papers".
我想在这里做的是命名一组集,a la Neo4J Labels, then create a relationship from one of the nodes to the set of nodes described in the labels, but I can't see a way to do this. Is this something that's possible in graph databasing engines, or am I basically running down an XY path,应该完全做其他事情吗?
我标记 Neo4J 是因为我倾向于它(据我所知)它是最广泛的 known/used 图 dbms,但我也对其他数据库中的解决方案持开放态度(在事实上,如果在非常新的 SQL 服务器产品中有可能,那可能是理想的选择,因为其他基础设施就在上面。
嗯,在第一种情况下,我认为你可以在 "MATH201" 和 "MATH101" 之间建立 :REQUIREMENT
关系。
在第二种情况下,您可以在 "Bachelor of Computer Science" 节点和中间节点之间建立 :REQUIREMENT
关系,以对所有科学论文进行分组,如下图所示。此外,您可以在与课程要求类型的关系中加入一些额外的属性:
我目前正在研究对高等教育课程和其他此类实体(MATH101、BIOL360、BSc 等)进行建模,我们正在研究的选项之一是图形数据库。除了理论上,我对图形数据库不熟悉。
我试图建模的其中一件事是需求,例如 "MATH201 requires the student previously completed MATH101"。这看起来很简单——我可以在两者之间创建一个顶点。其他的比较复杂:"Bachelor of Computer Science requires 40 points at 200 level or higher in science papers".
我想在这里做的是命名一组集,a la Neo4J Labels, then create a relationship from one of the nodes to the set of nodes described in the labels, but I can't see a way to do this. Is this something that's possible in graph databasing engines, or am I basically running down an XY path,应该完全做其他事情吗?
我标记 Neo4J 是因为我倾向于它(据我所知)它是最广泛的 known/used 图 dbms,但我也对其他数据库中的解决方案持开放态度(在事实上,如果在非常新的 SQL 服务器产品中有可能,那可能是理想的选择,因为其他基础设施就在上面。
嗯,在第一种情况下,我认为你可以在 "MATH201" 和 "MATH101" 之间建立 :REQUIREMENT
关系。
在第二种情况下,您可以在 "Bachelor of Computer Science" 节点和中间节点之间建立 :REQUIREMENT
关系,以对所有科学论文进行分组,如下图所示。此外,您可以在与课程要求类型的关系中加入一些额外的属性: