密码:查询以检查节点是否是前 10 个结果的一部分



我正在尝试进行密码查询,该查询执行以下操作

  1. 查找美国前 10 大组织(按收入计算(
  2. 如果组织属于前 10 名,则返回"True",否则返回"False">

我尝试的代码看起来像这样提取前 10 名组织的列表是:

MATCH (org)
WHERE org.revenueCurrency = 'USD'
WITH org as topCompany
ORDER by topCompany.revenue desc LIMIT 10
RETURN topCompany

但是不确定如果一家公司进入前 10 名,如何返回 True 或 False

这是一种方式:

MATCH (org)
WHERE org.revenueCurrency = 'USD'
WITH org
ORDER by org.revenue DESC
WITH COLLECT(org) AS orgs
UNWIND [i IN RANGE(0, SIZE(orgs)-1) | {org: orgs[i], top10: i < 10}] AS result
RETURN result

每个result行的top10属性将是一个布尔值。

[更新]

如果希望每个结果行都是"平面"而不是映射,请使用以下更改后的RETURN子句:

RETURN result.org AS org, result.top10 AS top10

相关内容

最新更新