2017-06-07 1 views
0

J'ai ce chemincomment obtenir la liste à partir d'un graphique avec AQL

(user)-[like]->(book) 

Maintenant, je veux obtenir une liste de tous les livres avec tous les utilisateurs qui aimaient un livre

USER   BOOK 
[user, user] book 
[]   book 
[user]  book 

J'ai seulement trouvé des exemples avec un point de départ, mais dans ce cas, il n'y a pas.

Répondre

0

En supposant que vous avez créé une collection de documents book et user et une collection de bord like:

FOR b IN book 
    LET u = (FOR v IN 1 INBOUND b @@edgeCol RETURN v) 
    RETURN { book: b, user : u } 

Le @@edgeCol est un bind parameter et doit contenir le nom de votre collection de bord (dans votre cas like).

Cette requête devrait vous renvoyer un tableau de documents avec le champ book qui inclut votre document livre et un tableau user avec tous les documents utilisateur qui aiment le livre. Si la requête vous renvoie un tableau vide d'utilisateurs pour chaque livre, vous devez probablement changer la direction INBOUND dans la requête à OUTBOUND en fonction de la direction de vos bords.

Pour plus d'informations sur les parcours de graphes dans AQL, consultez le docs.