我有一个用例。 product_combo
是sold_at
的两个或更多store
,位于不同的price
。并且每个商店都映射到state
。
如何构造这种情况。
请按照以下结构查找关系。
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"}
我想知道如何放置链接,以便在不同商店/州的产品级别确定每种产品的价格。
预先感谢] 1
答案 0 :(得分:1)
您可以将价格设置为[:CONTAINS]
关系的属性。
Combo
的总价也应作为该ComboPack
节点的属性放置(这里您复制数据以交换更快的sum
查询)
更新
根据需要,应将关系Store -[]-> Combo
分解为较小的部分。
一种方法是引入SpecificCombo节点:
(:Store)-[:SELLS]->(:SpecificCombo)-[:IS_A]->(:Combo)
(Combo)-[:CONTAINS]->(Product)
(:SpecificCombo)-[:INCLUDE {price: 15$}]->(Product)