2016-09-21 191 views
0

我有節點,每個節點都有一個表示層次結構的屬性值。層次結構中的層數可能會有所不同,現有節點總是出現在字符串的末尾。分隔符是'/'。Neo4j - 根據屬性值創建新節點和關係的層次結構

一個例子是:

Property1:「/ 3級別/級別2/1級」 Property2:「1級」

所以我的問題是我可以用字符串函數的somekind的創建新節點(如果他們不存在)爲level2,level3,level4等,然後合併級別1 - 級別2,級別2 - 級別3等之間的關係?

回答

3

這是一個簡單的例子,以幫助您:在

enter image description here

WITH split("Level2/Level3/Level4/Level5", "/") AS hierarchy 
UNWIND range(1, size(hierarchy)-1) AS i 
MERGE (l1:Level {name: hierarchy[i-1]}) 
MERGE (l2:Level {name: hierarchy[i]}) 
MERGE (l1)-[:PARENT]->(l2) 

結果