我正试图围绕图形数据库。所以也许有人可以帮我解释建立这种关系的正确方法。这主要是从neo4j的角度来看,但我认为它适用于大多数图形数据库
我有一个Recipe
个节点和Ingredient
个节点。 Ingredient
个节点与ingredient_in
节点的关系Recipe
。该关系将包含若干属性,特别值得注意的是具有度量单位的金额字段。
我可以想象,在图表的其他地方会有一个UnitOfMeasure
个节点,它们会转换为具有转换比率的关系。
我正在努力解决的问题是如何将Ingredient->食谱关系表示为具有UnitOfMeasure。来自RDMS,这感觉就像我需要另一个节点,但是图形数据库感觉不对。
答案 0 :(得分:3)
这取决于两件事:
a)你是否归因于关系或n-ary关系
b)你如何使用单位和金额 - 可能中间的节点更容易
Imo,使用像这样的“普通”设计Recipe -- Entry -- Ingredient
amount: double
|
|
UniOfMeasure
可以使用Entry作为节点 - 即使您使用可以处理属性边缘的图形数据库。设计与归属n-ary边缘btw完全相同 - 唯一的区别是Entry,现在可能命名为“contains”,将是Edge而不是Node。