有没有一个简单的方法来;“打开包装”;Neo4j中的列表?

有没有一个简单的方法来;“打开包装”;Neo4j中的列表?,neo4j,cypher,Neo4j,Cypher,我的Neo4j数据库中有一个string属性,它实际上是一个转换为string的列表(例如“[1,1,3,10]”)。我意识到我可以改变加载程序,使这些单独的字段(例如,elem1=1、elem2=1、elem3=3、elem4=10),但我希望能够重铸已经加载的字段 我可以编写python,但希望有人能用“密码”的方式来实现这一点。使用apoc库最简单。 根据您想要的结果: 收藏 WITH "[1,1,3,10]" AS string UNWIND apoc.convert

我的Neo4j数据库中有一个string属性,它实际上是一个转换为string的列表(例如“[1,1,3,10]”)。我意识到我可以改变加载程序,使这些单独的字段(例如,elem1=1、elem2=1、elem3=3、elem4=10),但我希望能够重铸已经加载的字段


我可以编写python,但希望有人能用“密码”的方式来实现这一点。

使用apoc库最简单。 根据您想要的结果:

收藏

WITH "[1,1,3,10]" AS string
UNWIND apoc.convert.fromJsonList(string) AS elements
RETURN elements
还是地图

WITH "[1,1,3,10]" AS string
WITH apoc.convert.fromJsonList(string) AS collection
RETURN apoc.map.fromPairs(
         REDUCE(arr=[],i IN collection | 
                arr
                +[['elem'+toString(size(arr)),i]]
         )
     ) AS map

更新工作得很好。那很优雅。我不知道你可以这样引用元素!非常感谢。