Passagem de gráfico recursivo Arangodb AQL
Eu tenho um gráfico com três coleções cujos itens podem ser conectados por arestas. ItemA é um pai do item B, que por sua vez é um pai do itemC. Apenas elementos podem ser conectados por arestas na direção
"_from : child, _to : parent"
Atualmente, posso obter apenas resultados "lineares" com esta consulta AQL:
LET contains = (FOR v IN 1..? INBOUND 'collectionA/itemA' GRAPH 'myGraph' RETURN v)
RETURN {
"root": {
"id": "ItemA",
"contains": contains
}
}
E o resultado fica assim:
"root": {
"id": "itemA",
"contains": [
{
"id": "itemB"
},
{
"id": "itemC"
}
]
}
Mas eu preciso obter um resultado "hierárquico" da passagem do gráfico assim:
"root": {
"id": "itemA",
"contains": [
{
"id": "itemB",
"contains": [
{
"id": "itemC"
}
}
]
}
Então, posso obter esse resultado "hierárquico" executando uma consulta aql?
Mais uma coisa: o percurso deve ser executado até que os nós das folhas sejam encontrados. Portanto, a profundidade da travessia é desconhecida antecipadamente.