对于某些实体类型,您需要在 Feed 中的内容之间建立关系。这些信息有助于 Google 向用户显示内容的正确顺序和结构,并在用户的查询含糊不清时识别正确的内容。
选择您提供的内容类型:
电视节目
如果您是电视节目提供商,则需要在媒体目录 Feed 中添加 TVEpisode、TVSeason 和 TVSeries 实体类型。您可以通过在了解可用的实体类型部分中过滤出这些类型,找到这些实体的定义。
确定关系
确保在这些资源之间建立以下关系:
partOfSeries 和 partOfSeason 属性将电视节目实体类型关联在一起。TVEpisode实体需要您提供partOfSeries属性,该属性用于指定剧集的TVSeries实体的@id和name。"partOfSeries": { "@type": "TVSeries", "@id": "http://www.example.com/my_favorite_tv_show", "name": "My Favorite TV Show", },如果您的 Feed 包含电视剧季,则对于
TVSeason实体,您还需要在partOfSeries属性中指定其TVSeries实体。TVEpisode实体需要您提供partOfSeason属性,该属性用于指定剧集的TVSeason实体的@id和seasonNumber。"partOfSeason": { "@type": "TVSeason", "@id": "http://www.example.com/my_favorite_tv_show/s7", "seasonNumber": 7 },如果
TVEpisode实体在 Feed 中没有对应的TVSeason实体,请按以下步骤为TVEpisode实体提供partOfSeason.@id和partOfSeason.seasonNumber属性:- 获取其
partofSeries.@id,并附加占位符查询字段(例如 ?season1),以创建唯一的partOfSeason.@id(例如 http://www.example.com/my_favorite_tv_show?season1)。 - 将
partOfSeason.seasonNumber设置为 1。
TVSeason实体的现有partOfSeason.@id,也可以将此占位符partOfSeason.@id替换为TVSeason实体的实际@id。- 获取其
示例
TVSeries
我最喜欢的电视节目
{
"@context": ["http://schema.org", {"@language": "en"}],
"@type": "TVSeries",
"@id": "http://www.example.com/my_favorite_tv_show",
"url": "http://www.example.com/my_favorite_tv_show",
"name": "My Favorite TV Show",
"potentialAction":{ … },
...
}
TVSeason
我最喜欢的电视节目(第 7 季)
{
"@context": ["http://schema.org", {"@language": "en"}],
"@type": "TVSeason",
"@id": "http://www.example.com/my_favorite_tv_show/s7",
"url": "http://www.example.com/my_favorite_tv_show/s7",
"name": "My Favorite TV Show, Season 7",
"seasonNumber": 7,
"partOfSeries": {
"@type": "TVSeries",
"@id": "http://www.example.com/my_favorite_tv_show",
"name": "My Favorite TV Show",
},
"potentialAction":{ … },
...
}
TVEpisode
我最喜欢的电视节目第 3 集(第 7 季)
{
"@context": ["http://schema.org", {"@language": "en"}],
"@type": "TVEpisode",
"@id": "http://www.example.com/my_favorite_tv_show/s7/e3",
"url": "http://www.example.com/my_favorite_tv_show/s7/e3",
"name": "John Doe returns at night",
"episodeNumber": 3,
"partOfSeason": {
"@type": "TVSeason",
"@id": "http://www.example.com/my_favorite_tv_show/s7",
"seasonNumber": 7
},
"partOfSeries": {
"@type": "TVSeries",
"@id": "http://www.example.com/my_favorite_tv_show",
"name": "My Favorite TV Show",
},
"potentialAction":{ … },
...
}
电台
If you're a radio provider, you need to add the RadioBroadcastService entity type in your media catalog feed. You can find the definitions for these entities in the Understand the available entity types section by filtering for this type.
Identify the relationships
Since there is only one entity type for such integrations, while there are no explicit relationships that need to be established, ensure that you collect the following information for the RadioBroadcastService entities:
description: The description of the radio station.broadcastDisplayName: The display name of the radio station.areaServed: The area where the radio station is available.callSign: The official government-issued callsign of the radio station. For North America radio stations, this property is required.broadcastFrequency: The frequency specification of the radio station.- For terrestrial AM/FM radio stations, this property is required.
- For online streaming-only content, the value is set to
INTERNET_STREAM.
broadcastAffiliateOf: The network of which this radio station provides programming. If the radio station is not part of any affiliation, this property is not required.broadcaster: The organization who owns and operates the radio station.parentService: The parent radio station. If the radio station is a repeater or translator of another radio station, this property is required.
Example
{
"@context": "http://schema.googleapis.com",
"@type": "RadioBroadcastService",
"@id": "https://www.example.com/stations?id=1",
"url": "https://www.example.com/stations?id=1",
"name": "KABC",
"callSign": "KABC-FM",
"broadcastDisplayName": "KABC",
"description": "Local News & Information",
"broadcastFrequency": {
"@type": "BroadcastFrequencySpecification",
"broadcastFrequencyValue": "89.5",
"broadcastSignalModulation": "FM",
"broadcastSubChannel": "HD1"
},
"areaServed": {
"@type": "City",
"name": "San Francisco, CA"
},
"broadcastAffiliateOf": [
{
"@id": "https://www.example.com/networks/xyz",
"@type": "Organization",
"name": "XYZ",
"sameAs": "https://en.wikipedia.org/wiki/XYZ"
},
{
"@id": "https://www.example.com/networks/efg",
"@type": "Organization",
"name": "EFG",
"sameAs": "https://www.example.com/"
}
],
"broadcaster": [
{
"@type": "Organization",
"name": "California Local Public Broadcasting",
"sameAs": "https://www.example.org/w/clpb/"
},
{
"@type": "Organization",
"sameAs": "https://www.example.org/kabc",
"name": "KABC Inc"
}
],
"potentialAction": { … },
…
}
音乐
If you're a music provider, you need to add the MusicGroup, MusicAlbum, and MusicRecording entity types in your media catalog feed. You can find the definitions for these entities in the Understand the available entity types section by filtering for these types.
MusicGroup, MusicAlbum, and MusicRecording let your app or platform play more content from a playlist (MusicPlaylist) once all the content from the seed entity is played. Check out the following scenario:
- A
MusicAlbumentity contains a list of songs from Album XYZ (a seed entity). - A
MusicPlaylistentity contains a playlist of songs that are similar to the songs from Album XYZ. - The
MusicAlbumentity includes theMusicPlaylistentity as an Entity-seeded Action.
In this setup, once all the songs from Album XYZ are played, your app can continue to play songs from the playlist provided by the MusicPlaylist entity.
Entity Action and Entity-seeded Action
Listen Actions support two types of Actions:
- Entity Action: Plays a specific artist, album, or song (a seed entity). It includes
MusicGroup,MusicAlbum,MusicRecording. - Entity-seeded Action: Plays content similar to the seed entity. It includes
MusicPlaylist.- After completing an Entity Action, your app or platform may initiate an Entity-seeded Action.
- An Entity-seeded Action can include playback of the content from the seed entity.
We recommend you include an Entity-seeded Action in every Entity Action.
Identify the relationships
- For
MusicGroup, if you provide an Entity-seeded Action, identify@idandnameof itsMusicPlaylist. - For
MusicAlbumandMusicRecording, you need to identify whichMusicGroupthey belong to.- Identify
@idandnameof itsMusicGroup. - If you provide an Entity-seeded Action, identify
@idandnameof itsMusicPlaylist.
- Identify
- For
MusicPlaylist,- If applicable, identify
genrethat best represents the content in the playlist. - If the playlist is hand curated, identify
numTracks.- The absence of
numTrackstells Google that the playlist is an auto-generated, endless playlist.
- The absence of
- If applicable, identify
Example
MusicGroup
- Artist: My Favorite Artist
{
"@context":"http://schema.googleapis.com/",
"@type":"MusicGroup",
"@id":"http://www.example.com/artist/my_favorite_artist/",
"url":"http://www.example.com/artist/my_favorite_artist/",
"name":"My Favorite Artist",
"potentialAction":{ … },
"subjectOf": {
"@type":"MusicPlaylist",
"@id":"http://www.example.com/artist_mix/my_favorite_artist/",
"url":"http://www.example.com/artist_mix/my_favorite_artist/",
"name":"My Favorite Artist Mix",
"potentialAction":{ … },
},
...
}
MusicAlbum
- Album: My Favorite Album
- Artist: My Favorite Artist
{
"@context":"http://schema.googleapis.com/",
"@type":"MusicAlbum",
"@id":"http://www.example.com/album/my_favorite_album",
"url":"http://www.example.com/album/my_favorite_album",
"name":"My Favorite Album",
"byArtist":{
"@type":"MusicGroup",
"@id": "http://www.example.com/artist/my_favorite_artist/",
"name":"My Favorite Artist"
},
"potentialAction":{ … },
"subjectOf": {
"@type":"MusicPlaylist",
"@id":"http://www.example.com/album_mix/my_favorite_album",
"url":"http://www.example.com/album_mix/my_favorite_album",
"name":"My Favorite Album Mix",
"potentialAction":{ … },
},
...
}
MusicRecording
- Song: My Favorite Song
- Artist: My Favorite Artist
{
"@context":"http://schema.googleapis.com/",
"@type":"MusicRecording",
"@id":"http://www.example.com/track/my_favorite_song",
"url":"http://www.example.com/track/my_favorite_song",
"name":"My Favorite Song",
"byArtist":{
"@type":"MusicGroup",
"@id": "http://www.example.com/artist/my_favorite_artist/",
"name":"My Favorite Artist"
},
"potentialAction":{ … },
"subjectOf": {
"@type":"MusicPlaylist",
"@id":"http://www.example.com/track_mix/my_favorite_song",
"url":"http://www.example.com/track_mix/my_favorite_song",
"name":"My Favorite Song Mix",
"potentialAction":{ … },
},
...
}
MusicPlaylist
- A custom playlist: "Top Pop Songs of the 2010s"
{
"@context":"http://schema.googleapis.com/",
"@type":"MusicPlaylist",
"@id":"http://www.example.com/playlist/top_pop_songs/",
"url":"http://www.example.com/playlist/top_pop_songs/",
"name":"Top Pop Songs of the 2010s",
"genre": [
"pop",
"2010s"
],
"numTracks":"46",
"potentialAction":{ … },
...
}
电视直播
如果您是直播电视提供商,则需要在媒体目录 Feed 中添加 Organization、BroadcastService、CableOrSatelliteService 和 TelevisionChannel 实体类型,以代表您的频道阵容。您可能还需要提供 BroadcastEvent、TVSeries、TVEpisode、Movie 和 SportsEvent 实体来表示关联的 EPG(电子节目单)。您可以前往了解可用的实体类型部分,通过过滤这些类型来查找这些实体的定义。如需了解详细说明,请访问 Live TV 频道页面。
表示直播电视频道的实体之间的关系
下图显示了 Organization、BroadcastService、CableOrSatelliteService 和 TelevisionChannel 实体之间的关系:
- 代表 Feed 提供方以及
CableOrSatelliteService服务的父级组织的Organization(运营商)实体通过CableOrSatelliteService实体的provider属性相关联。 - 与
BroadcastService实体对应的Organization实体使用BroadcastService实体的broadcastAffiliateOf属性进行关联。 TelevisionChannel实体使用inBroadcastLineup属性与CableOrSatelliteService实体(表示它们所属的阵容)连接。TelevisionChannel实体使用providesBroadcastService属性与BroadcastService实体相关联,该实体提供此频道的节目。
强烈建议您查看直播电视频道概念页面,查看有关如何建立 BroadcastService 和 Organization 实体之间关系的具体示例。
频道与其节目指南 (EPG) 之间的关系
下图显示了 BroadcastEvent 实体如何与 Feed 中的其余实体相关联。
BroadcastEvent实体代表BroadcastService的节目单 (EPG),使用BroadcastEvent实体的publishedOn属性与BroadcastService实体相关联。BroadcastEvent实体还可以使用workPerformed属性连接到顶级TVEpisode、TVSeries、Movie实体。BroadcastEvent实体还可以使用broadcastOfEvent属性连接到顶级SportsEvent实体。- 对于在线直播的无频道活动,
BroadcastEvent实体使用workPerformed或broadcastOfEvent属性与代表直播活动的实体相关联,具体取决于正在直播的内容。在这种情况下,由于不需要连接到通道,因此publishedOn属性不是必需的。
示例
以下部分提供了各种观看操作用例的示例和代码段。
互联网上的全国性电视服务提供商
组织
ExampleTV Digital Service (Organization) 是一家虚构的互联网协议电视服务提供商,在互联网上提供直播电视服务,其中包含以下两个频道:ExampleTV-Movie (Organization) 和 ExampleTV-Comedy (Organization):
{
"@context": ["http://schema.org", {"@language": "en"}],
"@type":"Organization",
"@id":"http://example.com/exampletv/digital",
"name":"ExampleTV Digital Service",
"sameAs": "https://en.wikipedia.org/wiki/exampletv_digital_service"
},
{
"@context": ["http://schema.org", {"@language": "en"}],
"@type":"Organization",
"@id":"http://example.com/exampletv/movie",
"name":"ExampleTV Movie",
"sameAs": "https://en.wikipedia.org/wiki/exampletv_movie"
},
{
"@context": ["http://schema.org", {"@language": "en"}],
"@type":"Organization",
"@id":"http://example.com/exampletv/comedy",
"name":"ExampleTV Comedy",
"sameAs": "https://en.wikipedia.org/wiki/exampletv_comedy"
}
BroadcastService
这两个 BroadcastService 实体提供了虚构频道 ExampleTV-Movie 和 ExampleTV-Comedy 的深层链接和访问权限要求的详细信息:
{
"@context": ["http://schema.org", {"@language": "en"}],
"@type":"BroadcastService",
"@id":"https://www.example.com/exampletv/broadcast/movie",
"name": "ExampleTV-Movie",
"alternateName": [
"Example Television Movie",
"Example TV Movie"
],
"description": "A fictional Internet Protocol TV movie channel.",
"broadcastDisplayName":"ExampleTV-Movie",
"broadcastAffiliateOf":{
"@type":"Organization",
"@id":"http://www.example.com/exampletv/movie"
},
"potentialAction": {
"@type": "WatchAction",
"target": {
"@type": "EntryPoint",
"urlTemplate": "http://www.example.com/exampletv/broadcast/movie?autoplay=true",
"inLanguage": "en",
"actionPlatform": [
"http://schema.org/DesktopWebPlatform",
"http://schema.org/MobileWebPlatform",
"http://schema.org/AndroidPlatform",
"http://schema.org/AndroidTVPlatform",
"http://schema.org/IOSPlatform",
"http://schema.googleapis.com/GoogleVideoCast"
]
},
"actionAccessibilityRequirement": {
"@type": "ActionAccessSpecification",
"category": "subscription",
"requiresSubscription": {
"@type": "MediaSubscription",
"@id": "http://www.example.com/exampletv/basic_subscription",
"name": "Basic subscription",
"identifier": "example.com:basic",
"commonTier": true
},
"eligibleRegion": [
{
"@type": "Country",
"name": "US"
}
]
}
},
"identifier": [
{
"@type": "PropertyValue",
"propertyID": "TMS_ID",
"value": "12345"
},
{
"@type": "PropertyValue",
"propertyID": "_PARTNER_ID_",
"value": "exampletv-movie-33345"
}
]
},
{
"@context": ["http://schema.org", {"@language": "en"}],
"@type":"BroadcastService",
"@id":"https://www.example.com/exampletv/broadcast/comedy",
"name": "ExampleTV-Comedy",
"alternateName": [
"Example Television Comedy",
"Example TV Comedy"
],
"description": "A fictional Internet Protocol TV comedy channel.",
"broadcastDisplayName":"ExampleTV-Comedy",
"broadcastAffiliateOf":{
"@type":"Organization",
"@id":"http://www.example.com/exampletv/comedy"
},
"potentialAction": {
"@type": "WatchAction",
"target": {
"@type": "EntryPoint",
"urlTemplate": "http://www.example.com/exampletv/broadcast/comedy?autoplay=true",
"inLanguage": "en",
"actionPlatform": [
"http://schema.org/DesktopWebPlatform",
"http://schema.org/MobileWebPlatform",
"http://schema.org/AndroidPlatform",
"http://schema.org/AndroidTVPlatform",
"http://schema.org/IOSPlatform",
"http://schema.googleapis.com/GoogleVideoCast"
]
},
"actionAccessibilityRequirement": {
"@type": "ActionAccessSpecification",
"category": "subscription",
"requiresSubscription": {
"@type": "MediaSubscription",
"@id": "http://www.example.com/exampletv/basic_subscription",
"name": "Basic subscription",
"identifier": "example.com:basic",
"commonTier": true
},
"eligibleRegion": [
{
"@type": "Country",
"name": "US"
}
]
}
},
"identifier": [
{
"@type": "PropertyValue",
"propertyID": "TMS_ID",
"value": "15555"
},
{
"@type": "PropertyValue",
"propertyID": "_PARTNER_ID_",
"value": "exampletv-comedy-12323"
}
]
}
CableOrSatelliteService
此 CableOrSatelliteService 描述了覆盖全国范围的服务提供商 ExampleTV Digital Service:
{
"@context": ["http://schema.org", {"@language": "en"}],
"@type":"CableOrSatelliteService",
"@id":"http://example.com/example_iptv/us",
"name":"Example TV Digital Service - US",
"provider": {
"@type": "Organization",
"@id": "http://example.com/exampletv/digital",
},
"areaServed":[
{
"@type":"Country",
"name": "US",
}
]
}
TelevisionChannel
以下 TelevisionChannel 实体表明 ExampleTV Digital Service IPTV 在频道 ExTV-Movie 上提供 ExampleTV Movie 节目,在频道 ExTV-Comedy 上提供 ExampleTV Comedy 节目:
{
"@context": ["http://schema.org", {"@language": "en"}],
"@type":"TelevisionChannel",
"@id":"http://example.com/exampletv/extv-movie",
"broadcastChannelId":"ExTV-Movie",
"broadcastServiceTier":"Basic",
"inBroadcastLineup":{
"@type":"CableOrSatelliteService",
"@id":"http://example.com/example_iptv/us"
},
"providesBroadcastService":{
"@type":"BroadcastService",
"@id":"https://www.example.com/exampletv/broadcast/movie"
}
},
{
"@context": ["http://schema.org", {"@language": "en"}],
"@type":"TelevisionChannel",
"@id":"http://example.com/exampletv/extv-comedy",
"broadcastChannelId":"ExTV-Comedy",
"broadcastServiceTier":"Basic",
"inBroadcastLineup":{
"@type":"CableOrSatelliteService",
"@id":"http://example.com/example_iptv/us"
},
"providesBroadcastService":{
"@type":"BroadcastService",
"@id":"https://www.example.com/exampletv/broadcast/comedy"
}
}
如需查看更多示例,请参阅 Live TV 示例部分。
在电视频道上播放电影
某部电影于 2019 年 7 月 12 日下午 5 点至 7 点在电视网络 Example TV (BroadcastService) 上播出。
BroadcastEvent
{
"@context": ["http://schema.org", {"@language": "en"}],
"@type": "BroadcastEvent",
"@id": "http://example.com/live/movie/new_release",
"name": "My Favorite Movie",
"description": "John Doe spent years perfecting his survival skills in a tropical jungle.",
"startDate": "2019-07-12T17:00-08:00",
"endDate": "2019-07-12T19:00-08:00",
"videoFormat": "HD",
"isLiveBroadcast": "False",
"publishedOn": {
"@type": "BroadcastService",
"@id": "http://example.com/stations/example_tv"
},
"workPerformed": {
"@type": "Movie",
"@id": "http://www.example.com/my_favorite_movie"
}
}
BroadcastService
{
"@context": ["http://schema.org", {"@language": "en"}],
"@type":"BroadcastService",
"@id":"http://example.com/stations/example_tv",
"name":"EXAMPLE-TV",
"broadcastDisplayName":"ABCD",
"callSign": "EXA-TV",
"videoFormat":"SD",
"broadcastTimezone":"America/Los_Angeles",
"broadcastAffiliateOf":{
"@type":"Organization",
"@id":"http://example.com/networks/abcd-network",
}
"identifier": [
{
"@type": "PropertyValue",
"propertyID": "TMS_ID",
"value": "12258"
},
{
"@type": "PropertyValue",
"propertyID": "_PARTNER_ID_",
"value": "exampletv-123456"
}
],
"potentialAction": {
"@type": "WatchAction",
"target": {
"@type": "EntryPoint",
"urlTemplate": "http://example.com/livestream",
"actionPlatform": [
"http://schema.org/DesktopWebPlatform",
"http://schema.org/MobileWebPlatform",
"http://schema.org/AndroidPlatform",
"http://schema.org/IOSPlatform",
"http://schema.googleapis.com/GoogleVideoCast",
"http://schema.org/AndroidTVPlatform"
]
},
"actionAccessibilityRequirement": {
"@type": "ActionAccessSpecification",
"category": "externalsubscription",
"availabilityStarts": "2018-07-21T10:35:29Z",
"availabilityEnds": "2019-10-21T10:35:29Z",
"requiresSubscription": {
"@type": "MediaSubscription",
"@id": "http://example.com/subscription",
"name": "ABCD",
"sameAs": "http://example.com/subscription",
"authenticator": {
"@type": "Organization",
"name": "TVE"
}
},
"eligibleRegion": [
{
"@type": "Country",
"name": "US"
}
]
}
}
}
电影
{
"@context": ["http://schema.org", {"@language": "en"}],
"@type": "Movie",
"@id": "http://www.example.com/my_favorite_movie",
"url": "http://www.example.com/my_favorite_movie",
"name": "My Favorite Movie",
"sameAs": "https://en.wikipedia.org/wiki/my_favorite_movie",
"releasedEvent": {
"@type": "PublicationEvent",
"startDate": "2008-01-20",
"location": {
"@type": "Country",
"name": "US"
}
},
"description": "John Doe spent years perfecting his survival skills in a tropical jungle.",
"actor": [
{
"@type": "Person",
"name": "John Doe",
"sameAs": "https://en.wikipedia.org/wiki/John_Doe"
},
{
"@type": "Person",
"name": "Jane Doe",
"sameAs": "https://en.wikipedia.org/wiki/Jane_Doe"
}
],
"identifier": [
{
"@type": "PropertyValue",
"propertyID": "IMDB_ID",
"value": "tt0123456"
}
]
}
如需查看更多示例,请参阅直播电视事件示例部分。
在线直播的体育赛事
广播活动
{
"@context": ["http://schema.org", {"@language": "en"}],
"@type": "BroadcastEvent",
"@id": "http://example.com/live_eevent/basketball/professional/final_game_6",
"name": "2019 Professional Basketball Finals, Game 6: Team A at Team B",
"description": "Game 6 of the 2019 Professional Basketball Finals. Team A leads the series 3-2 against Team B.",
"startDate": "2018-09-16T10:00-08:00",
"endDate": "2018-09-16T13:00-08:00",
"videoFormat": "HD",
"isLiveBroadcast": "False",
"potentialAction": {
"@type": "WatchAction",
"target": {
"@type": "EntryPoint",
"urlTemplate": "http://www.example.com/pbl_semis_game?autoplay=true",
"inLanguage": "en",
"actionPlatform": [
"http://schema.org/DesktopWebPlatform",
"http://schema.org/MobileWebPlatform",
"http://schema.org/AndroidPlatform",
"http://schema.org/AndroidTVPlatform",
"http://schema.org/IOSPlatform",
"http://schema.googleapis.com/GoogleVideoCast"
]
},
"actionAccessibilityRequirement": {
"@type": "ActionAccessSpecification",
"category": "subscription",
"availabilityStarts": "2018-09-16T10:00-08:00",
"availabilityEnds": "2018-09-16T10:00-08:00",
"requiresSubscription": {
"@type": "MediaSubscription",
"name": "Example Package",
"commonTier": true,
"@id": "http://www.example.com/example_package"
},
"eligibleRegion": [
{
"@type": "Country",
"name": "US"
}
]
}
},
"broadcastOfEvent": {
"@type": "SportsEvent",
"@id": "http://example.com/basketball/professional/final_game_6"
}
}
体育赛事
{
"@context": ["http://schema.org", {"@language": "en"}],
"@type":"SportsEvent",
"@id": "http://example.com/basketball/professional/final_game_6",
"name":"2019 Professional Basketball Finals, Game 6: Team A vs Team B",
"sport":"https://en.wikipedia.org/wiki/Basketball",
"description": {
"@language": "en",
"@value": "Game 6 of the 2019 Professional Basketball Finals. Team A leads the series 3-2 against Team B."
},
"startDate": "2019-09-16T10:00-08:00",
"endDate": "2019-09-16T13:00-08:00",
"homeTeam":{
"@type":"SportsTeam",
"name":"Team B",
"sport":"https://en.wikipedia.org/wiki/Basketball",
"parentOrganization":{
"@type":"SportsOrganization",
"name":"Professional Basketball League",
"sameAs":"http://www.example.com/professional_basketball_league"
},
"athlete":[
{
"@type":"Person",
"name":"John doe"
}
]
},
"awayTeam":{
"@type":"SportsTeam",
"name":"Team A",
"sport":"https://en.wikipedia.org/wiki/Basketball",
"athlete":[
{
"@type":"Person",
"name":"Jane Doe"
}
]
},
"location":{
"@type":"Place",
"name":"Example Stadium",
"address":{
"@type":"PostalAddress",
"streetAddress":"1600 Amphitheatre Pkwy",
"addressLocality":"Mountain View",
"addressRegion":"CA",
"postalCode":"94043",
"addressCountry":"US"
}
},
"identifier": [
{
"@type": "PropertyValue",
"propertyID": "TMS_ID",
"value": "TMS ID of this game"
}
]
}
如需查看更多示例,请参阅体育赛事示例部分。