Aus Gründen der Klarheit Zweck werden Schritt Namen als Bezeichner verwendetArangoDB - Wie finde ich Knoten, die nicht mit einem bestimmten verknüpft sind?
Ich habe folgendes gerichteten azyklischen Graphen (DAG):
Was ich versuche einen Knoten zu tun ist, zu wählen, und suchen Sie alle anderen Knoten, die nicht verbunden sind direkt an die ausgewählte, nur in einer ausgehenden Richtung.
Zum Beispiel: wenn ich "root step" wähle, sollte meine Abfrage nur "test step 3" zurückgeben, da es die einzige ist, die nicht direkt mit "root step" verbunden ist.
jedoch, wenn ich „Prüfschritt 2“ wählen, sollte es nur return „Prüfschritt 3“, und nicht „Prüfschritt“, weil „Prüfschritt * ist auf dem gleichen Niveau, dass“ Prüfschritt 2" ist
Vorerst ist hier, wie ich tun.
ich speichern, in jedem ‚‘., die Liste der Eltern es als Array (Prüfschritt hat Schritt [ ‚root Schritt‘] usw.)
Meine Abfrage lautet wie folgt (für Testschritt 2 als Beispiel):
FOR v, e IN 0..10 OUTBOUND "steps/test step 2" steps_relations
FILTER e._from != "steps/test step 2"
FILTER e._to != "steps/test step 2"
FILTER v._id != "steps/test step 2"
FILTER ["root step"] NONE IN v.parents
RETURN {id: v._key, name: v.name }
Für jetzt gibt es ein leeres Ergebnis anstelle des erwarteten ("Testschritt 3") zurück. Jede Hilfe wird sehr geschätzt