【问题标题】:Neo4: I need a help to model my data in the more correct wayNeo4:我需要帮助以更正确的方式对我的数据进行建模
【发布时间】:2019-05-18 00:21:15
【问题描述】:

我有一个由我需要复制的数据组成的数据库,因为它们属于两个不同的字段,即它们都属于 Pluto 字段,并且数据库的一部分也属于 Goofy 字段。 为我的数据库建模的最正确解决方案是什么?

创建一个多标签,每个节点都添加标签 :Pluto 或 :Goofy? 或者为每个范围字段 = Pluto 或 field = Goofy 创建一个属性?

【问题讨论】:

  • 第一段中“field”的用法令人困惑,因为该术语与 neo4j 术语“property”密切相关。我相信您的意思是使用“标签”一词,就像您在第二段中所做的那样。

标签: database neo4j label cypher data-modeling


【解决方案1】:

如果您的数据仅包含少数用于相同概念(例如,“迪士尼角色”)的替代值(例如,仅 PlutoGoofy),那么为每个值使用单独的标签是最简单的方法对数据进行建模。

但是,如果您需要为同一概念表示 大量 个替代值,那么仅使用单个标签(例如,DisneyCharacter)并放置替代值可能会更简单在属性中(例如,name)。要快速启动对特定替代值的查询,您可以为此类节点创建一个 index(例如,CREATE INDEX ON DisneyCharacter(name))——因此,这种方法可以与使用单独的标签一样快。

【讨论】:

    【解决方案2】:

    您的两个程序都可以。但是,出于性能原因,多标签方法更可取。此外,对此的查询更加简单明了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-02
      • 1970-01-01
      • 1970-01-01
      • 2018-02-07
      • 1970-01-01
      • 1970-01-01
      • 2014-12-05
      • 1970-01-01
      相关资源
      最近更新 更多