Data structures Neo4J数据建模

Data structures Neo4J数据建模,data-structures,neo4j,graph-databases,Data Structures,Neo4j,Graph Databases,我有一个用例。产品组合在两个或两个以上的商店以不同的价格出售。并且每个存储都映射到一个状态。 我如何构建这个场景 请在下面的结构中找到关系 Store{name:"Store 1"} -[:LOCATED_IN]-> State{name:"AZ"} Store{name:"Store 2"} -[:LOCATED_IN]-> State{name:"MO"} Store{name:"Store 1"} -[:SELLS]-> ComboPack{name:"Combo1"}

我有一个用例。
产品组合
在两个或两个以上的
商店以不同的
价格出售。并且每个存储都映射到一个
状态
。 我如何构建这个场景

请在下面的结构中找到关系

Store{name:"Store 1"} -[:LOCATED_IN]-> State{name:"AZ"}
Store{name:"Store 2"} -[:LOCATED_IN]-> State{name:"MO"}
Store{name:"Store 1"} -[:SELLS]-> ComboPack{name:"Combo1"}
Store{name:"Store 2"} -[:SELLS]-> ComboPack{name:"Combo1"}
ComboPack{name:"Combo1"} -[:CONTAINS]-> Product{name:"Prod 1"}
ComboPack{name:"Combo1"} -[:CONTAINS]-> Product{name:"Prod 2"}
我想知道如何放置链接,使每个产品的价格在不同商店/州的产品级别确定


提前感谢]

您可以将价格设置为
[:CONTAINS]
关系的属性

Combo
的总价也应该作为该
ComboPack
节点的一个属性(这里您复制数据以交换更快的
sum
查询)

更新

根据您的要求,您应该将
Store-[]->Combo
关系分解为更小的部分

一种方法是引入SpecificCombo节点:

(:Store)-[:SELLS]->(:SpecificCombo)-[:IS_A]->(:Combo)
(Combo)-[:CONTAINS]->(Product)
(:SpecificCombo)-[:INCLUDE {price: 15$}]->(Product)

谢谢但我的情况如下:产品在
州以低于价格出售:AZ
产品1
20美元
产品2
10美元
并且在
州以低于价格出售:MO
产品1
25美元
产品2
15美元
有可能解决这个问题吗情况如何?