Допустим, у меня есть два типа вершин: родительские и дочерние. Я хочу иметь возможность запрашивать все родительские вершины и группировать всех дочерних элементов по их связанному родительскому элементу вместе со свойствами для каждого дочернего элемента. Предположим, что у родителей несколько детей, а у детей может быть только 1 родитель. Родитель всегда будет иметь родительскую метку, но у дочерних элементов могут быть разные метки.
Так что прямо сейчас, если я сделаю
g.V().hasLabel('parent').group().by(__.inE().outV()).toList()
Я вернусь:
[{v[Child_A]: [v[Parent_A]], v[Child_B]: [v[Parent_B]]}]
Я хочу противоположную иерархию вместе с картой значений / прогнозируемыми значениями дочернего элемента, например:
[Parent_A: Child_A1: {properties}, Child_A2: {properties}], [Parent_B: Child_B1: {properties]
Использование python gremlin с Нептуном, если это важно.