Neo4j 我需要计算具有特定属性的两个节点之间的连接数

Neo4j 我需要计算具有特定属性的两个节点之间的连接数,neo4j,cypher,graph-databases,Neo4j,Cypher,Graph Databases,我的数据库包含有关accademy奖项提名的信息 我想知道有多少导演不止一次获得奥斯卡最佳导演奖 我不能得到我想要的结果,一份提名名单。 我最近的一次查询是: MATCH (n:Nominee)-[n1:NOMINATED]->(c:Category) WHERE c.name="Best Director" AND n1.win=true RETURN count(n1.win), n.name ORDER BY n.name; wich返回导演的姓名以及他们获得奥斯卡奖的次数 我试着

我的数据库包含有关accademy奖项提名的信息

我想知道有多少导演不止一次获得奥斯卡最佳导演奖

我不能得到我想要的结果,一份提名名单。 我最近的一次查询是:

MATCH (n:Nominee)-[n1:NOMINATED]->(c:Category)
WHERE c.name="Best Director" AND n1.win=true
RETURN count(n1.win), n.name
ORDER BY n.name;
wich返回导演的姓名以及他们获得奥斯卡奖的次数

我试着做一些类似的事情

MATCH (n:Nominee)-[n1:NOMINATED]->(c:Category)
WHERE c.name="Best Director" AND n1.win=true AND count(n1.win)>1
RETURN n.name;
但是有个错误说

在此上下文(第行)中无效使用聚合函数计数(…) 2,第50列(偏移量:96)),其中c.name=“最佳导演”和 n1.win=真,计数(n1.win)>1“

有人能帮我吗

用于首先聚合赢款。根据文件:

[…]WITH用于引入聚合,然后可以在WHERE的谓词中使用聚合。这些聚合表达式在结果中创建新绑定。与RETURN一样,WITH还可以使用别名作为绑定名称引入到结果中的别名表达式

这样的查询应该可以工作:

MATCH (n:Nominee)-[n1:NOMINATED]->(c:Category)
WHERE c.name="Best Director" AND n1.win=true
WITH n, count(n1.win) AS winCount
WHERE winCount > 1
RETURN n.name;
另请参见以下文件:

其中,向匹配或可选匹配子句中的模式添加约束,或过滤WITH子句的结果