Sports Events

80 views
Skip to first unread message

Jason Johnson

unread,
Nov 14, 2013, 12:25:10 PM11/14/13
to sports-sch...@googlegroups.com
Posting Vicki's initial proposal.
 

From: Vicki Tardif Holland
Sent: Tuesday, November 12, 2013 10:31 AM
To: Jason Johnson (BING)
Subject: Schema.org SportsEvent draft

 

Hi Jason,

 

I put together the following schema for SportsEvent. Please comment and let me know if I missed anything or anything is unclear.

 

- Vicki

 

class: Event

   subClass: SportsEvent

       property: governingBody [expectedType: Organization]

       property: startDate [inherited from Event]

       property: endDate [inherited from Event]

       property: location [inherited from Event]

       property: homeTeam [expectedType: SportsTeam or Organization]

       property: awayTeam [expectedType: SportsTeam or Organization]

       property: competitor [expectedType: SportsTeam or Person]

       property: winner [expectedType: SportsTeam or Person]

       property: result [expectedType: SportsResult]

 

       subClass: SportsSeries

           property: subEvent [expectedType: OrderedEvent]

 

       subClass: SportsCompetition

           property: official [expectedType: Person]

 

class: OrderedEvent

   property: position [expectedType: Number]

   property: orderedSubEvent [expectedType: Event]

 

class: SportsResult

   property: resultType [expectedType: SportsResultType]

   property: statistics [expectedType: SportsStatistic]

 

enumeration SportsResultType

   Win

   Draw

   NoContest

   Forfeiture

 

Notes:

·         SportsTeam, Organization, Person, SportsStatistic and SportsResult will need to coordinate with the others who are modeling those classes.

·         Event already has properties for subEvent and superEvent. Should we modify Event to allow for ordered subEvents?

  • For OrderedEvent, I am trying to link a subevent with its position in the series, so I can describe something like game 6 of the World Series.

 


Vicki Tardif Holland | Ontologist | 

Jason Johnson

unread,
Nov 14, 2013, 12:25:48 PM11/14/13
to sports-sch...@googlegroups.com

[re: series] Does this apply to ‘innings’, ‘quarters’, ‘sets (in tennis), etc as well?  Tom proposes the concepts of ‘previousEvent’ and ‘nextEvent’ at the team level, which I think speaks to a team’s ‘schedule of events’.  I think this translates to the idea that a team has a ‘schedule’ property with a type of ‘event’, where that ‘event’ is really a series of events that make up their season’s schedule.   In general, I think

 

[re: governingBody] is this something like ‘organizing body’ that is worthy of bumping up into ‘Event’?  For example, many concerts are organized by charity benefits or conferences by standards bodies.

 

[re: official] – isn’t this just an attendee with a specific role?  I’d like to see what comes out of the SportsPerson work that’s being done?  Is this the only reason for having ‘SportsCompetion’ vs ‘SportsEvent’?

 

[re: home/away] is there a way to make this more generic where it can apply outside of Sports Events as well?  I’m having a hard time thinking of a scenario and don’t want to force it, but curious to know if you had thought about it as well.

 

In the baseball spec, there is reference to a ‘Roster’.  Give that a team’s roster varies based on event, is that something we need to maintain as a property of an event, or do we make the statement that you can define the roster simply be defining the athletes that participated in the event?

 

In the hockey spec, there is an ‘EventStatus’, with examples like ‘postponed’, ‘canceled’, ‘rescheduled’, ‘pre-event’, ‘mid-event’, ‘intermission’.  My gut on this is that concluding status like ‘postponed’ or ‘canceled’ would be a top level value of the ‘SportsResult’, or even more broadly at the ‘Event’ level.  The concept of ‘in progress’ and other real-time status doesn’t yet exist and I’m not sure if we want to model that within the scope of an event – thoughts?

 

In the cricket spec, Tom mentions ‘fixture’ as a property – any idea what that is?

 

In the tennis spec, Jennifer refers to a ‘box score’ – this relates to the [series] item above, but worth calling out again in terms of how granular we want to treat sports events.  For example in Baseball, we have: 2012 Season -> 2012 World Series -> Game 4 -> 5th Inning -> 5th Pitch (think pitchType, pitcher, batter, result (ball, strike, foulball, hit, etc..)

 

In the boxing spec, you mention ‘ScheduledNumberOfRounds’, is that akin to ‘scheduled number of innings’ of a baseball game, and thus more a description of the sport itself?  Or is it something where each event is very unique?  This is also akin to ‘numberOfLaps’ in your ‘Nascar’ spec and similar potentially to ‘coursePar’ (there is also a courseRating / courseSlope).

Tom Grahame

unread,
Nov 15, 2013, 7:11:01 AM11/15/13
to sports-sch...@googlegroups.com
I think this is great work and I've made some comments inline below.

Tom


On 14 November 2013 17:25, Jason Johnson <jasjo...@gmail.com> wrote:

[re: series] Does this apply to ‘innings’, ‘quarters’, ‘sets (in tennis), etc as well?  Tom proposes the concepts of ‘previousEvent’ and ‘nextEvent’ at the team level, which I think speaks to a team’s ‘schedule of events’.  I think this translates to the idea that a team has a ‘schedule’ property with a type of ‘event’, where that ‘event’ is really a series of events that make up their season’s schedule.   In general, I think


It's certainly desirable to know when an entity is appearing next and what happened the last time they appeared, but it may not need an explicit property. Hopefully you can see an example of this in the Google structured data testing tool for the BBC team page for England:
 

 

[re: official] – isn’t this just an attendee with a specific role?  I’d like to see what comes out of the SportsPerson work that’s being done?  Is this the only reason for having ‘SportsCompetion’ vs ‘SportsEvent’?

 
I think this is a person with a role.
 

 

In the cricket spec, Tom mentions ‘fixture’ as a property – any idea what that is?


A 'fixture' is simply a scheduled event that has not occurred yet. I understand that this may be a UK term unknown in North America for example. It's possible that we don't need a special property to denote it and that an appropriate time value will be sufficient to derive the knowledge.

Vicki Tardif Holland

unread,
Nov 15, 2013, 10:26:04 AM11/15/13
to sports-sch...@googlegroups.com
On Thu, Nov 14, 2013 at 12:25 PM, Jason Johnson <jasjo...@gmail.com> wrote:

[re: series] Does this apply to ‘innings’, ‘quarters’, ‘sets (in tennis), etc as well?  Tom proposes the concepts of ‘previousEvent’ and ‘nextEvent’ at the team level, which I think speaks to a team’s ‘schedule of events’.  I think this translates to the idea that a team has a ‘schedule’ property with a type of ‘event’, where that ‘event’ is really a series of events that make up their season’s schedule.   In general, I think


I was thinking of a "Series" more as a tournament. It was the best I could come up with for Major League Baseball's World Series, FIFA World Cup, or the like. I had not imagined it being used for parts of a single game/match.
 

 

[re: governingBody] is this something like ‘organizing body’ that is worthy of bumping up into ‘Event’?  For example, many concerts are organized by charity benefits or conferences by standards bodies.


I like that idea.

 

 

[re: official] – isn’t this just an attendee with a specific role?  I’d like to see what comes out of the SportsPerson work that’s being done?  Is this the only reason for having ‘SportsCompetion’ vs ‘SportsEvent’?


I did not want to go too far down the road of defining people and roles since someone else is covering that. I left it there as a placeholder. Right now, it is the only difference between "SportsCompetition" and "SportsEvent", so we may end up not needing "SportsCompetition".
 

 

[re: home/away] is there a way to make this more generic where it can apply outside of Sports Events as well?  I’m having a hard time thinking of a scenario and don’t want to force it, but curious to know if you had thought about it as well.


I struggled with how to make this more generic, but did not come up with anything I liked that was also easy for authors to understand. I am open to suggestions.

 

 

In the baseball spec, there is reference to a ‘Roster’.  Give that a team’s roster varies based on event, is that something we need to maintain as a property of an event, or do we make the statement that you can define the roster simply be defining the athletes that participated in the event?


I was being vague here as each sport has its own idea of a roster. At this level, I was going with the idea that one would simply list the competitors, but I can imagine a more specialized Roster type that allows for listing position played in the specific game. Perhaps we need a generic SportsRoster as a holder.


 

 

In the hockey spec, there is an ‘EventStatus’, with examples like ‘postponed’, ‘canceled’, ‘rescheduled’, ‘pre-event’, ‘mid-event’, ‘intermission’.  My gut on this is that concluding status like ‘postponed’ or ‘canceled’ would be a top level value of the ‘SportsResult’, or even more broadly at the ‘Event’ level.  The concept of ‘in progress’ and other real-time status doesn’t yet exist and I’m not sure if we want to model that within the scope of an event – thoughts?


Yes, I was going with the most generic status values, figuring we could add per-sport types later. 

InProgress is useful for real-time feeds, but not for static pages.

 

 

In the tennis spec, Jennifer refers to a ‘box score’ – this relates to the [series] item above, but worth calling out again in terms of how granular we want to treat sports events.  For example in Baseball, we have: 2012 Season -> 2012 World Series -> Game 4 -> 5th Inning -> 5th Pitch (think pitchType, pitcher, batter, result (ball, strike, foulball, hit, etc..)


I did not want to get too far down the path of defining stats, particularly for the individual sports as it gets complicated fast. I would like to have a generic schema we can get ratified and then cycle back to hit the individual sports.

 

 

In the boxing spec, you mention ‘ScheduledNumberOfRounds’, is that akin to ‘scheduled number of innings’ of a baseball game, and thus more a description of the sport itself?  Or is it something where each event is very unique?  This is also akin to ‘numberOfLaps’ in your ‘Nascar’ spec and similar potentially to ‘coursePar’ (there is also a courseRating / courseSlope).



Yes, the number of rounds and number of laps can differ between events. 

- Vicki



Paul Kelly

unread,
Nov 15, 2013, 1:38:10 PM11/15/13
to sports-sch...@googlegroups.com
On 2013-11-14, at 12:25 PM, Jason Johnson <jasjo...@gmail.com> wrote:
> In the baseball spec, there is reference to a ‘Roster’. Give that a team’s roster varies based on event, is that something we need to maintain as a property of an event, or do we make the statement that you can define the roster simply be defining the athletes that participated in the event?

The list of players for an event is usually called a "lineup" whereas the entire team (comprised of inactive, injured, suspended players) is generally called "roster". I agree that just the list of participant players serves the lineup requirement, probably also roster in a non-event context.


> In the hockey spec, there is an ‘EventStatus’, with examples like ‘postponed’, ‘canceled’, ‘rescheduled’, ‘pre-event’, ‘mid-event’, ‘intermission’. My gut on this is that concluding status like ‘postponed’ or ‘canceled’ would be a top level value of the ‘SportsResult’, or even more broadly at the ‘Event’ level. The concept of ‘in progress’ and other real-time status doesn’t yet exist and I’m not sure if we want to model that within the scope of an event – thoughts?

I'm OK with splitting these out into general and sport-related.


> In the boxing spec, you mention ‘ScheduledNumberOfRounds’, is that akin to ‘scheduled number of innings’ of a baseball game, and thus more a description of the sport itself? Or is it something where each event is very unique? This is also akin to ‘numberOfLaps’ in your ‘Nascar’ spec and similar potentially to ‘coursePar’ (there is also a courseRating / courseSlope).

Laps and par are probably specific to racing and golf, respectively. SportsML uses the general sub-score and period-value (integer) to cover innings, periods, halves, rounds, heats, etc.

Paul Kelly

unread,
Nov 15, 2013, 1:48:09 PM11/15/13
to sports-sch...@googlegroups.com
On 2013-11-15, at 7:11 AM, Tom Grahame <tfgr...@gmail.com> wrote:
> In the cricket spec, Tom mentions ‘fixture’ as a property – any idea what that is?
>
> A 'fixture' is simply a scheduled event that has not occurred yet. I understand that this may be a UK term unknown in North America for example. It's possible that we don't need a special property to denote it and that an appropriate time value will be sufficient to derive the knowledge.

In SportsMl this is designated with event-status: pre-event or post-event.

Vicki Tardif Holland

unread,
Dec 5, 2013, 10:39:31 AM12/5/13
to sports-sch...@googlegroups.com
Sorry, for the delay. Here is an updated Event schema. I feel like it has gotten a lot simpler with the modifications.


Notes:

  • schema.org/Event already has a “subEvent” property that expects an Event. I am adding OrderedEvent as a way to specify the order of the sub events.

  • schema.org/EventStatus already exists. The listed values are additions.

  • I am trying to figure out the different use cases for “delayed”, “postponed”, and “rescheduled” (the last already exists). Do we need all three?

class: Event

   property: organizingBody [expectedType: Organization]

   subClass: SportsEvent

       property: startDate [inherited from Event]

       property: endDate [inherited from Event]

       property: location [inherited from Event]

       property: homeTeam [expectedType: SportsTeam]

       property: awayTeam [expectedType: SportsTeam]

       property: competitor [expectedType: SportsTeam or SportsPerson]

       property: result [expectedType: SportsResult]


   subClass: OrderedEvent

       property: eventOrderPosition [expectedType: Number]

       property: orderedSubEvent [expectedType: Event]

       property: previousEvent [expecteType: Event]

       property: nextEvent [expectedType: Event]


enumeration: EventStatus

   EventInProgress

   EventDelayed

   EventSuspended

   EventCompleted



Vicki Tardif Holland | Ontologist | vta...@google.com 
 



--
You received this message because you are subscribed to the Google Groups "sports-schema-collab" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sports-schema-co...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply all
Reply to author
Forward
0 new messages