Проблема
Я выполняю запрос, который находит повторяющиеся вершины по свойству name
. Я хотел бы знать идентификаторы для всех соответствующих вершин.
В настоящее время возвращаются только идентификаторы в предложении where.
Пример графика
Вот пример игрушечного графика. Есть две вершины с одинаковым именем ex
.
==>tinkergraph[vertices:0 edges:0]
gremlin> g = graph.traversal()
==>graphtraversalsource[tinkergraph[vertices:0 edges:0], standard]
gremlin> g.addV('X').property('name', 'ex')
==>v[0]
gremlin> g.addV('Y').property('name', 'why')
==>v[2]
gremlin> g.addV('Y').property('name', 'ex')
==>v[4]
gremlin> g.V().elementMap()
==>[id:0,label:X,name:ex]
==>[id:2,label:Y,name:why]
==>[id:4,label:Y,name:ex]
Обнаружение дубликатов
Когда я нахожу дубликаты и получаю elementMap()
, идентификаторы предназначены только для вершины, сопоставленной в предложение where
.
gremlin> g.V().hasLabel('X').as('x').V().hasLabel('Y').as('y').where('x', P.eq('y')).by('name').elementMap()
==>[id:4,label:Y,name:ex]
В то время как я хотел бы видеть id
для обоих, которые будут id:0
и id:4
, я бы хотел что-то вроде:
==>[[id:0,label:X,name:ex], [id:4,label:Y,name:ex]]