2017-04-05 3 views
0

ich ein Diagramm, wie diese:wie alle Wege zu finden, um mit einem bestimmten Knoten

here is th graph

ich alle Pfade mit einem bestimmten Knoten finden möchte. Wenn zum Beispiel der Knoten "fcproc" angegeben ist, erwarte ich einen Pfad ("itest-> bkqa-> fcproc"); Wenn der Knoten "itest" angegeben wird, erwarte ich 2 Pfade ("itest-> bkqa-> fcproc", "itest-> xmonitor").

Wie schreibe ich die Chiffre?

+0

Klingt wie, wenn Sie "Pfad" sagen, meinen Sie einen Pfad von einem Wurzelknoten zu einem Blattknoten? Oder nur zu dem fraglichen Knoten? Wenn "bkqa" angegeben wird, erwarten Sie einen Pfad von "itest" zu "bkqa" oder bis hinunter zu "fcproc"? – InverseFalcon

+0

Ich meine Pfad von der Wurzel zum Blatt, und alle Wege bestanden den gegebenen Knoten – user2090310

Antwort

1

Unter der Annahme, dass Ihr Zielknoten das Etikett Foo und den name Eigenschaftswert „fcproc“ hat, so etwas wie dies funktionieren soll:

MATCH p=(root)-[*0..]->(:Foo {name: "fcproc"})-[*0..]->(leaf) 
WHERE NOT()-->(root) AND NOT (leaf)-->() 
RETURN p; 

Die mit variabler Länge Beziehung Muster [*0..] Streichhölzer Beziehung Längen von 0 oder mehr (Wobei 0 bedeutet, dass es tatsächlich keine Beziehung gibt und die 2 "Endpunkte" der gleiche Knoten sind. Dies ermöglicht, dass der Zielknoten dem Knoten root oder leaf entspricht.

+0

danke! Es klappt! – user2090310

Verwandte Themen