Je suis nouveau dans les requêtes de traversée ArangoDB et Graph.Dans ArangoDB, comment puis-je construire (projeter) un objet RETURN basé sur les sommets visités lors de la traversée de graphe?
Voici comment mon graphique est actuellement structuré. Chaque sommet aura au moins un attribut (paire clé-valeur). Vous pouvez penser qu'il a un arbre de dépendance. Chaque nœud parent (avec ses propres propriétés) dépend du nœud enfant (avec ses propres propriétés). Il n'y a pas d'héritage juste parent de parent à enfant.
Disons que pour cet exemple:
vertex1 a {key1: valeur1}
vertex2 a {key2: valeur2, key3: value3}
vertex3 a {key4: value4}
vertex4 a {key5: valeur5}
J'ai compris le parcours graphique de base de la documentation mais j'ai une structuration des besoins spécifiques de la structure de l'objet retournâmes sur la base des sommets actuels (visité) à partir de vertex1 jusqu'au maximum.
L'objet RETURN doit avoir la structure suivante: comme vous pouvez le voir lorsque la profondeur du sommet augmente et que l'objet est imbriqué sous le nœud parent.
{
vertex1: {
key1:value1
vertex2: {
key2:value2,
key3:value3,
vertex3: {
key4:value4
}
}
vertex4: {
key5:value5
}
}
}
Je ne peux pas vous demander d'écrire la requête pour moi, mais toute aide est très appréciée et me mettre dans la bonne direction.
Sur la base de ma compréhension actuelle:
FOR v IN 1..2 OUTBOUND 'vertex1' GRAPH 'grapgName'
//I'm guessing I would have to COLLECT and GROUP
//on the existing vertex to projected object structure.
//I just don't know how :(
RETURN returnObj
Laissez-moi savoir si vous avez besoin d'informations supplémentaires
Maintenant que j'y pense .. est-il même possible d'atteindre le résultat ci-dessus avec une seule requête .. est-ce que la prise en charge de récursivité aql? Si non, est-ce logique d'ajouter une logique de récursivité dans le service foxx? – Pramodh
À mon avis, il est logique d'implémenter la récursivité dans un service foxx. – fceller