Определить взаимосвязь между типами сущностей

Некоторые типы сущностей требуют, чтобы вы установили связь между содержимым вашего фида. Эта информация помогает Google отображать пользователям правильный порядок и структуру вашего контента, а также идентифицировать правильный контент, когда запрос пользователя неоднозначен.

Выберите тип контента, который вы предоставляете:

Если вы являетесь поставщиком телешоу, вам необходимо добавить типы объектов TVEpisode , TVSeason и TVSeries в фид медиакаталога. Определения этих сущностей можно найти в разделе «Понимание доступных типов сущностей» , отфильтровав эти типы.

Определите отношения

Обеспечить между ними установление следующих отношений:

Рис . : Свойства partOfSeries и partOfSeason соединяют типы сущностей телешоу.
  • Сущность TVEpisode требует, чтобы вы предоставили свойство partOfSeries , которое указывает @id и name сущности TVSeries эпизода.

    "partOfSeries": {
      "@type": "TVSeries",
      "@id": "http://www.example.com/my_favorite_tv_show",
      "name": "My Favorite TV Show",
    },
    
  • Если ваш канал содержит телесезоны, сущность TVSeason также требует, чтобы вы указали ее сущность TVSeries в свойстве partOfSeries .

  • Сущность TVEpisode требует, чтобы вы предоставили свойство partOfSeason , которое определяет @id и seasonNumber сущности TVSeason эпизода.

    "partOfSeason": {
      "@type": "TVSeason",
      "@id": "http://www.example.com/my_favorite_tv_show/s7",
      "seasonNumber": 7
    },
    

    Если у сущности TVEpisode нет соответствующей сущности TVSeason в фиде, выполните следующие действия, чтобы предоставить свойства partOfSeason.@id и partOfSeason.seasonNumber SeasonNumber для сущности TVEpisode :

    • Возьмите его partofSeries.@id и прикрепите поле запроса-заполнителя (например, ? Season1 ), чтобы создать уникальный partOfSeason.@id (например, http://www.example.com/my_favorite_tv_show ? Season1 ).
    • Установите для partOfSeason.seasonNumber . SeasonNumber значение 1.
    Позже, если вы решите предоставить телесезоны в канале, вы можете либо повторно использовать существующий элемент partOfSeason.@id для соответствующей сущности TVSeason , либо заменить этот заполнитель partOfSeason.@id фактическим @id сущности TVSeason .

Пример

Мое любимое телешоу

{
  "@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":{  },
  ...
}

Мое любимое телешоу (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":{  },
  ...
}

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":{  },
  ...
}

Если вы являетесь поставщиком радио, вам необходимо добавить тип сущности 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": {  },
  
}

Если вы являетесь поставщиком музыки, вам необходимо добавить типы объектов MusicGroup , MusicAlbum и MusicRecording в фид медиакаталога. Определения этих сущностей можно найти в разделе «Понимание доступных типов сущностей» , отфильтровав эти типы.

MusicGroup , MusicAlbum и MusicRecording позволяют вашему приложению или платформе воспроизводить больше контента из списка воспроизведения ( MusicPlaylist ), как только будет воспроизведен весь контент из начального объекта . Посмотрите следующий сценарий:

  • Сущность MusicAlbum содержит список песен из альбома XYZ (начальная сущность).
  • Сущность MusicPlaylist содержит список воспроизведения песен, похожих на песни из альбома XYZ .
  • Сущность MusicAlbum включает в себя сущность MusicPlaylist как Action с начальным значением сущности .

В этой настройке после воспроизведения всех песен из альбома XYZ ваше приложение сможет продолжать воспроизводить песни из списка воспроизведения, предоставленного сущностью MusicPlaylist .

Действие сущности и действие с начальным значением сущности

Действия прослушивания поддерживают два типа действий:

  • Действие сущности: воспроизводит определенного исполнителя, альбом или песню (исходную сущность). Он включает в себя MusicGroup , MusicAlbum , MusicRecording .
  • Действие с начальным объектом: воспроизводит контент, аналогичный исходному объекту. Он включает в себя MusicPlaylist .
    • После завершения действия сущности ваше приложение или платформа может инициировать действие, заданное сущностью.
    • Действие с начальным объектом может включать в себя воспроизведение содержимого из начального объекта.

Мы рекомендуем включать действие с начальным значением сущности в каждое действие сущности.

Определите отношения

  • Для MusicGroup , если вы предоставляете Action с начальным значением сущности , укажите @id и name его MusicPlaylist .
  • Для MusicAlbum и MusicRecording вам необходимо определить, к какой MusicGroup они принадлежат.
    • Определите @id и name его MusicGroup .
    • Если вы предоставляете действие с начальным значением сущности, укажите @id и name его MusicPlaylist .
  • Для MusicPlaylist
    • Если применимо, определите genre , который лучше всего представляет содержимое плейлиста.
    • Если список воспроизведения создан вручную, укажите numTracks .
      • Отсутствие numTracks сообщает Google, что список воспроизведения представляет собой автоматически создаваемый бесконечный список воспроизведения.

Пример

  • Исполнитель: Мой любимый артист
{
  "@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":{  },
  },
  ...
}
  • Альбом: Мой любимый альбом
  • Исполнитель: Мой любимый артист
{
  "@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":{  },
  },
  ...
}
  • Песня: Моя любимая песня
  • Исполнитель: Мой любимый артист
{
  "@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":{  },
  },
  ...
}
  • Собственный плейлист: «Лучшие поп-песни 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":{  },
  ...
}

Если вы являетесь поставщиком Live TV, вам необходимо добавить типы объектов Organization , BroadcastService , CableOrSatelliteService и TelevisionChannel в фид вашего медиа-каталога, чтобы представить линейку ваших каналов. Вам также может потребоваться предоставить сущности BroadcastEvent , TVSeries , TVEpisode , Movie и SportsEvent для представления связанного EPG (руководства по электронным программам). Определения этих сущностей можно найти в разделе «Понимание доступных типов сущностей» , отфильтровав эти типы. Для более подробного объяснения вы можете посетить страницу «Прямые телеканалы» .

Отношения между организациями, представляющими каналы Live TV

На рисунке ниже показано, как связаны сущности Organization , BroadcastService , CableOrSatelliteService и TelevisionChannel :

Связи между типами объектов канала Live TV
Рис . : Связи между типами объектов канала Live TV.

  • Сущность Organization (оператора), представляющая поставщика канала, а также родительскую организацию службы CableOrSatelliteService , подключаются с помощью свойства provider сущности CableOrSatelliteService .
  • Сущности Organization , соответствующие объектам BroadcastService , подключаются с помощью свойства broadcastAffiliateOf объекта BroadcastService .
  • Сущности TelevisionChannel соединяются с сущностью CableOrSatelliteService , которая представляет линейку, к которой они принадлежат, с помощью свойства inBroadcastLineup .
  • Сущности TelevisionChannel соединяются с сущностью BroadcastService , программы которой обеспечивает этот канал, с помощью свойства providesBroadcastService .

Настоятельно рекомендуется просмотреть страницу с концепциями каналов Live TV, чтобы найти конкретные примеры того, как необходимо устанавливать отношения между BroadcastService и организациями.

Взаимосвязь между каналами и их программным гидом (EPG)

На рисунке ниже показано, как сущность BroadcastEvent связана с остальными сущностями в канале.

Связи между типами объектов событий Live TV
Рис . : Связи между типами объектов событий Live TV.

  • Сущности BroadcastEvent , представляющие руководство по программированию (EPG) BroadcastService , соединяются с сущностями BroadcastService с помощью publishedOn сущности BroadcastEvent .
  • Сущности BroadcastEvent также можно подключить к сущностям верхнего уровня TVEpisode , TVSeries , Movie с помощью свойства workPerformed .
  • Объекты BroadcastEvent также можно подключить к объектам SportsEvent верхнего уровня с помощью свойства broadcastOfEvent .
  • Для бесканальных событий, транслируемых онлайн, сущности BroadcastEvent соединяются с сущностью, представляющей событие в реальном времени, с помощью свойства workPerformed или broadcastOfEvent в зависимости от того, что транслируется в реальном времени. В таких случаях publishedOn не требуется, поскольку подключение к каналу не требуется.

Примеры

В следующем разделе представлены примеры и фрагменты для различных вариантов использования Watch Action.

Национальный провайдер телевизионных услуг в Интернете

Вымышленный поставщик услуг интернет-телевидения, exampleTV Digital Service ( Organization ), предоставляет услугу Live TV в Интернете, которая содержит следующие два канала: 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 предоставляют подробную информацию о глубоких ссылках и требованиях к доступу для вымышленных каналов 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 описывает поставщика услуг SampleTV 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 указывают, что Цифровая служба SampleTV IPTV имеет программу «ExampleTV Movie» на канале ExTV-Movie и программу «ExampleTV Comedy» на канале ExTV-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» .

Трансляция фильма на телеканале

Фильм транслируется на телеканале Пример ТВ ( BroadcastService ) с 17:00 до 19:00 12 июля 2019 года.

{
  "@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"
  }
}
{
  "@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"
    }
  ]
}

Дополнительные примеры см. в разделе « Примеры событий Live TV» .

Прямая трансляция спортивной игры онлайн


{
  "@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"
    }
  ]
}

Дополнительные примеры см. в разделе «Примеры спорта» .