У меня есть сценарий использования, когда пользователи находятся в иерархии, такой как
user1 --HAS_CHILD -> user2 - HAS_CHILD -> user3 --HAS_CHILD -> user4
Для данного пользователя мне нужно получить все машины, принадлежащие этому пользователю, и все машины, принадлежащие детям этого пользователя,С автомобилями мне нужен пользователь (владелец), а также глубина этого пользователя от данного пользователя.
Пример.Данный пользователь является user2 , затем user3 имеет глубину 1, user4 имеет глубину 2.
Я могу получить информацию об автомобиле и владельца, используя следующий запрос, но как я могу получить childDepth ?.
g.V().has("User", "id", "user2")
.union(
__.out("OWNS").hasLabel("Car"),
__.repeat(
__.out("HAS_CHILD").hasLabel("User")
).emit().out("OWNS").hasLabel("Car")
)
.project("plateNumber", "owner", "model", "year", "childDepth")
.by(__.values("plateNumber").fold())
.by(__.in("OWNS").values("owner").fold())
.by(__.values("model").fold())
.by(__.values("year").fold())
.by(???)