我试图学习neo4j并来自关系数据库,我对以下模型的正确方法感到有点困惑:
Account Application ApplicationModule
acct_id app_id app_mod_id
name name app_id
name
AccountModuleAccess
id
acct_id
app_mod_id
can_read
can_delete
can_update
can_insert
我可以看到以下关系
Application->ApplicationModule->AccountModuleAccess
和
Account->AccountModuleAccess
但令我困惑的是AccountModuleAccess与Account和AccountModule的关系
答案 0 :(得分:2)
我认为将有助于考虑模型中应该是什么关系,应该是什么节点(大多数属性都相当清楚)。
请注意,AccountModuleAccess实际上是关于帐户与帐户模块的关系,其中大部分都可以建模为关系。
你也可以摆脱外键的概念,使用那些关系。
考虑这个模型:
(:Account)-[:CAN_READ|CAN_DELETE|CAN_UPDATE|CAN_INSERT]->(:ApplicationModule)
(:ApplicationModule)-[:MODULE_OF]->(:Application)
为了节省空间,我将所有关系放在一起,但每个关系都是一个单独的关系:Account和:ApplicationModule。