как вернуть подграф из gremlin в удобном для Java формате

Я очень разочарован очень простыми вещами, когда я пытаюсь сделать один обход и перенести много вещей из DSE Graph 5.0, используя Gremlin ..

В моем упрощенном случае у меня есть:

1 объект с определенным UUIDсущность может иметь ноль (см. опционально) или несколько типовЯ должен быть в состоянии вернутьentity иtypes

То что у меня пока что работает очень некрасиво sad

List list = g.V().hasLabel("Entity").has("uuid","6708ec6d-4518-4159-9005-9e9d642f157e").as("entity")
        .optional(outE("IsOfType").as("types"))
        .select("entity", "types").toList();
List<Edge> typeEdges = new ArrayList<>();
Vertex entityV = null;
for (Object obj : list) {
    entityV = ((Vertex)((LinkedHashMap) obj).get("entity"));
    Edge typeEdge = ((Edge)((LinkedHashMap) obj).get("types"));
    typeEdges.add(typeEdge);
}

каждая строка в списке имеет сущность и один из типов: /

Я делаю все это, потому что Vertex не поставляется с населениемedges() на основе обхода в DSE 5.0 Fluent API. Так что либо я застрял с несколькими обходами, либо с одним огромным ужасным обходом, который очень трудно десериализовать в объектах Java, или мне нужно передать запросы gremlin как String, но они не будут возвращать объекты Gremlin Vertex, а вместо этого DSE :(

В моем менее упрощенном случае я хочу вернуть несколько вышеупомянутых объектов с их соответствующими типами, как это можно сделать?

Наконец, что является хорошим подходом, который приведет к повторному использованию кода для пользовательского сопоставления объектов подграфа с объектами другого типа?

Заранее спасибо за помощь!

Ответы на вопрос(1)

Ваш ответ на вопрос