Cookbook/Video content

= GoodRelations for Video Content =

= Video Content =

This pages shows how to model offers for video content using GoodRelations and schema.org. For the moment, we just give Microdata examples using the GoodRelations elements in the http://schema.org namespace, as per the extension proposal under discussion available from https://docs.google.com/document/pub?id=1Kx63gW9DBky1j97Jpwl3dU9k0pKPSgCT3EntTVvGjX4#h.ark9j0fmugnv

Note that a there are slight naming differences between the identifiers for GoodRelations in the original namespace (http://purl.org/goodrelations/v1#) and the schema.org namespace (http://schema.org/). See here for more details.

Buy Videos for Download

 * On-line delivery / download
 * You get permanent access to the video content

First we describe the movie title as a product model:

Then we describe the the actual movies that you can rent or purchase plus the offer:

Note 1: In the example, I used the more granular, new http://schema.org/UnitPriceSpecification type. The simple schema.org type would also work here.

Note 2: The example depends on the new "additionalType" property for indicating additional type information, as described in the W3C wiki. This has been added to schema.org in the meantime (release 0.96).

Note 3: As per the current proposal, the enumeration like http://purl.org/goodrelations/v1#DirectDownload and http://purl.org/goodrelations/v1#Sell will be used directly from the GoodRelations namespace.

Rent Videos for 30 days
Basically the same as above; just the business function in the offer will be changed to LeaseOut and the validity of the lease will be encoded using the eligibleDuration property. Note that the current proposal of integration GoodRelations into schema.org suggest to use all enumerations, including payment options, business functions, credit cards, etc., from the original GoodRelations namespace http://purl.org/goodrelations/v1#. So the URI of LeaseOut as a business function will be http://purl.org/goodrelations/v1#LeaseOut, not http://schema.org/LeaseOut.

Bundle: All 3 Episodes of a Series
Assume we are offering the following three movies for rent:


 * 1) Mission: Impossible (1996), http://www.imdb.com/title/tt0117060/
 * 2) Mission: Impossible II (2000), - http://www.imdb.com/title/tt0120755/
 * 3) Mission: Impossible III (2006), - http://www.imdb.com/title/tt0317919/

The Movies Reference Data
First, we should model the three movies as forms of creative works, i.e. "product models". This can be done by the site offering the media content, but would be better added to sites with reference information, like IMDb or Freebase.

The power of this pattern is that details about the movies, like involved actors, length, links to making-of footage etc., can be defined once and used to augment every single copy of the movie offered on the Web.

Note: One could also directly use the URIs from Freebase or DBPedia for the movies, if they exist.

The Bundle Offer
Second, we model the offer, i.e. the fact that you can lease all three episodes for $ 9.99. This is done by a standard http://schema.org/Offer entity with a price for the full bundle plus links using the includesObject property to individual http://schema.org/TypeAndQuantity nodes.

Since the information about the price on one hand and the basic description of the movies on the rental site will likely not be in exactly the same order as we need them, we are using the itemref feature of the microdata syntax to tell the parser to collate this information from different positions in the HTML document:

Note: The shortcut property gr:includes from GoodRelations is equivalent to the schema.org property itemOffered and thus not imported to schema.org, while the long form gr:includesObject, needed for modeling product bundles, will be a new schema.org property includesObject to be added to http://schema.org/Offer.

The Movies on the Rental Site
Lastly, the rental site itself will provide a basic description of all media objects included in the bundle, and link to the datasheets from above for additional data. Note that "link" in here means not just a link for a human to click, but a typed pointer for a search engine to understand that this is the URI of the movie.

The markup looks pretty similar to the model data, except for the fact that the additional type is http://schema.org/SomeItems instead of http://schema.org/ProductModel, and that there is a model property linking to the URI of the model.

Since we do not just want to say that a certain movie is included, but that one piece of each movie is included, we link the offer to each episode via a http://schema.org/TypeAndQuantity node with the quantity of 1 and the unit code of C62 (which stands for "piece"):

First movie: "Mission: Impossible (1996)" Second movie: "Mission: Impossible II (2000)" Third movie: "Mission: Impossible III (2006)"

Limitations

 * 1) You can currently not express choices of the kind "two movies out of a list of 100", i.e. configurable bundles.
 * 2) Also, you cannot currently model limitations of the kind "You can rent all of our movies but keep a maximum of three titles at the same time".

Subscription: Time-limited Access to a Collection of Media
Examples:


 * Netflix offers unlimited access to all of its TV episodes and movies for a monthly fee of $ 7.99
 * Lovefilm.de' offers varios packages, e.g.
 * Light at € 4.99: 2 DVD/Blue-ray titles/month; 1 title at the same time
 * Medium at € 7.29: 3 DVD/Blue-ray titles/month; 1 title at the same time
 * Ultimate at € 9.99: 4 DVD/Blue-ray titles/month; 2 title at the same time plus unlimited video on demand
 * Flatrate 1 at €11.99: unlimited DVD/Blue-ray titles/month; 1 title at the same time plus unlimited video on demand
 * Flatrate 2 at €17.99: unlimited DVD/Blue-ray titles/month; 2 title at the same time plus unlimited video on demand
 * The Amazon Prime Instant Video subscription at $79/year includes unlimited, free streaming access to all titles plus free two-day shipping of DVDs and other media.

Netflix
Netflix offers unlimited access to all of its TV episodes and movies for a monthly fee of $ 7.99.

Lovefilm.de
Lovefilm.de' offers varios packages, e.g.
 * Light at € 4.99: 2 DVD/Blue-ray titles/month; 1 title at the same time
 * Medium at € 7.29: 3 DVD/Blue-ray titles/month; 1 title at the same time
 * Ultimate at € 9.99: 4 DVD/Blue-ray titles/month; 2 title at the same time plus unlimited video on demand
 * Flatrate 1 at €11.99: unlimited DVD/Blue-ray titles/month; 1 title at the same time plus unlimited video on demand
 * Flatrate 2 at €17.99: unlimited DVD/Blue-ray titles/month; 2 title at the same time plus unlimited video on demand

Amazon Prime Instant Video
The Amazon Prime Instant Video subscription at $79/year includes unlimited, free streaming access to all titles.

Advanced Case: Expose List of Included Media
One could also explicitly model the collection of titles included in the offer; however, since it is currently not possible to model the constraints of choices ("2 per month" etc.), this is limited value.

A solution would be to define a subtype of http://schema.org/Product named http://schema.org/MediaCollection or http://schema.org/MediaSubscription with dedicated properties.

But this can be a dead end, since it will stimulate requests to add such domain specific types and properties into the schema. We currently discourage that direction.