Gremlin - получить список вершин, сопоставленных с типом ребра для каждой вершины - PullRequest
0 голосов
/ 11 марта 2020

Я пытаюсь сделать что-то похожее на SQL операцию соединения с Гремлином в Azure Космос.

То, чего я пытаюсь достичь, это что-то вроде этого. Если мы возьмем пример современного графа TinkerPop -

enter image description here

Я хочу получить все вершины, но для каждой вершины также получить карту с ключами, являющимися тип и значение отношения являются массивом вершин этого отношения. Для вершины id:1 это будет:

name: marko
age: 29
relationships: {
    created: [<node id:3>],
    knows: [<node id:2>, <node id:4>]
}

Я не могу понять, как этого достичь, или даже если это можно сделать.

1 Ответ

3 голосов
/ 11 марта 2020

Вы можете использовать project шаг:

g.V().has('name', 'marko').project('name', 'age', 'relationships')
.by(values('name'))
.by(values('age'))
.by(outE().group().by(label()).by(inV().fold()))
...