如何将总得分作为neo4j或cypher中两个两个得分值的总和

时间:2018-01-07 09:12:09

标签: neo4j cypher spring-data-neo4j neo4jclient cypher-3.1

我已经尝试了以下查询来获得总分(得分是字符串数组(" 5"," 2"))作为主分数和客场得分游戏的总和

match (e:Epl), (e1:Epl)
where ((e)-[:AWAY]->(e1) or  (e1)-[:HOME]->(e)) and e.home=e1.away
return e.home,e1.away,
sum(toInteger(e.score[0])+ toInteger(e1.score[1])) as totalScore

我确实有两个节点之间的关系,如下所示: enter image description here

我想计算每支球队的总得分(主场得分和得分总和)

1 个答案:

答案 0 :(得分:0)

作为优化(避免创建笛卡尔积),指定-[:AWAY|HOME]-关系非常有用,它允许任意方向的AWAYHOME类型。然后WHERE子句负责检查关系的方向。

match (e:Epl)-[:AWAY|HOME]-(e1:Epl)
where ((e)-[:AWAY]->(e1) or (e1)-[:HOME]->(e))
  and e.home = e1.away
return
  sum(toInteger(e.score[0]) + toInteger(e1.score[1])) as totalScore