Я пытаюсь получить вершины, соединяющие Запрос вершины с каждой Картой вершины. Отношение карты к запросу - один ко многим (каждая карта имеет много запросов).
Карта может быть подключена к запросу со свойством "Status"
: "In Use"
, если карта используется. Каждая карта также будет связана со многими запросами со свойствами "Status"
: "Future Use"
или "Past Use"
.
Я пытаюсь создать таблицу, в которой отображаются самые последние данные об использовании каждой карты.
Таким образом, я хочу вернуть запрос, если ребро, соединяющее его с картой, имеет свойство "Status"
: "In Use"
.
Если карта в данный момент не используется, я смотрюдля запроса, который последний раз использовал карту ("Status"
: "Past Use"
).
Если карта никогда не использовалась, я ищу ближайший предстоящий запрос, который будет использовать карту ("Status"
:"Future Use"
).
Я пытался использовать coalesce
:
.coalesce(
select('request')
.outE().hasLabel('AssignedTo}').has('Status', 'In Use'),
select('request')
.outE().hasLabel('AssignedTo').has('Status', 'Past Use').order().by('Timestamp', decr).limit(1),
select('request')
.outE().hasLabel('AssignedTo').has('Status', 'Future Use').order().by('Timestamp', incr).limit(1)
).as('status')
Но это возвращает только одну запись (Используется). Другая версия:
.coalesce(
select('card')
.inE().hasLabel('AssignedTo}').has('Status', 'In Use'),
select('card')
.inE().hasLabel('AssignedTo').has('Status', 'Past Use').order().by('Timestamp', decr).limit(1),
select('card')
.inE().hasLabel('AssignedTo').has('Status', 'Future Use').order().by('Timestamp', incr).limit(1)
).as('status')
Это вернуло только две записи (обе в использовании).
Я пытался choose
некоторое время назад и не мог заставить это работать (не помнючто именно произошло).
Ожидается:
Возвращает одну вершину со ребром со свойством "Status"
: "In Use"
.
Если этого ребра не существует, получите самую последнюю вершину, имеющую ребро, со свойством "Status"
: "Past Use"
.
Если нет подходящих ребер, получите самую ближайшую предстоящую вершину, которая имееткрай со свойством "Status"
: "Future Use"
.