某些实体类型要求您建立 Feed 中的内容之间的关系。这些信息有助于 Google 向用户显示内容的正确顺序和结构,并在用户查询模糊不清时识别正确的内容。
选择您提供的内容类型:
电视节目
如果您是电视节目提供商,则需要在媒体目录 Feed 中添加 TVEpisode
、TVSeason
和 TVSeries
实体类型。您可以在了解可用的实体类型部分通过过滤这些类型找到这些实体的定义。
确定关系
确保它们之间已建立以下关系:
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
My Favorite TV Show(我最喜欢的电视节目)(第 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
My Favorite TV Show(我喜爱的电视节目)第 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
MusicAlbum
entity contains a list of songs from Album XYZ (a seed entity). - A
MusicPlaylist
entity contains a playlist of songs that are similar to the songs from Album XYZ. - The
MusicAlbum
entity includes theMusicPlaylist
entity 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@id
andname
of itsMusicPlaylist
. - For
MusicAlbum
andMusicRecording
, you need to identify whichMusicGroup
they belong to.- Identify
@id
andname
of itsMusicGroup
. - If you provide an Entity-seeded Action, identify
@id
andname
of itsMusicPlaylist
.
- Identify
- For
MusicPlaylist
,- If applicable, identify
genre
that best represents the content in the playlist. - If the playlist is hand curated, identify
numTracks
.- The absence of
numTracks
tells 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(选举节目指南)。您可以在了解可用的实体类型部分通过过滤这些类型找到这些实体的定义。如需了解详细说明,您可以访问直播电视频道页面。
代表直播电视频道的实体之间的关系
下图显示了 Organization
、BroadcastService
、CableOrSatelliteService
和 TelevisionChannel
实体之间的关系:
- 使用
CableOrSatelliteService
实体上的provider
属性将代表 Feed 提供商的Organization
(运算符)实体与CableOrSatelliteService
服务的父级组织相关联。 - 对应于
BroadcastService
实体的Organization
实体使用BroadcastService
实体上的broadcastAffiliateOf
属性进行连接。 TelevisionChannel
实体使用inBroadcastLineup
属性与CableOrSatelliteService
实体(表示它们所属的频道组)连接。TelevisionChannel
实体使用providesBroadcastService
属性与BroadcastService
实体连接,后者由此频道提供节目编排。
强烈建议您查看直播电视频道概念页面,通过具体示例说明需要如何建立 BroadcastService 和 Organization 实体之间的关系。
频道与其节目指南 (EPG) 之间的关系
下图显示了 BroadcastEvent
实体如何与 Feed 中的其他实体相关联。
- 代表
BroadcastService
的节目指南 (EPG) 的BroadcastEvent
实体使用BroadcastEvent
实体上的publishedOn
属性与BroadcastService
实体相关联。 - 您还可以使用
workPerformed
属性将BroadcastEvent
实体连接到顶级TVEpisode
、TVSeries
和Movie
实体。 - 您还可以使用
broadcastOfEvent
属性将BroadcastEvent
实体连接到顶级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 喜剧 频道有 ExampleTV Movie 节目和 ExTV-Comedy
频道:ExampleTV Movie 节目:
{
"@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"
}
]
}
如需查看更多示例,请参阅体育用品示例部分。