通过单个Cypher调用返回连接的属性字符串

vvi*_*ton 5 neo4j cypher

我有下一张图:

主题 包含多个故事.主题故事是图形节点,通过Contains关系连接.

每个节点都有属性名称.

我想编写一个Cypher查询,以便从名称中返回连接的字符串.

例如Theme.name ="theme name",Story1.name ="s1 name",Story2.name ="s2 name".查询结果预期:"主题名称s1名称s2名称".

怎么做?

小智 8

你有几个选择,使用REDUCE或apoc.text.join(来自3.x中的apoc程序)

像这样的东西 -

MATCH (t:Theme)-[:Contains]->(s:Story)
RETURN REDUCE(result=t.name, s in collect(s.name) | result+" "+s)
Run Code Online (Sandbox Code Playgroud)

或者使用APOC

MATCH (t:Theme)-[:Contains]->(s:Story)
RETURN apoc.text.join(t.name+collect(s.name)," ")
Run Code Online (Sandbox Code Playgroud)