我正在尝试为Neo4j数据库建模一个图形数据库。以下是细节:
代理商-产品-等级-佣金。
将有代理商和产品(例如保健产品)。
代理商会在另一个代理商下加入或直接加入。 代理商只能有一个父代理商,但可以有多个子代理商。 加入代理商的广度和深度没有限制。
代理商将得到提升,其等级取决于他们购买的产品的总价值。 代理商每月获得佣金,这取决于他们和他们的子代理商在一个月内购买的产品的总价值。
节点: 代理商 {名称,年龄,...,等级} A1,A2,A3...
节点: 产品 {名称,描述,...,价格} P1,P2,P3...
关系: 购买 {日期,时间,数量,总支付} (代理商) -[:purchases]-> (产品)
代理商可以同时购买多种产品。 代理商可以多次购买同一种产品。
例如:
A1 {'John Doe','34',...,'4'} P1 {'Px1','desx1',...,'$2.3'} A1 - [:purchases {03-01-2014,09.30,02,'$4.6'}]-> (P1) A1 - [:purchases {07-01-2014,13.45,01,'$2.3'}]-> (P1)
?这就是我被卡住的地方。所以,我需要每次代理商购买产品时都创建一个关系[:purchases],即使是同一种产品吗?
在此场景中,在同两个节点之间具有相同类型和标签的多个关系是否高效?因为代理商可能会经常购买相同的产品,这将在相同的节点之间创建更多的多个关系。
这种模型遵循标准建模原则吗? 是否有人可以提出更好的建模或纠正?
代理商-产品-等级-佣金。
将有代理商和产品(例如保健产品)。
代理商会在另一个代理商下加入或直接加入。 代理商只能有一个父代理商,但可以有多个子代理商。 加入代理商的广度和深度没有限制。
代理商将得到提升,其等级取决于他们购买的产品的总价值。 代理商每月获得佣金,这取决于他们和他们的子代理商在一个月内购买的产品的总价值。
节点: 代理商 {名称,年龄,...,等级} A1,A2,A3...
节点: 产品 {名称,描述,...,价格} P1,P2,P3...
关系: 购买 {日期,时间,数量,总支付} (代理商) -[:purchases]-> (产品)
代理商可以同时购买多种产品。 代理商可以多次购买同一种产品。
例如:
A1 {'John Doe','34',...,'4'} P1 {'Px1','desx1',...,'$2.3'} A1 - [:purchases {03-01-2014,09.30,02,'$4.6'}]-> (P1) A1 - [:purchases {07-01-2014,13.45,01,'$2.3'}]-> (P1)
?这就是我被卡住的地方。所以,我需要每次代理商购买产品时都创建一个关系[:purchases],即使是同一种产品吗?
在此场景中,在同两个节点之间具有相同类型和标签的多个关系是否高效?因为代理商可能会经常购买相同的产品,这将在相同的节点之间创建更多的多个关系。
这种模型遵循标准建模原则吗? 是否有人可以提出更好的建模或纠正?