Синтаксис Gremlin для запроса Cosmos Db На основе даты - PullRequest
0 голосов
/ 30 октября 2018

Не могли бы вы подсказать мне, как написать гремлиновый запрос, который будет возвращать только проекты, начатые после определенной даты?

Мой первый запрос возвращает все вершины проекта в программе05:

g.V ('program05'). Has ('ключ раздела', 'program05'). Out ('hasprojects')

Я бы хотел отфильтровать его, чтобы он возвращал только те проекты, которые были запущены после '20 / 19/2018 16:37:12 PM ', вершина программы имеет свойство startDate

Я пытался:

gV ('program05'). Has ('ключ ключа', 'program05'). Out ('hasprojects'). Has ('startDate'). Has ('startDate', gt, '20 / 19 / 2018 16:37:12 ')

но я получаю сообщение об ошибке: Невозможно разрешить символ 'lt' в текущем контексте. Я тоже попробовал другие варианты без удачи

1 Ответ

0 голосов
/ 31 октября 2018

Логика предиката ( javadoc ) для строк, кажется, работает на основе значений строки ASCII, поэтому текущее хранение даты в текстовом формате не будет работать месяц за месяцем.

Я бы предложил сохранить это в секундах эпохи, а затем использовать следующий запрос для получения нужных вам данных.

Предполагая, что вы имели в виду дату 2/19/2018 4:37:12 PM

g.V() 
 .has('partitionkey','program05')
 .out('hasprojects')
 .has('startDate',P.gt(1519058232))
...