【问题标题】:Graph data modeling assistance relating to soccer matches与足球比赛相关的图形数据建模辅助
【发布时间】:2023-03-28 06:57:02
【问题描述】:

我正在尝试模拟足球比赛以及参加比赛的裁判和球队。我想根据比赛、裁判和球员创建节点,但不清楚建模它们的最佳方法?那就是我应该模仿城市,比赛吗?我要创建根节点 ID 等吗?

我以后要查找的信息类型如下:

1)。显示特定裁判的所有比赛(可能在多个城市) 2)。显示裁判工作且主队获胜的所有比赛 3)。显示所有主队获胜次数最多的裁判? 4)。显示特定城市中最活跃的裁判

正如您所见,有各种各样的问题,对于新人来说,这可能有点让人不知所措。在阅读一些书籍时,我想看看是否有任何专家可以在上述情况下帮助我。再次不确定我是否需要一个连接所有城市和裁判和比赛的根节点,或者只是保持独立。您的反馈将不胜感激。

【问题讨论】:

    标签: graph neo4j data-modeling neo4jphp


    【解决方案1】:

    目前似乎满足您发布的查询的可能模型之一:

    (团队)-[:PLAYS]->(比赛)

    (比赛)-[:HAS_REFEREE]->(裁判)

    (比赛)-[:PLAYED_IN]->(城市)

    PLAYS 关系可以有一个属性来指示球队是否是主队。您还可以在 PLAYS 关系上使用一个属性来指示该团队是否获胜。或者,如果获胜是您正在寻找的重要部分,您可以创建一个额外的关系,例如 (Team)-[:WON]->(Match)(不过你需要考虑如何为平局建模。比赛中两支球队中的任何一支都没有 WON 关系可能表明可能是平局)。

    1) 特定裁判的所有比赛:从裁判开始,穿过比赛到城市。您可以索引裁判的一些独特属性,以便能够快速查找他

    2) 裁判工作且主队获胜的所有比赛:从裁判开始,查找他的所有比赛,过滤 WON 关系/属性和主队属性

    3)主队胜场数最高的所有裁判:同上,从所有裁判开始

    4)城市最活跃的裁判:从城市开始,查找所有比赛及其裁判

    您可能会根据您想要回答的更多问题(尤其是主队属性、输赢关系或属性等)稍微调整一下。

    而且我认为您根本不需要根节点。如果您想找到所有比赛/城市/裁判等,您可以索引它们

    【讨论】:

      【解决方案2】:

      我做了一些足球/足球比赛的建模,看起来可能很有趣 - http://staging.thinkingingraphs.com/

      与 Luanne 所说的大致相同,尽管我有特定的关系类型表明哪支球队在主场和客场比赛。我一直在写我在这里构建模型时发现的东西 - http://www.markhneedham.com/blog/tag/neo4j/page/2/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-11-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-29
        • 2022-01-12
        • 2022-08-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多