В GraphQL на текущий момент невозможно сделать рекурсивное дерево через вложения, даже если мы будет повторять вложения, она в любом случае будет иметь конечное количество элементов, не говоря уже про размер самого запроса (не ответа). Однако всё не так плохо как может показаться, есть решения для этой проблемы:
1. Возвращать плоский массив элементов, соответственно на клиенте можем собрать дерево.
tasks {
_id
name
status
children {
_id
parentId
name
status
}
2. Использовать кастомный скаляр, например JSON. Однако в данном случае мы теряем типизацию схемы, в виду того что в скаляре может находится что угодно.
3. Сделать резолвер, который будет фильтровать элементы по ID их родителя. Однако в данном случае, сервер будет получать много запросов, так как в дереве может находится много элементов.