2017-04-13 1 views
0

Angenommen, das folgende Diagramm: Ich möchte von c durchlaufen, zu allen Knoten, die in der gleichen 'one-direct' Kette mit C (die blauen) gehen.OrientDB SQL-Traverse für Einzel-direkte Kette Knoten

Aber

traverse in(), out() from C 

wird auch F und I (die grünen), die ich nicht will.

Wie kann ich dies mit SQL-Traverse tun?

enter image description here

Antwort

1

Sie können zwei TRAVERSE Anweisungen verwenden und eine UnionAll(), zum Beispiel.

SELECT expand(unionAll($a, $b)) 
LET 
    $a = (traverse out() from C) 
    $b = (traverse in() from C) 
+0

beide "traverse out() von C" und "traverse in() von C" sind nicht leer, aber mit dem obigen Code, orientdb einfach leer zurück, wie kann ich das Problem identifizieren? – Dollyn

+0

Ich habe gerade meine Antwort aktualisiert, wahrscheinlich wird das expand() das Problem beheben. –