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)

  1. What are Player X’s all-time career stats (Goals, assists, etc.)?
  2. What are Player X’s biographical details (Height, weight, nationality, place and date of birth, etc.)?
  3. Which teams did Player X play for during their career?


  1. What is Team Y’s overall record throughout history (or in a given date range)?
  2. Which championships/competitions has Team Y won throughout history (or in a given date range)?
  3. Which players were on Team Y at a given time (including “right now”)?
  4. 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


  1. What are Player X’s stats for Season Z (Goals, assists, etc.)?


  1. Who plays for Team Y in Season Z (including jersey number, position, etc.)?
  2. What is Team Y’s record so far in Season Z (games played, wins, losses, ties, clean sheets/shutouts, etc.)?
  3. What is Team Y’s record for Season Z broken down into home and away events?
  4. What were the scores for and against for Team Y in Season Z?
  5. How many penalty shots were taken for and allowed against Team Y in Season Z?
  6. What infractions were committed by Team Y in Season Z, broken down by type (yellow/red, fouls, TK, particular for other sports)?


  1. What are the current team standings for Season Z? (Includes games played, wins, losses, ties, etc.)
  2. Who is the current scoring leader for Season Z?
  3. Which players are the top 20 scorers across all teams in Season Z?
  4. What is the full league schedule (including fixtures and results) for Season Z?
  5. What are the teams in a competition or league as of a given date?
  6. Who (players or teams?) are the infractions leaders across Sseason Z?
  7. What is the structure of the competition for Season Z (league competition, regular and post-season, groups/knockout, etc.)?

Event Questions


  1. Was Player X in the starting line up for Team Y at Event E?
  2. Which players scored goals and when at Event E?
  3. How many minutes did Player X play at Event E?
  4. Did Player X score a goal at Event E?
  5. What type of goal was scored by Player X at Event E (Penalty, freekick, power-play, three-pointer, field goal, etc.)?
  6. What method of goal was scored by Player X at Event E (Header, left foot, rush, pass, etc.)?
  7. Did Player X assist a goal at Event E?
  8. Was Player X substituted at Event E, and if so at what time?
  9. Was Player X penalised at Event E and if so when and what for (Includes penalty level: straight red, major, minor, etc.)?


  1. What was the starting lineup for Team Y at Event E? (including positions slated) link to live query
  2. Which team won the game? link to live query
  3. What was the score of the game? link to live query
  4. Who were the substitutes and positions played? (baseball, soccer, American football) link to live query
  5. Who was penalised? link to live query
  6. What are the stats for each team? link to live query


  1. What are the current scores? (Scoreboard) link to live query
  2. What is the current status of an event (pre-, mid-, post-, postponed, suspended, canceled, etc.) link to live query
  3. What was the result the last time these two teams met? Across all competitions this season - More test data needed
  4. Where are today’s matches being played? link to live query
  5. What time does the game begin? link to live query
  6. Who are the referees? link to live query
  7. What was the attendance for this match? link to live query


  1. Show linking from event action to description, article, photo and video.


  1. 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
  2. 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.
  3. 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
  4. 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

  1. 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.
  2. 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”)



  1. Where is player X at time Y during Event E?
  2. Where is the hockey puck at time Y during Event E?


  1. What horse was jockey X riding at Event E?