Neo4j 计算每次旅行的关系数

Neo4j 计算每次旅行的关系数,neo4j,cypher,Neo4j,Cypher,我有一个由以下模式组成的图形数据库: (start)-[:Trip]->(end) 我想返回开始和结束节点之间的行程数以及每次不同行程的行程数((开始)-[r]->(结束)) 用Cypher怎么做 这就是我尝试过的: MATCH p=(n)-[r]->() WITH COLLECT(p) as X UNWIND X.r as y return count(y) 更新我的问题 让我们假设 绊倒= 例如: (Tunis)-[r1]->(Sfax) (Tunis)-[r2

我有一个由以下模式组成的图形数据库:

(start)-[:Trip]->(end)
我想返回开始和结束节点之间的行程数以及每次不同行程的行程数((开始)-[r]->(结束))

用Cypher怎么做

这就是我尝试过的:

 MATCH p=(n)-[r]->()
 WITH COLLECT(p) as X
 UNWIND X.r as y
 return count(y)
更新我的问题 让我们假设 绊倒=

例如:

(Tunis)-[r1]->(Sfax)
(Tunis)-[r2]->(Sfax)
(Tunis)-[r3]->(Sousse)
(Tunis)-[r4]->(Sousse)
(Tunis)-[r5]->(Sousse)
=> (突尼斯)和(斯法克斯)之间的旅行次数为2次

(突尼斯)和(苏塞)之间的旅行次数为3次


这就是我想要的。

您只需要使用聚合器操作符
count

MATCH (start)-[:Trip]->(end)
RETURN start, end, count(*)

您只需使用聚合器操作符
count

MATCH (start)-[:Trip]->(end)
RETURN start, end, count(*)

你试过什么了吗?我试过用foreach但对我不起作用你试过什么了吗?我试过用foreach但对meno不起作用,它返回所有行程的计数,我想为每一次不同的旅行计算关系的数量`我想为每一次不同的旅行计算旅行的数量':对我来说,
trip
太多了,你能更清楚地解释一下吗?@A.HADDAD你可能想测试一下,我相信这是正确的。请记住,Neo4j中的聚合使用非聚合变量作为分组键,这为您分组的内容提供了上下文。此查询意味着对于每个不同的开始和结束节点,它将提供出现的次数,因此其中一个结果行将是
Tunis,Sfax,2
。否,返回所有行程的计数,我想为每一次不同的旅行计算关系的数量`我想为每一次不同的旅行计算旅行的数量':对我来说,
trip
太多了,你能更清楚地解释一下吗?@A.HADDAD你可能想测试一下,我相信这是正确的。请记住,Neo4j中的聚合使用非聚合变量作为分组键,这为您分组的内容提供了上下文。此查询意味着对于每个不同的开始和结束节点,它将提供出现的次数,因此其中一个结果行将是
Tunis,Sfax,2