Pour certains types d'entités, vous devez établir la relation entre les contenus de votre flux. Ces informations aident Google à afficher la bonne structure et l'ordre appropriés de vos contenus auprès des utilisateurs, et à identifier le bon contenu lorsqu'une requête est ambiguë.
Sélectionnez le type de contenu que vous fournissez:
Série TV
Si vous êtes un fournisseur d'émissions télévisées, vous devez ajouter les types d'entités TVEpisode, TVSeason et TVSeries dans votre flux de catalogue multimédia. Vous trouverez les définitions de ces entités dans la section Comprendre les types d'entités disponibles en filtrant sur ces types.
Identifier les relations
Assurez-vous que les relations suivantes sont établies entre eux:
partOfSeries et partOfSeason associent les types d'entités "Émission TV".Une entité
TVEpisodenécessite que vous fournissiez la propriétépartOfSeries, qui spécifie les@idetnamede l'entitéTVSeriesde l'épisode."partOfSeries": { "@type": "TVSeries", "@id": "http://www.example.com/my_favorite_tv_show", "name": "My Favorite TV Show", },Si votre flux contient des saisons de séries télévisées, une entité
TVSeasonvous oblige également à spécifier son entitéTVSeriesdans la propriétépartOfSeries.Une entité
TVEpisodenécessite que vous fournissiez la propriétépartOfSeason, qui spécifie les@idetseasonNumberde l'entitéTVSeasonde l'épisode."partOfSeason": { "@type": "TVSeason", "@id": "http://www.example.com/my_favorite_tv_show/s7", "seasonNumber": 7 },Si une entité
TVEpisoden'a pas d'entitéTVSeasoncorrespondante dans le flux, procédez comme suit pour fournir les propriétéspartOfSeason.@idetpartOfSeason.seasonNumberpour l'entitéTVEpisode:- Prenez son
partofSeries.@idet joignez un champ de requête d'espace réservé (par exemple, ?season1) pour créer unpartOfSeason.@idunique (par exemple, http://www.example.com/my_favorite_tv_show?season1). - Définissez
partOfSeason.seasonNumbersur 1.
partOfSeason.@idexistant pour l'entitéTVSeasoncorrespondante ou remplacer cet espace réservépartOfSeason.@idpar le@idréel de l'entitéTVSeason.- Prenez son
Exemple
TVSeries
Ma série TV préférée
{
"@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
Ma série TV préférée (saison 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
Épisode 3 de Ma série TV préférée (saison 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
如果您是广播电台提供商,则需要在媒体目录 Feed 中添加 RadioBroadcastService 实体类型。您可以通过在了解可用的实体类型部分中过滤此类型,找到这些实体的定义。
确定关系
由于此类集成只有一种实体类型,并且不需要建立任何显式关系,因此请务必为 RadioBroadcastService 实体收集以下信息:
description:电台的说明。broadcastDisplayName:电台的显示名称。areaServed:电台的服务区域。callSign:政府签发的无线电台官方呼号。对于北美洲的广播电台,此属性为必需属性。broadcastFrequency:电台的频率规范。- 对于地面 AM/FM 电台,此属性为必填属性。
- 对于仅限在线播放的内容,此值设为
INTERNET_STREAM。
broadcastAffiliateOf:此电台提供节目的网络。如果相应电台不属于任何联属机构,则无需此属性。broadcaster:拥有和运营相应电台的组织。parentService:父级电台。如果电台是其他电台的转播器或转换器,则必须提供此属性。
示例
{
"@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": { … },
…
}
Musique
Si vous êtes un fournisseur de musique, vous devez ajouter les types d'entités MusicGroup, MusicAlbum et MusicRecording dans votre flux de catalogue multimédia. Vous trouverez les définitions de ces entités dans la section Comprendre les types d'entités disponibles en filtrant sur ces types.
MusicGroup, MusicAlbum et MusicRecording permettent à votre application ou plate-forme de lire plus de contenus à partir d'une playlist (MusicPlaylist) une fois que tous les contenus de l'entité de départ ont été lus. Voici un scénario:
- Une entité
MusicAlbumcontient une liste de titres de l'album XYZ (une entité de départ). - Une entité
MusicPlaylistcontient une playlist de titres similaires à ceux de l'album XYZ. - L'entité
MusicAlbuminclut l'entitéMusicPlaylisten tant qu'action générée par une entité.
Dans cette configuration, une fois tous les titres de l'album XYZ lus, votre application peut continuer à lire les titres de la playlist fournie par l'entité MusicPlaylist.
Action d'entité et action basée sur une entité
Les actions d'écoute acceptent deux types d'actions:
- Action d'entité: diffuse un artiste, un album ou un titre spécifique (une entité de départ). Cela inclut
MusicGroup,MusicAlbumetMusicRecording. - Action basée sur une entité: diffuse du contenu semblable à l'entité de départ. Il inclut
MusicPlaylist.- Une fois une action d'entité effectuée, votre application ou votre plate-forme peut lancer une action générée par une entité.
- Une action basée sur une entité peut inclure la lecture du contenu de l'entité de départ.
Nous vous recommandons d'inclure une action basée sur une entité dans chaque action d'entité.
Identifier les relations
- Pour
MusicGroup, si vous fournissez une action basée sur une entité, identifiez@idetnamede sonMusicPlaylist. - Pour
MusicAlbumetMusicRecording, vous devez identifier à quelMusicGroupils appartiennent.- Identifiez
@idetnamede sonMusicGroup. - Si vous fournissez une action générée par une entité, identifiez
@idetnamede sonMusicPlaylist.
- Identifiez
- Pour
MusicPlaylist,- Le cas échéant, identifiez l'
genrequi représente le mieux le contenu de la playlist. - Si la playlist est créée manuellement, identifiez
numTracks.- L'absence de
numTracksindique à Google qu'il s'agit d'une playlist infinie générée automatiquement.
- L'absence de
- Le cas échéant, identifiez l'
Exemple
MusicGroup
- Artiste: Mon artiste préféré
{
"@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: Mon album préféré
- Artiste: Mon artiste préféré
{
"@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
- Titre: My Favorite Song
- Artiste: Mon artiste préféré
{
"@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
- Une playlist personnalisée: "Top des titres pop des années 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 direct
如果您是直播电视提供商,则需要在媒体目录 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"
}
]
}
如需查看更多示例,请参阅体育赛事示例部分。