在 Neo4j 中有一个简单的 "unpack" 列表的方法吗?
Is there a simple way to "unpack" a list in Neo4j?
我的 Neo4j 数据库中有一个字符串属性,它实际上是一个转换为字符串的列表(例如“[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
我的 Neo4j 数据库中有一个字符串属性,它实际上是一个转换为字符串的列表(例如“[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