Neo4j Cypher 使用 'and/or' 逻辑运算符从集合中提取数据
Neo4j Cypher extracting data from collection using 'and/or' logical operators
我有一个集合,我需要从每个节点中提取名称和 ID,并将它们 return 放在一起以避免 post 处理。我正在尝试:
extract(c IN nodes(c)| c.name +\': \'+ c.id) as results
问题是当遇到没有名称值的节点时,它不会return任何东西。
有没有像 'and/or' 这样的方法使 c.name 成为可选的,允许它仍然 return c.id 和 c.name 的 NULL?
谢谢
起初我会想到您可以使用 toString
将空值变成空字符串,但这似乎不起作用。不过,coalesce
应该有所帮助:
extract(c IN nodes(c)| coalesce(c.name, '') +\': \'+ c.id) as results
我有一个集合,我需要从每个节点中提取名称和 ID,并将它们 return 放在一起以避免 post 处理。我正在尝试:
extract(c IN nodes(c)| c.name +\': \'+ c.id) as results
问题是当遇到没有名称值的节点时,它不会return任何东西。
有没有像 'and/or' 这样的方法使 c.name 成为可选的,允许它仍然 return c.id 和 c.name 的 NULL?
谢谢
起初我会想到您可以使用 toString
将空值变成空字符串,但这似乎不起作用。不过,coalesce
应该有所帮助:
extract(c IN nodes(c)| coalesce(c.name, '') +\': \'+ c.id) as results