0
我想把兩個給定節點(下面例子中的藍色和紅色節點)之間的「連通性」的查詢放在一起。Neo4J計算一個節點的「連通性」
如果直接連接到紅色,藍色節點的連通性爲1.0,如果它沒有連接到紅色(直接或傳遞),則連接性爲0.0。
該算法是遞歸的。對於給定的子樹,「連通性」是根據其直接連接節點的平均「連通性」值計算出來的。
您的幫助將不勝感激。另外,如果你能發現算法本身存在明顯的缺陷,我願意提供建議。
我想把兩個給定節點(下面例子中的藍色和紅色節點)之間的「連通性」的查詢放在一起。Neo4J計算一個節點的「連通性」
如果直接連接到紅色,藍色節點的連通性爲1.0,如果它沒有連接到紅色(直接或傳遞),則連接性爲0.0。
該算法是遞歸的。對於給定的子樹,「連通性」是根據其直接連接節點的平均「連通性」值計算出來的。
您的幫助將不勝感激。另外,如果你能發現算法本身存在明顯的缺陷,我願意提供建議。
假設您的開始/結束節點具有標籤Foo
(和id
價值1
和2
,分別),和你的關係是BAR
型的,下面會發現所有路徑的「連通」他們之間:
MATCH p=(:Foo {id:1})-[:BAR*]->(:Foo {id:2})
RETURN
REDUCE(s = 1.0, n IN NODES(p)[0..-1] | s/SIZE((n)-->())) AS connectedness,
p
非常感謝@cybersam - 您的解決方案是非常有幫助的,並且已經向我介紹了一些新的Cypher語法,將在其他查詢證明是有用的太 –