2017-03-03 2 views
-1

COMMENT OBTENIR TOUT LE GRAPH DANS LA BASE DE DONNÉES ARANGO SANS DÉPART NŒUD?COMMENT OBTENIR TOUT LE GRAPH DANS LA BASE DE DONNÉES ARANGO SANS DÉPART NŒUD

Comme dans OrientDB, pour obtenir le All Graph Utilisez uniquement 'Sélectionner la v' image

Jusqu'à présent, je dois utiliser AQL en ArangoDB avec noeud de départ: « pour v, e, p IN 2 QUELQUE 'user/188802' graph 'a' return p '

Et maintenant, je veux obtenir Tout le graphe dans ArangoDB sans démarrer le noeud? donnez-moi le chemin des amis ..! Merci avant !!

Répondre

2

Les graphiques sont un regroupement de collections Edge. Chaque collection Edge fait référence aux documents _from et _to qui sont stockés dans des collections de documents.

Les requêtes de parcours de graphe s'attendent à ce que vous disposiez d'une position de départ et renvoient les résultats pour cette position de départ unique.

Il est possible d'identifier toutes les positions de départ possibles, puis d'exécuter des parcours de graphique sur ces positions.

Vous aurez besoin de connaître les noms des collections de documents qui composent votre graphique, vous pouvez les insérer dans une requête AQL comme ceci:

FOR vertex IN UNION(
     (FOR v IN document_collection_1 RETURN v._id), 
     (FOR v IN document_collection_2 RETURN v._id), 
     (FOR v IN document_collection_3 RETURN v._id) 
    ) 
    FOR v, e IN 1..5 OUTBOUND vertex GRAPH 'my_graph_name' OPTIONS { uniqueVertices: true } 
    RETURN DISTINCT [ 
     { 
      _from: e._from, 
      _to: e._to 
     } 
    ] 

Rappelez-vous que dans ArangoDB il est possible pour un document Si vous souhaitez que la collection soit liée à plusieurs graphiques, vous devez vous assurer d'identifier toutes les collections de documents faisant partie du graphique.

Cette requête extrait ensuite un tableau d'objets contenant tous les liens définis dans le graphique. Cette requête se concentre uniquement sur les sommets avec des arêtes qui font partie du graphe. Si le sommet n'a pas de bord, il n'apparaîtra pas dans la sortie car il ne fait pas partie du graphique.

+0

merci, c'est très utile. –