У меня есть объект FramedGraph с вершинами разных классов, например Person и Location. Я хотел бы получить все вершины класса «Человек». Вот мой текущий метод.
public List<Person> listPeople() {
List<Person> people = new ArrayList<Person>();
Iterator iterator = g.getVertices().iterator();
while (iterator.hasNext()) {
Vertex v = (Vertex) iterator.next();
Person p = (Person) g.getVertex(v.getId(), Person.class);
people.add(p);
}
return people;
}
Это кажется ужасно неэффективным, так как я перебираю все вершины, а затем возвращаюсь к ним по одной за раз. Я изучил использование синтаксиса Gremlin, но не вижу, как ограничиться классом Frames. Есть ли более эффективный метод извлечения? Спасибо..