W3C home > Mailing lists > Public > public-vocabs@w3.org > June 2012

Re: Premium Video Content Markup

From: Paul K. Young <pky@google.com>
Date: Tue, 5 Jun 2012 14:48:02 -0700
Message-ID: <CAAMgkc-d09LhXh=CVFG7jJzwxXV8ZxHtAvrFQMgS6zaAjyk52Q@mail.gmail.com>
To: Martin Hepp <martin.hepp@ebusiness-unibw.org>
Cc: Public Vocabs <public-vocabs@w3.org>, Dan Brickley <danbri@google.com>
Hi Martin,

Thanks for your feedback on the first two cases.  A few thoughts...

Both Offer and PriceSpecification have the fields validFrom and
validThrough.  Is there a reason to allow it to be specified in both
places?  If so, what's the interpretation when the dates don't agree?

We need to relate the VideoObject, the Thing (TV/Movie) and the offers.
 VideoObject has important information like geo restrictions, etc. We would
like to maintain consistency with the predominant use case of non-premium
content videos, so moving the restrict information into offer or product
would be suboptimal.  To link the three we could take the second Movie
object in your example and change it to a VideoObject.  It looks like your
example adapts well since the essential properties are those of the Product
type and not of the Movie type.

The one issue not addressed by this model is how to distinguish the full
content from trailers, clips, interviews, reviews, etc.  These aren't
typically products but if you have any insight I'd be glad to hear them.

Here's what the anotations might loook like.

<!-- Movie -->

 <div itemprop="about" itemscope itemtype="http://schema.org/Movie"
     itemid="http://www.imdb.com/title/tt0325980/">
   <link itemprop="type" href="http://schema.org/ProductModel" />
  <h1 itemprop="name">Pirates of the Carribean: On Stranger Tides
(2011)</h1>
  <span itemprop="description">Jack Sparrow and Barbossa embark on a...
</span>
</div>

<!-- Video -->

<div itemprop="video" itemscope itemtype="http://schema.org/VideoObject">
   <link itemprop="type" href="http://schema.org/SomeItems" />
  <h2>Video: <span itemprop="name">Pirates of the Carribean: On Stranger
Tides (2011)</span></h2>
  <meta itemprop="duration" content="T1M33S" />
  <meta itemprop="thumbnailUrl" content="thumbnail.jpg" />
  <meta itemprop="contentURL" content="http://www.example.com/video123.flv"
/>
  <meta itemprop="embedURL" content="
http://www.example.com/videoplayer.swf?video=123" />
  <meta itemprop="uploadDate" content="2011-07-05T08:00:00+08:00" />
  <meta itemprop="expires" content="2012-01-30T19:00:00+08:00" />
  <meta itemprop="height" content="400" />
  <meta itemprop="width" content="400" />
  <object ...>
    <param ...>
    <embed type="application/x-shockwave-flash" ...>
  </object>
  <span itemprop="description">Video description</span>
  </div>

  <link itemprop=”offer” href=”#buyoffer” />
  <link itemprop=”offer” href=”#rentoffer” />
  <link itemprop=”offer” href=”#subscribeoffer” />
  <link itemprop=”offer” href=”#bundleoffer” />

  <a itemprop "hasMakeAndModel"
href="http://www.imdb.com/title/tt0325980/">More
information on imdb.com</a>
</div>

<!-- Offers -->

<div itemscope itemtype="http://schema.org/Offer" itemid=”#buyoffer”>
  <div itemprop="hasPriceSpecification" itemscope
                   itemtype="http://schema.org/UnitPriceSpecification">
    Buy for $<span itemprop="price">9.99</span>
    <meta itemprop="priceCurrency" content="USD">
    <time itemprop="validThrough" datetime="2012-12-31T23:59:59Z"></time>
  </div>
</div>

<div itemscope itemtype="http://schema.org/Offer" itemid=”#rentoffer”>
  Rent for <span itemprop="price">$3.99</span> <span
itemprop=”priceCurrency”>USD</span>
  <link itemprop="businessFunction" href=”http://schema.org/LeaseOut” />
</div>

<div temscope itemtype="http://schema.org/Offer" itemid=”#subscribeoffer”>
  Subscribe for <span itemprop="price">$19.99</span>
  TBD...
</div>

<div itemscope itemtype="http://schema.org/Offer" itemid=”#bundleoffer”>
  Buy season 2 for <span itemprop="price">$39.99</span>
  TBD...
</div>

Best,
Paul


On Tue, Jun 5, 2012 at 1:24 AM, Martin Hepp <martin.hepp@ebusiness-unibw.org
> wrote:

> Dear Paul,
>
> for the first two cases (video purchase and rental), I would use the
> GoodRelations extension as follows:
>
> = 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:
>
> <xml>
> <!-- The movie "model" -->
>  <div itemprop="about" itemscope itemtype="http://schema.org/Movie"
>       itemid="http://www.imdb.com/title/tt0325980/">
>        <link itemprop="type" href="http://schema.org/ProductModel" />
>    <h1 itemprop="name">Pirates of the Carribean: On Stranger Tides
> (2011)</h1>
>   <span itemprop="description">Jack Sparrow and Barbossa embark on a quest
> to
>   find the elusive fountain of youth, only to discover that Blackbeard and
>   his daughter are after it too.</span>
>  </div>
> </xml>
>
> Then we describe the the actual movies that you can rent or purchase plus
> the offer:
>
> <xml>
> <!-- Some copies of that title -->
>  <div itemprop="about" itemscope itemtype="http://schema.org/Movie"
> itemid="#video">
>        <link itemprop="type" href="http://schema.org/SomeItems" />
>    <h1 itemprop="name">Pirates of the Carribean: On Stranger Tides
> (2011)</h1>
>   <span itemprop="description">Jack Sparrow and Barbossa embark on a quest
> to
>   find the elusive fountain of youth, only to discover that Blackbeard and
>   his daughter are after it too.</span>
>         <a itemprop "hasMakeAndModel" href="
> http://www.imdb.com/title/tt0325980/">More information on imdb.com</a>
> <!-- The offer to sell a copy of the video -->
>    <div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
>                 <link itemprop="hasBusinessFunction" href="
> http://schema.org/Sell" />
>        Price: <div itemprop="hasPriceSpecification" itemscope
>                    itemtype="http://schema.org/UnitPriceSpecification">$
>                                <span itemprop="price">9.90</span>
>                                <meta itemprop="priceCurrency"
> content="USD">
>                                <time itemprop="validThrough"
> datetime="2012-12-31T23:59:59Z"></time>
>                                </div>
>                Delivery: <link itemprop="availableDeliveryMethods"
>        href="http://schema.org/DirectDownload" /> Download
>    </div>
>  </div>
> </xml>
>
> 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 "type" / "additionalType"
> property for indivating additional type information, as discussed with Dan
> Brickley. This is not critical but useful.
>
> = Rent Videos for 30 days =
>
> Basically the same as above; just the business function in the offer will
> be changed to http://schema.org/LeaseOut and the validity of the lease
> will be encoded using the eligibleDuration property:
>
> <xml>
> <!-- Some copies of that title -->
>  <div itemprop="about" itemscope itemtype="http://schema.org/Movie"
> itemid="#video">
>        <link itemprop="type" href="http://schema.org/SomeItems" />
>    <h1 itemprop="name">Pirates of the Carribean: On Stranger Tides
> (2011)</h1>
>   <span itemprop="description">Jack Sparrow and Barbossa embark on a quest
> to
>   find the elusive fountain of youth, only to discover that Blackbeard and
>   his daughter are after it too.</span>
>         <a itemprop "hasMakeAndModel" href="
> http://www.imdb.com/title/tt0325980/">More information on imdb.com</a>
> <!-- The offer to sell a copy of the video -->
>    <div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
>                 <link itemprop="hasBusinessFunction" href="
> http://schema.org/LeaseOut" />
>        Price: <div itemprop="hasPriceSpecification" itemscope
>                    itemtype="http://schema.org/UnitPriceSpecification">$
>                                <span itemprop="price">3.99</span>
>                                <meta itemprop="priceCurrency"
> content="USD">
>                                <time itemprop="validThrough"
> datetime="2012-12-31T23:59:59Z"></time>
>                                </div>
>                Delivery: <link itemprop="availableDeliveryMethods"
>        href="http://schema.org/DirectDownload" /> Download
>           Validity of the lease: <div itemprop="eligibleDuration" itemscope
>              itemtype="http://schema.orgQuantitativeValue">
>                  <span itemprop="value">30</span>-
>                  <meta itemprop="unitCode" content="DAY" >days
>    </div>
>  </div>
> </xml>
>
>
> I will work on the other scenarios asap.
>
> Best
>
> Martin
>
> On May 30, 2012, at 2:28 AM, Paul K. Young wrote:
>
> > Hi All,
> >
> > I'm working on a proposal to extend the Schema.org markup for
> > VideoObject to better support premium video content (TV & Movies).
> > I'm new to Schema.org markup and would appreciate some suggestions, in
> > particular with the Good Relations markup for offers and for
> > identifying the video type (full content vs. trailer/clip/interview,
> > etc.).
> >
> > * Catalog Info
> >
> > There are several types of offerings common for premium content.
> >
> > - Rent - Amazon Instant Video, iTunes, etc.
> > - Buy - Amazon Instant Video, iTunes, etc.
> > - Subscription - Netflix, Amazon Prime, Verizon FIOS subscriber, etc.
> > - Bundle - TV episodes are often available as a discounted bundle for
> > an entire season.
> >
> > The Good Relations hasBusinessFunction covers the first two cases.
> > The latter two cases could be covered using custom license objects but
> > some semantic information is lost in doing so.  Moreover, it may be
> > useful if the provider could provide a subscription identifier as a
> > part of the offer.  Would this be best accomplished by subclassing
> > BusinessFunction or License and adding a subscriptionIdentifier field?
> > The various offerings could be annotated as follows.
> >
> >  <!-- Rent -->
> >  <div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
> >    Rent for <span itemprop="price">$3.99</span> <span
> > itemprop=”priceCurrency”>USD</span>
> >    <link itemprop="gr:hasBusinessFunction" href=”
> http://schema.org/LeaseOut” />
> >  </div>
> >
> >  <!-- Buy -->
> >  <div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
> >    Buy for <span itemprop="price">$9.99</span>
> >  </div>
> >
> >  <!-- Subscription -->
> >  <div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
> >    Subscribe for <span itemprop="price">$19.99</span>
> >    <div itemprop="gr:hasBusinessFunction" itemscope
> > itemtype=”http://schema.org/Subscription”>
> >      <link itemprop=”provider” href=”http://www.example..com/subscribe”
> />
> >    </div>
> >
> >  <!-- Bundle -->
> >  <div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
> >    Buy season 2 for <span itemprop="price">$39.99</span>
> >    <div itemprop="gr:hasBusinessFunction" itemscope
> > itemtype=”http://schema.org/Bundle”>
> >      <link itemprop=”bundle”
> > href=”http://www.example.com/show/season2/bundle” />
> >    </div>
> >  </div>
> >
> > * Program Info
> >
> > CreativeWork::about seems the most appropriate way to indicate program
> > information.  For premium content this would reference either a Movie
> > or TVEpisode object.
> >
> > * Video Type
> >
> > Providers should be able to distinguish between videos containing the
> > full content, trailers, clips, interviews, etc.  This could be
> > accomplished by adding an enum type called
> > VideoObject::aboutRelationship which takes one of the following
> > values.
> >
> > http://schema.org/FullContent
> > http://schema.org/Trailer
> > http://schema.org/Clip
> > http://schema.org/Interview
> > http://schema.org/Review
> >
> > So, for instance, the following could be used to annotate a
> > VideoObject for the feature filme "Pirates of the Carribean:  On
> > Stranger Tides."
> >
> >  <div itemprop=”about” itemscope itemtype="http://schema.org/Movie">
> >    <h1 itemprop="name">Pirates of the Carribean: On Stranger Tides
> (2011)</h1>
> >    <span itemprop="description">Jack Sparrow and Barbossa embark on a
> quest to
> >    find the elusive fountain of youth, only to discover that Blackbeard
> and
> >    his daughter are after it too.</span>
> >  </div>
> >  <link itemprop=”aboutRelationship” itemtype=”
> http://schema.org/FullContent”>
> >
> >
> > Best,
> > Paul
> >
> >
>
> --------------------------------------------------------
> martin hepp
> e-business & web science research group
> universitaet der bundeswehr muenchen
>
> e-mail:  hepp@ebusiness-unibw.org
> phone:   +49-(0)89-6004-4217
> fax:     +49-(0)89-6004-4620
> www:     http://www.unibw.de/ebusiness/ (group)
>         http://www.heppnetz.de/ (personal)
> skype:   mfhepp
> twitter: mfhepp
>
> Check out GoodRelations for E-Commerce on the Web of Linked Data!
> =================================================================
> * Project Main Page: http://purl.org/goodrelations/
>
>
>
>
Received on Tuesday, 5 June 2012 21:48:34 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 5 June 2012 21:48:34 GMT