【发布时间】:2018-11-19 16:02:33
【问题描述】:
所以我有这个图形数据库,它有 20 个名为“Team”的节点中的足球队,唯一的属性是他们的名字和一个确保唯一性的约束。我还在名为“Match”的节点中再次获得了超过 350 场足球比赛,具有日期、团队 1 得分、团队 2 得分等属性。比赛节点的链接方式是,球队 1 是 home_team,球队 2 是 away_team,所以关系是这样的:
MERGE (m)-[:away_team]->(t1)
MERGE (m)-[:away_team]->(t2)
到目前为止,我提到的所有内容都奏效了,但是现在我正在尝试展示一月份获胜次数最多的球队。我设法在每场比赛中与球队一起获得回报,以及他们的结果。看起来是这样的(代码在图片下方)
MATCH (m:Match)-[:home_team]->(home_team:Team), (m:Match)-[:away_team]->(away_team:Team)
WHERE m.date CONTAINS 'Jan'
WITH m as matches, [home_team, away_team] as teams
return teams, collect (matches.home_score) AS home_result, collect (matches.away_score) AS away_result
到达这一点后,我陷入了困境。我不完全确定从这里去哪里。问题是因为一支球队将在一月份进行多场比赛,他们可以是主场也可以是客场,所以他们的结果分布在两列之间,我不完全确定如何提取它并将球队结果与球队名称相关联,然后显示赢得比赛的最高分。任何帮助是极大的赞赏!
附:我是 Cypher/Neo4j 的新手
【问题讨论】: