如何在星云查询中正确使用UNWIND中的MATCH



我目前第一次使用星云图形数据库,我遇到了一些查询问题。就模式而言,我有"Person"节点,它有一个"name"属性,还有Location节点,它也有一个name属性。这些节点类型可以通过称为HAS_LIVED的关系边连接起来(表示某人是否曾在某个位置居住过)。现在,对于查询,我有一个名称(字符串)列表。查询如下所示:

UNWIND [“Anna”, “Emma”, “Zach”] AS n
MATCH (p:Person {name: n})-[:HAS_LIVED]->(loc)
RETURN loc.Location.name

这应该返回三个地点的列表,即[" London ", " Paris ", " Berlin "]。然而,我没有得到任何作为查询的结果。当我去掉UNWIND并为每个名称编写三个单独的MATCH查询时,它就可以单独工作了。不知道为什么。

试试这个。它使用"where"条款。

UNWIND [“Anna”, “Emma”, “Zach”] AS n
MATCH (p:Person)-[:HAS_LIVED]->(loc)
where p.name = n
RETURN loc.Location.name

最新更新