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
。