标签: neo4j cypher
我有节点,每个节点都有一个表示层次结构的属性值。层次结构中的级别数可以变化,现有节点始终显示在字符串的末尾。分隔符是'/'。
一个例子是:
Property1:'/ Level3 / Level2 / Level1' Property2:'Level1'
因此,我的问题是我可以使用某种字符串函数为level2,level3,level4等创建新节点(如果它们不存在),然后合并级别1 - 级别2,级别2 - 级别3等之间的关系?
答案 0 :(得分:3)
这是一个帮助您的简单示例:
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)
结果