2015-02-23 159 views
0

我在我的數據庫中有2個層次結構。Neo4j:列出節點標籤

等級1:

公司{名稱: 'ABC',CompanyId:1,} < - 類別< - 子類別< - 服務< - 資產< - 異常

層次2 :

公司{名稱: 'XYZ',CompanyId:21,} < - 類別< - 服務< - 資產< - 異常

在我的層次結構中查詢CompanyId的節點標籤的最佳方法是什麼?我正在尋找在以下格式的輸出:

CompanyId:1

公司 類別 子類別 服務 異常

CompanyId:2

公司 類別 服務 異常

謝謝。

回答

0

假設每個公司層級鏈始於具有標籤Company的公司節點,並始終以及具有Anomaly標籤的節點,您可以追蹤公司層次結構的路徑並返回每個鏈的標籤列表。

match p=(:Company)<-[*]-(:Anomaly) 
with head(nodes(p)) as Company, p 
return Company.CompanyId, reduce(labels = "", n IN nodes(p) | labels + labels(n)[0] + " ") 
+0

使用上面的查詢,得到以下錯誤 - 類型不匹配:預計集但路徑「頭(P)的公司,P」(2號線,11列)。 – kkulkarn 2015-02-23 21:49:45

+0

抱歉,我有點匆忙。 'p'是一個路徑,但'head'需要一個集合。 '節點(p)'返回一個集合。 – 2015-02-23 22:28:30