Neo4j在阵列或用户超级节点中存储数据

时间:2017-11-16 16:03:05

标签: neo4j

在Neo4j的早期版本中,超级节点通常被认为是性能上的坏事。我最近在2.X和3.X版本中没有看到太多关于这一点,所以想知道这是否还是一个问题。

我遇到的问题是我需要为特定的Node类型存储有限数量的选项。例如,人物和喜欢的颜色。我可以在Person节点中存储一个数组,用于存储用户喜欢的颜色,或者我可以为每种颜色创建一个Node,然后创建一个从Person到Color节点的关系。似乎超级节点选项查询速度更快,但我担心过去的超级节点是坏的。

如果我想找一些喜欢特定颜色的人,那么在Neo中存储这些数据的推荐方法是什么?

1 个答案:

答案 0 :(得分:0)

我认为这里的主要问题是Color节点将成为一个非常连接的节点。

也许你需要一个Options子图来获得这些选项的模板然后:

  • 复制模板节点选项以将此副本与主实体节点链接

  • 仅将选择的选项复制到主实体节点的属性中,就像阵列命题一样

或者,如果您的选项没有属性

  • 将标签添加到主实体节点

我认为,即使新的Neo4j版本的超链接节点的性能提高,读/写时间也总是比那些少的人更多。

我希望这有点帮助。