代表图表数据库中的烹饪食谱

时间:2011-10-13 03:16:28

标签: data-modeling neo4j graph-databases

我正试图围绕图形数据库。所以也许有人可以帮我解释建立这种关系的正确方法。这主要是从neo4j的角度来看,但我认为它适用于大多数图形数据库

我有一个Recipe个节点和Ingredient个节点。 Ingredient个节点与ingredient_in节点的关系Recipe。该关系将包含若干属性,特别值得注意的是具有度量单位的金额字段。

我可以想象,在图表的其他地方会有一个UnitOfMeasure个节点,它们会转换为具有转换比率的关系。

我正在努力解决的问题是如何将Ingredient->食谱关系表示为具有UnitOfMeasure。来自RDMS,这感觉就像我需要另一个节点,但是图形数据库感觉不对。

1 个答案:

答案 0 :(得分:3)

这取决于两件事:

a)你是否归因于关系或n-ary关系

b)你如何使用单位和金额 - 可能中间的节点更容易

Imo,使用像这样的“普通”设计

Recipe -- Entry          -- Ingredient
          amount: double
             |
             |
          UniOfMeasure

可以使用Entry作为节点 - 即使您使用可以处理属性边缘的图形数据库。设计与归属n-ary边缘btw完全相同 - 唯一的区别是Entry,现在可能命名为“contains”,将是Edge而不是Node。