我正在考虑在neo4j中对组织进行建模。
组织有一个核心团队和不同的部门。 组织内部有内部小组。 组织中有外部人员互动的群体。
我认为节点内没有子节点或节点的概念(使用它我们可以代表一个组织。)
在这种情况下,通常在neo4j中表示的最佳方法是什么?
由于
答案 0 :(得分:1)
我会开始以您描述上述域的方式对其进行建模,因此您将拥有以下域名:
(org:Organization), (team:Team), (div:Division), (group:Group)
然后以描述他们关系的方式互连它们:
(org)-[:CORE_TEAM]->(team),
(org)-[:DIVISION]->(div),
(org)-[:INTERNAL_GROUP]->(group),
(org)-[:EXTERNAL_GROUP]->(group)
根据内部/外部组的用例,您可能希望添加更多常规关系,并且上面的rel表示特定连接,因此您可以:
(team)-[:BELONGS_TO]->(org),
(div)-[:BELONGS_TO]->(org),
(group)-[:BELONGS_TO]->(org)
这完全取决于您的域名案例,例如您想询问数据的问题。