2012-11-29 73 views
1

我想知道,在Cypher內部是否有辦法獲得某個節點x下游的所有節點的計數。如何獲得Neo4J中某些節點下游的所有節點/邊緣的計數

對於我的特殊用例,我有許多圖形,它們是獨立的實體,但存儲在相同的實例中。我想要找出每個圖的節點和關係數。

我已經有這個了關係 開始R = REL()返回計數(

,這爲節點 開始N =節點()返回計數(

一切在數據庫中。

非常感謝,

埃蒙·

回答

2

如果你有一些「參考」或根節點每個子,您可以使用路徑表達式來查找所有節點:

start root=node:roots(id="xx") 
match root-[*..5]->end 
return count(distinct end) 

這是有道理的,以限制搜索的深度。

+0

限制深度是有意義的,但是我需要整個節點的數量。這雖然回答我的問題,因爲我可以用戶MATCH n - [*] - > m – Eamonn

+0

因此,我的當前結果始終爲1,並且具有以下查詢。選擇root = node(3126349)match root - [*] - > end return count(distinct end) - 任何想法? – Eamonn

+0

當您執行此查詢時,您會得到什麼?選擇root = node(3126349)match p = root - [*] - > end return p – ulkas

1

你必須在索引節點的/ RELS所有的屬性。那麼,你必須從這些指標開始計算,如果必要的話,將它們彙總在一起用於每個圖表。假設我們有2張圖,書籍作者類型和汽車顏色類型。然後得到每個圖中節點的整體總和:

start g1=node:node_auto_index('bookName:*'), g11=node:node_auto_index('authorName:*'), 
     g2=node:node_auto_index('carName:*'), g22=node:node_auto_index('carColor:*') 
return count(g1)+count(g11) as graph1, count(g2)+count(g22) as graph2 

對所有關係都是相似的。我不知道任何密碼解決方案可以簡單地由一個未定義的屬性組成 - 這可以很容易地解決問題。

相關問題