как искать между несколькими свойствами вершины в гремлине - PullRequest
0 голосов
/ 16 июня 2020

Мне нужно найти транспортное средство между 8.00 и 9.00 относительно метки вершины A

У меня следующий результат [10.00,8.30,v1,v2]

Я пробовал следующий запрос и получил результат выше

g.V().
  hasLabel('A').
  has('time',between(8.00,9.00)).as('z').
  repeat(out().simplePath()).
    until(hasLabel('H')).
  path().
  select('z').
    by(values('vehicle','time').
  fold())

ожидаемый результат [8.30,v2] также помогает мне найти путь между A, C, D, E, G, H. Мне надоел следующий код

g.V().hasLabel('a').repeat(out().simplePath()).until(hasLabel('h')).
     path().by(values('vehicle','time').fold())

мой полученный результат

[[10.00,8.30,v1,v2],[10.30,9.00,9.30,v1,v2,v3],[11.00,9.30,10.00,v1,v2,v3],[1
1.30,10.00,10.30,v1,v2,v3],[12.00,11.00,v1,v3],[12.30,11.30,v1,v3]]

ожидаемый результат

[a:[10.00,v1],c:[11.00,v1],d:[11.30,v1],e:[12.00,v1],g:[12.30,v1],h[1.00,v1]]
[a:[8.30,v2],c:[9.00,v2],d:[9.30,v2],e:[10.00,v2],g:[11.00,v3],h:[11.30,v3]]

Пример графика приведен ниже

...