Gremlin日期过滤方法

时间:2013-12-13 13:16:19

标签: gremlin titan

无论如何在titan / gremlin中查询日期? 例如查找过去X天的所有结果

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:3)

最好的方法是简单地将日期存储为Long值,并可能在边缘中对此字段进行索引,以便您可以利用limit()interval等。泰坦维基页面上的主题:

https://github.com/thinkaurelius/titan/wiki/Vertex-Centric-Indices

它使用Twitter示例映射到您的特定请求,并在time上进行索引。您可以通过简单计算" X天"的毫秒来找到基于time的结果。回来然后找到之后的所有结果:

g.v(1).outE.has('time',T.gte, fiveDaysAgoInMs).inV

请注意,从Titan 0.4.1开始,您还可以定义索引的方向性,以便首先返回最新项目(无需再对该属性进行反向索引):

https://github.com/thinkaurelius/titan/wiki/Type-Definition-Overview#sortkeytitantype-and-signaturetitantype

此外,如果您不介意进行少量非规范化,除了Long值之外,您还可以将日期存储为可排序的字符串值(例如iso-8601)。这有助于您轻松查看日期,而无需额外转换。