Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Neo4j中查询时态数据_Neo4j_Recurrence_Temporal - Fatal编程技术网

在Neo4j中查询时态数据

在Neo4j中查询时态数据,neo4j,recurrence,temporal,Neo4j,Recurrence,Temporal,我可以想到几种可能的方法来存储和查询Neo4j中的时态数据。查看一个能够搜索重复事件和任何异常的示例,我可以看到两种可能性: 一个简单的选择是为每次事件创建一个节点。虽然很容易构造一个密码查询来查找一天、一个范围内的所有事件,但这可能会创建许多不必要的节点。它还可以使更改单个事件的时间、位置等变得非常容易,因为已经有了一个包含基本信息的节点 第二个选项是将重复时间模式存储为事件节点的属性。这将大大减少图中的节点数。搜索特定日期或范围内的事件时,可以将满足开始/结束日期(加上任何其他)条件的所有节

我可以想到几种可能的方法来存储和查询Neo4j中的时态数据。查看一个能够搜索重复事件和任何异常的示例,我可以看到两种可能性:

一个简单的选择是为每次事件创建一个节点。虽然很容易构造一个密码查询来查找一天、一个范围内的所有事件,但这可能会创建许多不必要的节点。它还可以使更改单个事件的时间、位置等变得非常容易,因为已经有了一个包含基本信息的节点

第二个选项是将重复时间模式存储为事件节点的属性。这将大大减少图中的节点数。搜索特定日期或范围内的事件时,可以将满足开始/结束日期(加上任何其他)条件的所有节点返回给客户端。然后,它可以归结为迭代结果,以提取出在搜索范围内给出日期的时间模式子集,然后将其与任何异常进行比较,并根据需要合并(或忽略)结果(这可能在将初始结果集作为查询的一部分时部分实现)

虽然第二个选项是我目前选择的,但它似乎效率很低,因为它处理数据两次,尽管第二次处理的子集较小。即使是Neo4j的插件也可能导致两次数据传递,但处理将在数据库服务器上完成,而不是在请求的客户端上完成


我想知道的是,作为初始查询的一部分,是否可以使用Cypher或Neo4j进行此处理?

虽然我不能100%确定我是否理解您的要求,但我想看看这篇博文,也许您会从中得到一些启示: