如何在 UNWIND 中正确使用 MATCH 进行 Nebula 查询

问题描述 投票:0回答:1

我目前是第一次使用 Nebula 图数据库,并且在查询时遇到了一些问题。就架构而言,我有“Person”节点,它具有“name”属性,以及也具有 name 属性的 Location 节点。这些节点类型可以通过称为 HAS_LIVED 的关系边连接(表示一个人是否曾在某个位置居住过)。现在对于查询,我有一个名称(字符串)列表。查询如下:

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

这应该返回三个地点的列表,即[“伦敦”、“巴黎”、“柏林”]。但是,我从查询中没有得到任何结果。当我摆脱 UNWIND 并为每个名称编写三个单独的 MATCH 查询时,它会单独工作。不知道为什么。

cypher graph-databases nebula-graph
1个回答
0
投票

试试这个。它使用“where”子句。

UNWIND [“Anna”, “Emma”, “Zach”] AS n
MATCH (p:Person)-[:HAS_LIVED]->(loc)
where p.name = n
RETURN loc.Location.name
© www.soinside.com 2019 - 2024. All rights reserved.