cómo devolver un subgrafo de gremlin que está en un formato fácilmente consumible para Java

Me siento muy frustrado por cosas muy simples cuando trato de hacer un solo recorrido y traer muchas cosas de DSE Graph 5.0 a la vez usando Gremlin.

En mi caso simplificado tengo:

1 entidad con uuid específicola entidad puede tener cero (ver opcional) o más tiposNecesito poder devolver elentity y eltypes

Lo que tengo hasta ahora que funciona es muy feo :(

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);
}

cada fila de la lista tiene la entidad y uno de los tipos: /

Estoy haciendo todo esto porque Vertex no viene con poblaciónedges() basado en el recorrido en DSE 5.0 Fluent API. Entonces, o estoy atrapado con múltiples recorridos o un solo recorrido enorme y terrible que es muy difícil de deserializar en objetos Java o tengo que pasar consultas gremlin como String pero eso no devolverá objetos Gremlin Vertex sino DSE en su lugar :(

En mi caso menos simplificado, quiero devolver varias entidades de lo anterior con sus respectivos tipos, ¿cómo se puede hacer esto?

Finalmente, ¿cuál es un buen enfoque que conducirá a un código reutilizable para el mapeo de objetos personalizados de una subgrafía con diferentes tipos de objetos?

¡Gracias por adelantado por la ayuda!

Respuestas a la pregunta(1)

Su respuesta a la pregunta