Gremlin - запрос свойств из нескольких сущностей

У меня установлена ​​product вершина и is_duplicate_with ребро между двумя product вершинами. Итак, модель данных выглядит так: product(id=1) -> is_duplicate_with(created_by=abc) -> product(id=2)

Как написать запрос Gremlin, чтобы получить продукт id из исходного продукта, created_by значение из is_duplicate_with edge и продукт id из целевого продукта? В этом примере я хочу получить id = 1, created_by = abc, id = 2.


person coderz    schedule 16.04.2021    source источник


Ответы (1)


Вы можете использовать для этого шаг path.

g.V('1').outE('is_duplicate_with').inV().hasId('2').
  path().
    by(id).
    by('created_by')

Или, если вы не знаете идентификаторы заранее

g.V().outE('is_duplicate_with').inV().
  path().
    by(id).
    by('created_by')

Если вам действительно нужны пары ключ / значение в результате, вы можете сделать что-то вроде этого:

g.V().outE('is_duplicate_with').inV().
  path().
    by(project('id').by(id)).
    by(valueMap('created_by'))
person Kelvin Lawrence    schedule 16.04.2021