2016-09-21 189 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) 

结果