如何把Cypher查询的结果拼接在一起?
我运行了下面的Cypher查询,它输出的是有序的字符串:
match(n:Node)
where n.O127_H6_E2348_69_193637c_0_node is NOT NULL
ORDER BY n.O127_H6_E2348_69_193637c_0_node
MATCH (s:Sequence)
where s.name = n.name
return s.sequence
我想把结果按相同的顺序拼接成一个大的字符串,以便得到完整的序列。是否可以直接在Cypher中实现?
解决方案
是的。例如,使用 , 作为分隔符,你可以将 RETURN 改成如下:
MATCH (n:Node)
WHERE n.O127_H6_E2348_69_193637c_0_node is NOT NULL
ORDER BY n.O127_H6_E2348_69_193637c_0_node
MATCH (s:Sequence)
WHERE s.name = n.name
RETURN
rtrim(reduce(acc = '', seq IN collect(s.sequence) | acc + seq + ','), ',')
AS result
这使用了:
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。