Фильтровать путь гремлина по метке и свойству - PullRequest
0 голосов
/ 20 февраля 2019

Я хочу найти все переходные отношения (независимо от направления) по количеству прыжков (2) с этим обходом:

g.V(1).repeat(both()).times(2).path()

Результат будет выглядеть примерно так:

==>[v[1], v[2], v[3]]

Если я использую (label ()) в конце пути ():

==>[A, B, C]

Если я использую ('name'):

==>[R2, R1, R3]

Но я не могувыясните, как смешать метку и имя вместе в результате с использованием пути следующим образом:

==>[A.R2, B.R1, C.R3]

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

1 Ответ

0 голосов
/ 20 февраля 2019

В TinkerPop нет поддержки конкатенации строк, но вы можете сделать что-то вроде этого:

g.V(1).
  repeat(both()).
    times(2).
  path().
    by(union(label(), values("name")).fold())
...