Могу ли я искать события по времени в neo4j?

Я использую гем neography, размещенный на GrapheneDB.

Мне нужно отправлять повторяющиеся события.

То, что я сделал с моей предыдущей БД, это проверить, если object[:next_occurrence] is < TimeDate.now

Я не понимаю, как я могу выполнить такой поиск ни в neo4j, ни в документации:

  1. https://neo4j.com/developer/guide-sql-to-cypher/#_cypher_is_all_about_patterns
  2. https://github.com/maxdemarzi/neography/wiki/Scripts-and-queries

person Satchel    schedule 03.05.2017    source источник
comment
проверьте это graphaware.com/neo4j/2014/08/20 /graphaware-neo4j-timetree.html   -  person Tomaž Bratanič    schedule 03.05.2017


Ответы (1)


Используя только Cypher, вы можете использовать функцию timestamp() для создания временной метки unix в мс (представляющей текущий момент), которую вы можете сохранить как свойство узлов или отношений.

Это может позволить вам проводить такие сравнения. Итак, если у вас есть узлы со свойствами next_occurrence, и у вас уже есть переменная event, привязанная к определенному узлу, вы можете использовать такой предикат:

...
WHERE event.next_occurrence < timestamp()
...

С индексом на метке/свойстве предикаты такого типа могут использовать индекс для быстрого поиска начальных узлов (все события в прошлом, будущем или в пределах диапазонов).

person InverseFalcon    schedule 03.05.2017