【问题标题】:NEO4J DATA MODEL DetailingNEO4J 数据模型详图
【发布时间】:2020-06-06 23:47:55
【问题描述】:

产品目录有文章。每篇文章都有特定的属性。这些属性,如材料、尺寸、形式等,由一些物品共享,例如。一个工具有 3 种尺寸(6"、8"、10")和 2 种材料(304、316)。在目录中,您现在可以找到 6 条记录,每个版本的可能组合一个。这将提高当您添加另一个属性时速度很快,例如电压 (230, 400, 500),因为您现在有 18 条记录。 我正在考虑是否应该将属性保留在节点中,以便每个属性都有 18 个节点,例如

(n:Tool {name:"X", voltage:"230", size:"6"})

并在节点中搜索属性以找到正确的节点,或者我是否会尝试将这些关键属性设置为节点并将工具节点连接到属性节点,例如

(n:Tool {name:"X"}) -[:HAS_SIZE]- (s:Size {size:"6"})
(n) -[:HAS_VOLTAGE]- (v:Voltage {voltage:"230"}) a.s.o.

并尝试通过以下路径找到节点 X。最后一个选项也可能具有我可以通过选择例如用所有可用选项填充表单字段的魅力。所有电压节点。

最后一个可能会导致许多节点和关系以及当数量增加时,例如有 20 个属性节点我不确定如何找到我的节点 X?然后查询可能看起来像

MATCH (n:Tool) -[:HAS_SIZE]- (s:Size)
MATCH (n:Tool) -[:HAS_VOLTAGE]- (v:Voltage)
MATCH (n:Tool) -[:MADE_OF]- (m:Material)
where s.size = "6" AND v.voltage="230" AND m.material ="304"
return n

这将成为非常大的查询。

也许有人有文章/帖子的链接,其中显示了此类数据模型的基本布局? 谢谢!

【问题讨论】:

    标签: neo4j data-modeling


    【解决方案1】:

    您可以浏览这些幻灯片https://www.slideshare.net/mobile/neo4j/graphtour-neo4j-murrelektronik。它表明您可以走得更远,例如将您的属性值建模为节点,包括支持基于其他属性计算的属性、多语言支持和单位之间的转换。披露:我们是这个项目的一部分,并为建模做出了重大贡献。我们还提供了 UI。

    【讨论】:

    • 哇,出色的工作,非常有帮助 - 我看到你在这个概念和它的辉煌方面走得更远。该解决方案非常适合以有用的方式拥有所有不同的属性和属性并将每个产品链接到这些 - 最后,一个产品有很多链接到每个可能的属性,并且您可以在允许的情况下获得表单上的数据安全性只有一个拟合属性的列表。您是否有机会向我发布有关如何查找其中一种产品的查询,以了解您如何使用这些路径到达该单个对象?那太好了 - 谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多