Neo4j-数组列表到数组元素列表

时间:2018-08-29 21:15:03

标签: arrays neo4j properties cypher

我开始学习neo4j,因此我使用了电影示例db。 我的一个查询返回了一个数组列表,我想知道如何查询数组列表作为数组中包含的元素的列表。

我的Cypher请求:(汤姆·汉克斯在电影中的每个电影角色)

    MATCH (:Person {name:"Tom Hanks"}) -[a:ACTED_IN]-> (:Movie) RETURN a.roles;

结果:

  • [“众议员查理·威尔逊”]
  • [“英雄男孩”,“父亲”,“指挥”,“流浪汉”,“史克鲁奇”,“圣诞老人”]
  • [“吉米·杜根”]
  • [“查克·诺兰德”]
  • [“吉姆洛弗尔”]
  • [“ Paul Edgecomb”]
  • [“罗伯特·兰登博士”]
  • [“ Zachry”,“ Henry Goose博士”,“ Isaac Sachs”,“ Dermot Hoggins”]
  • [“怀特先生”]
  • [“乔·班克斯”]
  • [“山姆·鲍德温”]
  • [“乔·福克斯”]

我想要什么:

  • “众议员查理·威尔逊”
  • “英雄男孩”
  • “父亲”
  • “导体”
  • “流浪汉”
  • “杂技演员”
  • “圣诞老人”
  • “吉米·杜根”
  • “查克·诺兰德”
  • “吉姆·洛威尔”
  • “ Paul Edgecomb”
  • “罗伯特·兰登博士”
  • “ Zachry”
  • “亨利·鹅博士”
  • “艾萨克·萨克斯”
  • “德莫特·霍金斯”
  • “怀特先生”
  • “乔·班克斯”
  • “山姆·鲍德温”
  • “乔·福克斯”

或者,如果查询返回一个大数组,例如:

  • [“众议员查理·威尔逊”,“英雄男孩”,“父亲”,“指挥”,“流浪汉”,“史克鲁奇”,“圣诞老人”,“吉米·杜根”,“查克·诺兰德”,“吉姆·洛维尔” “,” Paul Edgecomb“,” Robert Langdon博士“,” Zachry“,” Henry Goose博士“,” Isaac Sachs“,” Dermot Hoggins“,” White先生“,” Joe Banks“,” Sam Baldwin“ ,“乔·福克斯”]

我已经搜索了一段时间,除了编写自定义Java存储过程外没有其他解决方案,我真的希望有一个简单的内置解决方案。

1 个答案:

答案 0 :(得分:2)

这应该有效:

MATCH (:Person {name:"Tom Hanks"})-[a:ACTED_IN]->(:Movie)
UNWIND a.roles AS role
RETURN role;