【问题标题】:Modeling time in graph databases图数据库中的建模时间
【发布时间】:2020-02-11 00:18:33
【问题描述】:

我在 Neo4j 文档中读到了 section 关于如何使依赖于时间的查询更有效率的内容:

对特定时间的数据和关系进行建模的一种方法是包含 关系类型中的数据。因为 Neo4j 是专门优化的 对于遍历实体之间的关系,您通常可以改进 通过将日期指定为关系类型来查询性能和 只遍历特定的约会关系。

但我想知道,使用这种技术,您将不得不在任何时候重复相同的事情,以提高基于时间的查询的效率。例如,如果您想查询特定用户在特定日期创建的帖子,您必须添加(类似于AirportDay)类似UserDay 的内容。

我的问题是有没有一种可能的方法在你的图表中对时间进行通用建模?让时间成为查询图表中事件和活动的主要入口点。

【问题讨论】:

    标签: graph database-design neo4j data-modeling graph-databases


    【解决方案1】:

    在您的图表中普遍建模时间没有答案。这取决于您的用例。

    您帖子中的示例是优化从节点遍历太多相同类型关系的非性能查询的一种方法。

    您还可以将时间作为属性存储在节点上,并对其进行索引。

    还有时间树的选项https://graphaware.com/neo4j/2014/08/20/graphaware-neo4j-timetree.html

    总而言之,这取决于您的用例 - 通常无需过早优化。

    【讨论】:

      猜你喜欢
      • 2021-01-19
      • 1970-01-01
      • 2011-11-12
      • 1970-01-01
      • 2023-03-08
      • 1970-01-01
      • 1970-01-01
      • 2016-08-29
      • 1970-01-01
      相关资源
      最近更新 更多