2017-02-22 3 views
0

Say, je possède un graphique à la relation suivante:Filtrer sur plusieurs trajets

app 
^ 
| 
| 
tomcat < ------------------ 
^      | 
|      | 
|      | 
|      | 
nginx ----> varnish ----> lvs 

Je veux ajouter un filtre sur le bord entre le vernis et lvs. Comment puis je faire ça? Notez que la valeur p.edges [1] .property == n'est pas ce que je veux. Je veux juste filtrer le chemin nginx-> vernis-> lvs-> tomcat et ne veux pas ajouter de filtre au chemin nginx-> tomcat-> app.

+0

Comment vos collections mises en place, sont ces 5 collections distinctes avec des bords entre eux, ou est-ce une collection avec un « vertexType = » vernis "'attribut? Avez-vous un exemple de votre requête? Juste pour donner une idée de la façon d'interroger p.edges et p.vertex. Si vous ne l'avez pas vu, https://docs.arangodb.com/3.0/AQL/Graphs/Traversals.html est un bon exemple de la façon dont les traversées sont effectuées. Si vous mettez à jour votre question avec des informations sur votre requête, je peux vous aider. –

Répondre

0

Sans connaître les détails de votre configuration de collection, je ne peux donner que des conseils approximatifs. Si vous pouviez décrire plus de détails, je peux vous donner une aide plus spécifique.

Qu'est-ce que vous pourriez probablement faire est la condition suivante:

filter !IS_SAME_COLLECTION(p.edges[1]._from) OR p.edges[1].property == value