2017-04-05 77 views
0

我有一個圖是這樣的所有路徑:如何找到一個給定的節點

here is th graph

我想找到一個給定節點的所有路徑。例如,如果給出節點「fcproc」,我希望得到一個路徑(「itest-> bkqa-> fcproc」);如果給出節點「itest」,我希望得到2個路徑(「itest-> bkqa-> fcproc」,「itest-> xmonitor」)。

如何編寫密碼?

+0

聽起來像當你說「路徑」你是指從根節點到葉節點的路徑?或者只是針對有問題的節點?如果給出「bkqa」,你是否期待從「itest」到「bkqa」,或者一直到「fcproc」? – InverseFalcon

+0

我的意思是從根到葉的路徑,並且所有的路徑都通過給定的節點 – user2090310

回答

1

假設你的目標節點的標籤是Fooname屬性值「fcproc」,像這樣應該工作:

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

可變長度關係模式的0以上[*0..]匹配關係長度(其中0表示實際上沒有關係,2個「端點」是相同的節點)。這允許目標節點與節點rootleaf相同。

+0

謝謝!有用! – user2090310

相關問題