2016-02-18 1 views
0

Quelqu'un peut-il me dire comment obtenir tous les nœuds et toutes les arêtes dans une traversée?Orientdb: Traversal ne produisant pas une sortie correcte

Par exemple, si je lance la requête suivante:

select from (TRAVERSE in(), inE() FROM (SELECT FROM Example_Class WHERE @rid = #13:187)) 

le résultat change à chaque fois.

Condition: récupérez tous les nœuds et arêtes non ordonnés d'un nœud spécifique (n ° 13: 187 dans l'exemple ci-dessus).

+0

Bonjour, je ne suis pas sûr de comprendre votre besoin, pourriez-vous ajouter un exemple graphique? tnx –

+0

vous pouvez trouver des informations sur la traversée ici http://orientdb.com/docs/2.1/Java-Traverse.html#traversing-strategies –

+0

Merci Ivan, a résolu le problème de toute façon. –

Répondre

0

Une façon de récupérer les arêtes et les noeuds rencontrés en traversant un graphique à partir d'un nœud particulier, par exemple NODE, utilise la requête:

> traverse outE(), inV() from NODE 

Voici un exemple. Tout d'abord, courons() pour récupérer les nœuds rencontrés (ici le début (# 11: 11) et la fin (# 11: 15)); les lignes résultantes donnent les informations de bord:

> traverse out() from #11:11 

----+------+------+-----+-------+------- 
# |@RID |@CLASS|label|in_E3 |out_E3 
----+------+------+-----+-------+------- 
0 |#11:11|Circle|4 |[#15:2]|[#15:4] 
1 |#11:15|Circle|8 |[#15:4]|null 
----+------+------+-----+-------+------- 

Ici l'image est: (# 11: 11) - [15: 4]> (# 11: 15)

Maintenant, nous allons formuler la requête afin que les lignes du jeu de résultats incluent à la fois les nœuds et les arêtes:

> traverse outE(), inV() from #11:11 

----+------+------+-----+-------+-------+------+------ 
# |@RID |@CLASS|label|in_E3 |out_E3 |in |out 
----+------+------+-----+-------+-------+------+------ 
0 |#11:11|Circle|4 |[#15:2]|[#15:4]|null |null 
1 |#15:4 |E3 |4>8 |null |null |#11:15|#11:11 
2 |#11:15|Circle|8 |[#15:4]|null |null |null 
----+------+------+-----+-------+-------+------+------