neo4j cypher 将数组/列表转换为字符串

can*_*bax 5 neo4j cypher

我的图中的一种类型的边有一个名为Roles的属性。它是一个字符串数组/列表。它像是["Bill Smoke", "Haskell Moore", "Tadeusz Kesselring", "Nurse Noakes", "Boardman Mephi", "Old Georgie"]

我怎样才能将其转换为字符串?我想加入他们。有了JS,我就可以做到['asd', '1', '2'].join('')。我想要 cypher 中有类似的功能

Inv*_*con 9

APOC 程序支持多种类别的辅助函数,其中包括这一类。

安装后,您可以使用apoc.text.join()来获得所需的结果:

WITH ["Bill Smoke", "Haskell Moore", "Tadeusz Kesselring", "Nurse Noakes", "Boardman Mephi", "Old Georgie"] as list
RETURN apoc.text.join(list, ' ') as string
Run Code Online (Sandbox Code Playgroud)


小智 4

WITH REDUCE(mergedString = "",word IN ["Bill Smoke", "Haskell Moore", "Tadeusz Kesselring", "Nurse Noakes", "Boardman Mephi", "Old Georgie"] | mergedString+word+',') as joinedString
RETURN LEFT(joinedString,SIZE(joinedString)-1)
Run Code Online (Sandbox Code Playgroud)

REDUCE 是您基本上正在寻找的功能。 https://neo4j.com/docs/cypher-manual/current/functions/list/#functions-reduce