Подсчет штатов и городов одним гремлиновым запросом
Я использую orientDb с поддержкой thinkerpop 3, и данные выглядят так:
В одной стране есть несколько штатов, и в этих штатах есть несколько городов (для моего примера одно исключение состоит в том, что не в каждом штате есть города).
Я хотел бы посчитать штаты и города для одного конкретного штата в одном запросе гремлина.
ArrayList list = new ArrayList();
g.V().has("key", GERMANY_KEY)
.repeat(__.in())
.until(__.hasLabel("state"))
.as("states")
.repeat(__.in())
.until(__.hasLabel("city"))
.as("cities")
.select("states", "cities")
.fill(list);
Это то, что я имею, но после этого я не знаю, смогу ли я сосчитать их вместе.
Возможный ответ от этого может быть
Германия имеет 16 государств и 1000 городов.
Это возможно или мне нужно сделать два запроса?
Большое спасибо.
1 ответ
Я нашел решение:
g.V().has("key", GERMAN_KEY)
.repeat(__.in()).emit()
.groupCount().by(__.label())
.forEachRemaining(e -> logger.info("Data: {}", e));