我在Neo4j文档中阅读了section,该文档有关如何使依赖于时间的查询更加有效:
建模时间特定的数据和关系的一种方法是通过包含关系类型中的数据。因为Neo4j是专门优化的对于遍历实体之间的关系,您通常可以改进通过指定日期作为关系类型来查询性能,并且仅遍历特定日期的关系。
但是我想知道,使用这种技术,任何时候您都必须重复同样的事情,以提高基于时间的查询的效率。例如,如果您要查询特定用户在特定日期创建的帖子,则必须添加(类似于AirportDay
),例如UserDay
。
我的问题是,有没有一种方法可以在图形中通用地建模时间,以便时间成为查询图形中事件和活动的主要切入点。
无法在图形中普遍地建模时间。这取决于您的用例。
您的帖子中的示例是优化从节点遍历太多相同类型关系的非性能查询的一种方法。
您还可以将时间作为属性存储在节点上,并对其进行索引。
然后有一个时间树https://graphaware.com/neo4j/2014/08/20/graphaware-neo4j-timetree.html]选项>
总而言之,这取决于您的用例-通常不需要过早优化。