Một số loại thực thể yêu cầu bạn thiết lập mối quan hệ giữa nội dung trong nguồn cấp dữ liệu. Thông tin này giúp Google hiển thị thứ tự và cấu trúc nội dung phù hợp cho người dùng, đồng thời xác định nội dung chính xác khi cụm từ tìm kiếm của người dùng không rõ ràng.
Chọn loại nội dung mà bạn cung cấp:
Chương trình truyền hình
Nếu là nhà cung cấp chương trình truyền hình, bạn cần thêm các loại thực thể TVEpisode, TVSeason và TVSeries vào nguồn cấp dữ liệu danh mục nội dung nghe nhìn. Bạn có thể tìm thấy định nghĩa cho các thực thể này trong phần Tìm hiểu các loại thực thể hiện có bằng cách lọc theo các loại này.
Xác định mối quan hệ
Đảm bảo thiết lập các mối quan hệ sau đây giữa các thành phần:
partOfSeries và partOfSeason kết nối các loại thực thể chương trình truyền hình với nhau.Thực thể
TVEpisodeyêu cầu bạn cung cấp thuộc tínhpartOfSeries. Thuộc tính này chỉ định@idvànamecủa thực thểTVSeriescủa tập."partOfSeries": { "@type": "TVSeries", "@id": "http://www.example.com/my_favorite_tv_show", "name": "My Favorite TV Show", },Nếu nguồn cấp dữ liệu của bạn chứa các phần của chương trình truyền hình, thì thực thể
TVSeasoncũng yêu cầu bạn chỉ định thực thểTVSeriestrong thuộc tínhpartOfSeries.Thực thể
TVEpisodeyêu cầu bạn cung cấp thuộc tínhpartOfSeason. Thuộc tính này chỉ định@idvàseasonNumbercủa thực thểTVSeasoncủa tập."partOfSeason": { "@type": "TVSeason", "@id": "http://www.example.com/my_favorite_tv_show/s7", "seasonNumber": 7 },Nếu một thực thể
TVEpisodekhông có thực thểTVSeasontương ứng trong nguồn cấp dữ liệu, hãy làm theo các bước sau để cung cấp thuộc tínhpartOfSeason.@idvàpartOfSeason.seasonNumbercho thực thểTVEpisode:- Lấy
partofSeries.@idvà đính kèm trường truy vấn phần giữ chỗ (ví dụ: ?season1) để tạo mộtpartOfSeason.@idduy nhất (ví dụ: http://www.example.com/my_favorite_tv_show?season1). - Đặt
partOfSeason.seasonNumberthành 1.
partOfSeason.@idhiện có cho thực thểTVSeasontương ứng hoặc thay thế phần giữ chỗpartOfSeason.@idnày bằng@idthực tế của thực thểTVSeason.- Lấy
Ví dụ:
TVSeries
Chương trình truyền hình yêu thích của tôi
{
"@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
Chương trình truyền hình yêu thích của tôi (phần 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
Tập 3 của Chương trình truyền hình yêu thích của tôi (phần 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":{ … },
...
}
Đài
Nếu là nhà cung cấp đài phát thanh, bạn cần thêm loại thực thể RadioBroadcastService vào nguồn cấp dữ liệu danh mục nội dung nghe nhìn. Bạn có thể tìm thấy định nghĩa cho các thực thể này trong phần Tìm hiểu các loại thực thể hiện có bằng cách lọc theo loại này.
Xác định mối quan hệ
Vì chỉ có một loại thực thể cho các hoạt động tích hợp như vậy, trong khi không cần thiết lập mối quan hệ rõ ràng, hãy đảm bảo bạn thu thập những thông tin sau đây cho các thực thể RadioBroadcastService:
description: Nội dung mô tả về đài phát thanh.broadcastDisplayName: Tên hiển thị của đài phát thanh.areaServed: Khu vực có đài phát thanh.callSign: Ký hiệu gọi chính thức do chính phủ cấp cho đài phát thanh. Đối với các đài phát thanh ở Bắc Mỹ, thuộc tính này là bắt buộc.broadcastFrequency: Thông số kỹ thuật tần số của đài phát thanh.- Đối với đài phát thanh AM/FM truyền thống, bạn phải cung cấp thuộc tính này.
- Đối với nội dung chỉ phát trực tuyến, giá trị này được đặt thành
INTERNET_STREAM.
broadcastAffiliateOf: Mạng mà đài phát thanh này cung cấp chương trình. Nếu đài phát thanh không thuộc bất kỳ tổ chức liên kết nào, thì bạn không bắt buộc phải thêm thuộc tính này.broadcaster: Tổ chức sở hữu và điều hành đài phát thanh.parentService: Đài phát thanh mẹ. Nếu đài phát thanh là đài phát lại hoặc đài phát sóng của một đài phát thanh khác, thì bạn bắt buộc phải cung cấp thuộc tính này.
Ví dụ:
{
"@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 nhạc
如果您是音乐提供商,则需要在媒体目录 Feed 中添加 MusicGroup、MusicAlbum 和 MusicRecording 实体类型。您可以通过在了解可用的实体类型部分中过滤出这些类型,找到这些实体的定义。
MusicGroup、MusicAlbum 和 MusicRecording 可让您的应用或平台在播放种子实体中的所有内容后,播放播放列表 (MusicPlaylist) 中的更多内容。请查看以下场景:
MusicAlbum实体包含专辑 XYZ(种子实体)中的歌曲列表。MusicPlaylist实体包含与专辑 XYZ 中的歌曲类似的歌曲播放列表。MusicAlbum实体将MusicPlaylist实体作为实体启动的操作包含在内。
在这种设置下,播放 Album XYZ 中的所有歌曲后,您的应用可以继续播放 MusicPlaylist 实体提供的播放列表中的歌曲。
实体操作和实体启动的操作
聆听 Action 支持两种类型的 Action:
- 实体操作:播放特定音乐人、专辑或歌曲(种子实体)。包括
MusicGroup、MusicAlbum、MusicRecording。 - 以实体为种子的 Action:播放与种子实体类似的内容。其中包括
MusicPlaylist。- 完成实体操作后,您的应用或平台可能会发起实体启动的操作。
- 以实体为种子的 Action 可以包含播放种子实体中内容的操作。
我们建议您在每个实体操作中添加实体种子操作。
确定关系
- 对于
MusicGroup,如果您提供实体启动的 Action,请标识其MusicPlaylist的@id和name。 - 对于
MusicAlbum和MusicRecording,您需要确定它们属于哪个MusicGroup。- 确定其
MusicGroup的@id和name。 - 如果您提供的是实体启动的 Action,请指明其
MusicPlaylist的@id和name。
- 确定其
- 对于
MusicPlaylist:- 请指明最能代表播放列表中内容的
genre(如果适用)。 - 如果播放列表是手动挑选的,请标识
numTracks。- 如果没有
numTracks,则表示播放列表是自动生成的无限播放列表。
- 如果没有
- 请指明最能代表播放列表中内容的
示例
MusicGroup
- 音乐人:我最喜欢的音乐人
{
"@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
- 专辑:我最喜欢的专辑
- 音乐人:我最喜欢的音乐人
{
"@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
- 歌曲:我喜爱的歌曲
- 音乐人:我最喜欢的音乐人
{
"@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
- 自定义播放列表:“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":{ … },
...
}
Truyền hình trực tuyến
Nếu là nhà cung cấp nội dung truyền hình trực tiếp, bạn cần thêm các loại thực thể Organization, BroadcastService, CableOrSatelliteService và TelevisionChannel vào nguồn cấp dữ liệu danh mục nội dung nghe nhìn để thể hiện danh sách chương trình của kênh. Bạn cũng có thể cần cung cấp các thực thể BroadcastEvent, TVSeries, TVEpisode, Movie và SportsEvent để biểu thị EPG (hướng dẫn chương trình điện tử) được liên kết. Bạn có thể tìm thấy định nghĩa cho các thực thể này trong phần Tìm hiểu các loại thực thể hiện có bằng cách lọc theo các loại này. Để biết thêm thông tin giải thích chi tiết, bạn có thể truy cập vào trang Kênh truyền hình trực tiếp.
Mối quan hệ giữa các thực thể đại diện cho kênh Truyền hình trực tiếp
Hình dưới đây cho thấy mối quan hệ giữa các thực thể Organization, BroadcastService, CableOrSatelliteService và TelevisionChannel:
- Thực thể
Organization(toán tử) đại diện cho nhà cung cấp nguồn cấp dữ liệu và cũng là tổ chức mẹ của dịch vụCableOrSatelliteServiceđược kết nối bằng thuộc tínhprovidertrên thực thểCableOrSatelliteService. - Các thực thể
Organizationtương ứng với các thực thểBroadcastServiceđược kết nối bằng thuộc tínhbroadcastAffiliateOftrên thực thểBroadcastService. - Các thực thể
TelevisionChannelkết nối với thực thểCableOrSatelliteService, đại diện cho đội hình mà các thực thể đó thuộc về, bằng cách sử dụng thuộc tínhinBroadcastLineup. - Các thực thể
TelevisionChannelkết nối với thực thểBroadcastService(có chương trình do kênh này cung cấp) bằng cách sử dụng thuộc tínhprovidesBroadcastService.
Bạn nên tham khảo trang khái niệm về Kênh truyền hình trực tiếp để xem các ví dụ cụ thể về cách thiết lập mối quan hệ giữa các thực thể BroadcastService và Organization.
Mối quan hệ giữa các kênh và hướng dẫn chương trình (EPG) của kênh
Hình dưới đây cho thấy cách thực thể BroadcastEvent liên kết với các thực thể còn lại trong nguồn cấp dữ liệu.
- Các thực thể
BroadcastEvent, đại diện cho hướng dẫn lập trình (EPG) củaBroadcastService, được kết nối với các thực thểBroadcastServicebằng cách sử dụng thuộc tínhpublishedOntrên thực thểBroadcastEvent. - Bạn cũng có thể kết nối các thực thể
BroadcastEventvới các thực thểTVEpisode,TVSeries,Moviecấp cao nhất bằng thuộc tínhworkPerformed. - Bạn cũng có thể kết nối các thực thể
BroadcastEventvới các thực thểSportsEventcấp cao nhất bằng thuộc tínhbroadcastOfEvent. - Đối với các sự kiện không có kênh được phát trực tuyến, các thực thể
BroadcastEventsẽ kết nối với thực thể đại diện cho sự kiện phát trực tiếp bằng cách sử dụng thuộc tínhworkPerformedhoặcbroadcastOfEventtuỳ thuộc vào nội dung đang được phát trực tiếp. Trong những trường hợp như vậy, bạn không bắt buộc phải sử dụng thuộc tínhpublishedOnvì không cần kết nối với kênh.
Ví dụ
Phần sau đây cung cấp ví dụ và đoạn mã cho nhiều trường hợp sử dụng Hành động trong video.
Nhà cung cấp dịch vụ truyền hình quốc gia trên Internet
Tổ chức
Một nhà cung cấp dịch vụ truyền hình qua giao thức Internet (IPTV) hư cấu, Dịch vụ kỹ thuật số ExampleTV (Organization), cung cấp dịch vụ Truyền hình trực tiếp trên Internet, trong đó có hai kênh sau: ExampleTV-Movie (Organization) và 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
Hai thực thể BroadcastService này cung cấp thông tin chi tiết về đường liên kết sâu và yêu cầu truy cập cho các kênh hư cấu ExampleTV-Movie và 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 này mô tả nhà cung cấp dịch vụ Dịch vụ kỹ thuật số ExampleTV có phạm vi cung cấp trên toàn quốc:
{
"@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
Các thực thể TelevisionChannel này cho biết rằng IPTV Dịch vụ kỹ thuật số ExampleTV có chương trình Phim ExampleTV trên kênh ExTV-Movie và chương trình Hài ExampleTV trên kênh 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"
}
}
Hãy xem phần Ví dụ về truyền hình trực tiếp để biết thêm ví dụ.
Phát sóng một bộ phim trên kênh truyền hình
Một bộ phim được phát sóng trên mạng truyền hình Example TV (BroadcastService) từ 5 giờ chiều đến 7 giờ tối vào ngày 12 tháng 7 năm 2019.
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"
}
]
}
}
}
Phim
{
"@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"
}
]
}
Hãy xem phần Ví dụ về sự kiện truyền hình trực tiếp để biết thêm ví dụ.
Trận đấu thể thao trực tiếp được phát trực tuyến
Sự kiện phát sóng
{
"@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"
}
}
Sự kiện thể thao
{
"@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"
}
]
}
Hãy xem phần Ví dụ về thể thao để biết thêm ví dụ.