【发布时间】:2014-06-28 09:45:28
【问题描述】:
我正在尝试为 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] 每次代理商购买产品,即使是同一种产品?
在这种情况下,同一两个节点之间具有相同类型和标签的多重关系是否有效?因为代理商可能会经常购买相同的产品,这将创造一个更大的数字。相同节点之间的多个关系。
这个模型是否遵循标准的建模原则? 谁能提出更好的建模或更正方法?
【问题讨论】:
标签: neo4j modeling graph-databases