Algunos tipos de entidades requieren que establezcas la relación entre el contenido de tu feed. Esta información ayuda a Google a mostrar el orden y la estructura adecuados de tu contenido a los usuarios y a identificar el contenido correcto cuando la búsqueda de un usuario es ambigua.
Selecciona el tipo de contenido que proporcionas:
Programa de TV
Si eres proveedor de programas de TV, debes agregar los tipos de entidades TVEpisode, TVSeason y TVSeries en el feed de tu catálogo de contenido multimedia. Puedes encontrar las definiciones de estas entidades en la sección Información sobre los tipos de entidades disponibles. Para ello, filtra por estos tipos.
Identifica las relaciones
Asegúrate de que se establezcan las siguientes relaciones entre ellos:
partOfSeries y partOfSeason conectan los tipos de entidades de programas de TV.Una entidad
TVEpisoderequiere que proporciones la propiedadpartOfSeries, que especifica el@idy elnamede la entidadTVSeriesdel episodio."partOfSeries": { "@type": "TVSeries", "@id": "http://www.example.com/my_favorite_tv_show", "name": "My Favorite TV Show", },Si tu feed contiene temporadas de TV, una entidad
TVSeasontambién requiere que especifiques su entidadTVSeriesen la propiedadpartOfSeries.TVSeasonUna entidad
TVEpisoderequiere que proporciones la propiedadpartOfSeason, que especifica el@idy elseasonNumberde la entidadTVSeasondel episodio."partOfSeason": { "@type": "TVSeason", "@id": "http://www.example.com/my_favorite_tv_show/s7", "seasonNumber": 7 },Si una entidad
TVEpisodeno tiene una entidadTVSeasoncorrespondiente en el feed, sigue estos pasos para proporcionar las propiedadespartOfSeason.@idypartOfSeason.seasonNumberpara la entidadTVEpisode:- Toma su
partofSeries.@idy adjúntalo a un campo de consulta de marcador de posición (por ejemplo, ?season1) para crear unpartOfSeason.@idúnico (por ejemplo, http://www.example.com/my_favorite_tv_show?season1). - Establece
partOfSeason.seasonNumberen 1.
partOfSeason.@idexistente para la entidadTVSeasoncorrespondiente o reemplazar este marcador de posiciónpartOfSeason.@idpor el@idreal de la entidadTVSeason.- Toma su
Ejemplo
TVSeries
Mi programa de TV favorito
{
"@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
Mi programa de TV favorito (temporada 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
Episodio 3 de Mi programa de TV favorito (temporada 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":{ … },
...
}
Radio
Si eres proveedor de radio, debes agregar el tipo de entidad RadioBroadcastService en el feed de tu catálogo multimedia. Puedes encontrar las definiciones de estas entidades en la sección Información sobre los tipos de entidades disponibles. Para ello, filtra por este tipo.
Identifica las relaciones
Dado que solo hay un tipo de entidad para esas integraciones, y no hay relaciones explícitas que se deban establecer, asegúrate de recopilar la siguiente información para las entidades RadioBroadcastService:
description: Es la descripción de la estación de radio.broadcastDisplayName: Es el nombre visible de la estación de radio.areaServed: Es el área en la que está disponible la estación de radio.callSign: Es la estación de radio de llamada oficial emitida por el Gobierno. Esta propiedad es obligatoria para las estaciones de radio de Norteamérica.broadcastFrequency: Es la especificación de frecuencia de la estación de radio.- Esta propiedad es obligatoria para las estaciones de radio AM/FM terrestres.
- Para el contenido de transmisión en línea, el valor se establece en
INTERNET_STREAM.
broadcastAffiliateOf: Es la cadena de la que esta estación de radio proporciona programación. Si la estación de radio no forma parte de ninguna afiliación, no es necesario completar esta propiedad.broadcaster: Es la organización propietaria y operadora de la estación de radio.parentService: Es la estación de radio superior. Si la estación de radio es un repetidor o traductor de otra estación, esta propiedad es obligatoria.
Ejemplo
{
"@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": { … },
…
}
Música
Si eres proveedor de música, debes agregar los tipos de entidades MusicGroup, MusicAlbum y MusicRecording en el feed de tu catálogo multimedia. Puedes encontrar las definiciones de estas entidades en la sección Información sobre los tipos de entidades disponibles. Para ello, filtra por estos tipos.
MusicGroup, MusicAlbum y MusicRecording permiten que tu app o plataforma reproduzca más contenido de una playlist (MusicPlaylist) una vez que se reproduzca todo el contenido de la entidad inicial. Consulta la siguiente situación:
- Una entidad
MusicAlbumcontiene una lista de canciones del Álbum XYZ (una entidad inicial). - Una entidad
MusicPlaylistcontiene una playlist de canciones similares a las del Álbum XYZ. - La entidad
MusicAlbumincluye la entidadMusicPlaylistcomo una acción propagada por la entidad.
En esta configuración, una vez que se reproduzcan todas las canciones del Álbum XYZ, tu app podrá seguir reproduciendo canciones de la playlist que proporciona la entidad MusicPlaylist.
Acción de entidad y acción propagada por entidad
Las Acciones de escucha admiten dos tipos de Acciones:
- Acción de entidad: Reproduce un artista, un álbum o una canción específicos (una entidad inicial). Incluye
MusicGroup,MusicAlbumyMusicRecording. - Acción basada en entidades: Reproduce contenido similar a la entidad de origen. Incluye
MusicPlaylist.- Después de completar una acción de entidad, tu app o plataforma puede iniciar una acción propagada por la entidad.
- Una acción basada en una entidad puede incluir la reproducción del contenido de la entidad inicial.
Te recomendamos que incluyas una acción propagada por entidad en cada acción de entidad.
Identifica las relaciones
- Para
MusicGroup, si proporcionas una acción propagada por entidades, identifica@idynamede suMusicPlaylist. - Para
MusicAlbumyMusicRecording, debes identificar a quéMusicGrouppertenecen.- Identifica
@idynamede suMusicGroup. - Si proporcionas una acción propagada por entidades, identifica
@idynamede suMusicPlaylist.
- Identifica
- Para
MusicPlaylist,- Si corresponde, identifica el
genreque mejor represente el contenido de la playlist. - Si la playlist se seleccionó de forma manual, identifica
numTracks.- La ausencia de
numTracksle indica a Google que la playlist es una playlist infinita generada automáticamente.
- La ausencia de
- Si corresponde, identifica el
Ejemplo
MusicGroup
- Artista: Mi artista favorito
{
"@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
- Álbum: Mi álbum favorito
- Artista: Mi artista favorito
{
"@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
- Canción: Mi canción favorita
- Artista: Mi artista favorito
{
"@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
- Una playlist personalizada: "Canciones pop más populares de la década de 2010"
{
"@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":{ … },
...
}
TV en vivo
如果您是直播电视提供商,则需要在媒体目录 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"
}
]
}
如需查看更多示例,请参阅体育赛事示例部分。