neo4j中的history属性

时间:2014-10-30 10:05:40

标签: neo4j cypher

我正在阅读基于时间的版本化图表,并且遇到了以下示例:

CREATE (s1:Shop{shop_id:1})
  -[:STATE{from:1388534400000,to:9223372036854775807}]->
  (ss1:ShopState{name:'General Store'})

我的问题:我该如何计算这个日期? from:1388534400000,to:9223372036854775807

2 个答案:

答案 0 :(得分:2)

IIUC to只是Long.MAX_VALUE,而from可以是通过Cypher调用timestamp()函数或将值设置为{{1通过Java API。

请看一下示例:http://console.neo4j.org/?id=43uoyt(请注意,您可以跳过设置System.currentTimeMills()并在查询时使用rel.to

答案 1 :(得分:2)

这两个值是时间戳,在java中是自Epoch(1/1/1970)开始以来的毫秒数。第二个值是最大的Long值,即Java时间的结束,距离很远。

在所有语言中都有一些方法可以为特定日期生成这些值(请注意,有些日期将基于秒),this site上有一个非常方便的列表。

如果您没有使用任何特定的编程语言,只想输入查询,那么您可以使用this one之类的在线日期转换器。

如果您使用Now函数以某种方式处理与timestamp()相关的日期,您还可以计算Cypher中的时间戳:

CREATE (s1:Shop{shop_id:1})
-[:STATE{from:timestamp(),to:9223372036854775807}]->
(ss1:ShopState{name:'General Store'})
相关问题