在密码中迭代计数功能

时间:2017-03-20 07:13:37

标签: cypher

我正在尝试计算具有特定属性键的节点数量 我目前有:

MATCH (a:address) WHERE a.countries = "Austria" RETURN count(a)

计算单个节点。
我想迭代这个大量的属性键列表,例如"奥地利","丹麦","芬兰"无需手动更改每个密钥

我该怎么做?

1 个答案:

答案 0 :(得分:0)

让我们创建一个小示例数据集:

CREATE (:address {name: "Vienna", countries: "Austria"})
CREATE (:address {name: "Salzburg", countries: "Austria"})
CREATE (:address {name: "Munich", countries: "Germany"})

要计算每个国家/地区的address个节点,请使用以下查询:

MATCH (a:address)
RETURN a.countries, count(a)

由于Cypher是一种声明性查询语言,因此您无需迭代结果 - 查询引擎会为您执行此操作。有关详细说明,请查看aggregation上的文档。

返回:

╒═════════════╤══════════╕
│"a.countries"│"count(a)"│
╞═════════════╪══════════╡
│"Austria"    │"2"       │
├─────────────┼──────────┤
│"Germany"    │"1"       │
└─────────────┴──────────┘

注意:我不熟悉您的数据模型,但我认为使用单数country将是属性名称的更好选择。