IPTC Sport Schema Use Cases
To plan and track progress, and to make sure our model solves real-world problems, we are taking a use case-driven approach when designing the IPTC Sport Schema.
The use cases are written as questions. Each use case/question should be answered with a SPARQL query based on our sample triples generated from converted SportsML files.
Implementing all of these use cases, along with the corresponding sample data triples, is a work in progress, but most use cases are now implemented.
All-Time Statistics and Results Questions
Player (also known as Athlete)
- What are Player X’s all-time career stats (Goals, assists, etc.)?
- What are Player X’s biographical details (Height, weight, nationality, place and date of birth, etc.)?
- Which teams did Player X play for during their career?
Team
- What is Team Y’s overall record throughout history (or in a given date range)?
- Which championships/competitions has Team Y won throughout history (or in a given date range)?
- Which players were on Team Y at a given time (including “right now”)?
- Handling teams that move cities and change names - e.g. New Orleans Jazz became Utah Jazz - all players were the same, it was the same legals entity, but the name and home stadium changed. (Not yet handled)
Season Questions
Player
- What are Player X’s stats for Season Z (Goals, assists, etc.)?
Team
- Who plays for Team Y in Season Z (including jersey number, position, etc.)?
- What is Team Y’s record so far in Season Z (games played, wins, losses, ties, clean sheets/shutouts, etc.)?
- What is Team Y’s record for Season Z broken down into home and away events?
- What were the scores for and against for Team Y in Season Z?
- How many penalty shots were taken for and allowed against Team Y in Season Z?
- What infractions were committed by Team Y in Season Z, broken down by type (yellow/red, fouls, TK, particular for other sports)?
League
- What are the current team standings for Season Z? (Includes games played, wins, losses, ties, etc.)
- Who is the current scoring leader for Season Z?
- Which players are the top 20 scorers across all teams in Season Z?
- What is the full league schedule (including fixtures and results) for Season Z?
- What are the teams in a competition or league as of a given date?
- Who (players or teams?) are the infractions leaders across Sseason Z?
- What is the structure of the competition for Season Z (league competition, regular and post-season, groups/knockout, etc.)?
Event Questions
Player
- Was Player X in the starting line up for Team Y at Event E?
- Which players scored goals and when at Event E?
- How many minutes did Player X play at Event E?
- Did Player X score a goal at Event E?
- What type of goal was scored by Player X at Event E (Penalty, freekick, power-play, three-pointer, field goal, etc.)?
- What method of goal was scored by Player X at Event E (Header, left foot, rush, pass, etc.)?
- Did Player X assist a goal at Event E?
- Was Player X substituted at Event E, and if so at what time?
- Was Player X penalised at Event E and if so when and what for (Includes penalty level: straight red, major, minor, etc.)?
Team
- What was the starting lineup for Team Y at Event E? (including positions slated) link to live query
- Which team won the game? link to live query
- What was the score of the game? link to live query
- Who were the substitutes and positions played? (baseball, soccer, American football) link to live query
- Who was penalised? link to live query
- What are the stats for each team? link to live query
League
- What are the current scores? (Scoreboard) link to live query
- What is the current status of an event (pre-, mid-, post-, postponed, suspended, canceled, etc.) link to live query
- What was the result the last time these two teams met? Across all competitions this season - More test data needed
- Where are today’s matches being played? link to live query
- What time does the game begin? link to live query
- Who are the referees? link to live query
- What was the attendance for this match? link to live query
Other
- Show linking from event action to description, article, photo and video.
Corrections
- How does the model cope, if the data supplier makes a mistake and sends through a correction several minutes after the original data was published? + This happens frequently - either a goalscorer was named incorrectly in football or the wrong person was named as a substitute etc
- Eg Harry Kane was named as the goalscorer in the 85th minute of a Spurs v West Ham EPL match + After a VAR review in the 87th minute, a correction is sent through from Opta saying it has been designated an own goal.
- As a Football Editor, I need the data model to cope with multiple corrections to data sent to us from external suppliers, during the course of a match and post match. + So I can ensure we are showing the correct information to users
- Real world example - December 2020 PSG v Istanbul Basaksehir Champions league match was abandoned 14 mins into the match and then rescheduled for the next day: https://www.bbc.co.uk/sport/football/55242656 https://www.bbc.co.uk/sport/football/55219529 The incident happened just 14 minutes into the Group H tie, which was still goalless. The match recommenced from the 14th minute the following day’s kick-off at 17:55 GMT. Opta reused the same match ID (g2170557) over both days with different kick off times, the status moved from mid-event through abandoned then pre-event when rescheduled.
Edge Cases
- Disciplinary action before event started. Real world example - 2017-11-02 Vitória Guimarães v Marseille in Europa League. Evra, starting on the bench for Marseille, received red card ejection before the soccer match started.
- Score recorded after the event concluded. Real world example - 2020-10-26 Brighton and Hove Albion v Manchester United, English Premier League. Bruno Fernandes scored a penalty that was awarded (by the video assistant referee) after the final whistle.
eSports (aka “Competitive Gaming”)
TBC
Positions
- Where is player X at time Y during Event E?
- Where is the hockey puck at time Y during Event E?
Objects
- What horse was jockey X riding at Event E?