schema.org Gets Its Game on with v1.92

by Aaron Bradley on December 11, 2014

in Semantic Web, SEO

schema.org Gets Its Game on with Version 1.92

Dan Brickley of Google today announced a major new release of schema.org, in beta known as "venkman" (yes, after the Ghost Busters character) and released as schema.org version 1.92.

This may well be the last 1.xx version. As Dan notes his announcement:

With this update we "soft launch" a substantial collection of improvements that will form the basis for a schema.org version 2.0 release in early 2015. There remain a number of site-wide improvements, bugfixes and clarifications that we'd like to make before we feel ready to use the name "v2.0". However the core vocabulary improvements are stable and available for use from today.

This is a big release. In the release listing I count 10 new types, 7 revised types, 36 new properties, 8 revised properties and 19 new enumerations – and this is not even a complete accounting.

See the release notes for complete details, but here are some notable addition and changes with this release.

schema.org/VideoGame

The new type is a sub-type of both the existing SoftwareApplication class, and of the new Game type.

Among other things, VideoGame properties allow webmasters to declare which platform or platforms a video game runs on, tips about the game, where gamers can find software help about a game (or for any type of program – the softwareHelp property is new), the location of a video trailer for a game, and what play modes the game support.

As the release notes observe, "a need for future work" is anticipated around Game. Game has been initially in support of VideoGame, but it's acknowledged that there's a lot to yet be explored here.

schema.org/VideoGameSeries and other Series changes

VideoGameSeries supports declarations about video games in a series (also known as a "video game franchise"), as per the existing Freebase class.

Accommodating VideoGameSeries required a rethink of the existing Series type, which was conceived of initially with TV and radio series in mind. Accordingly, Periodical is "now modeled as a Series subtype" and some "redundant type/property associations were also tidied up."

In conjunction with VideoGameSeries two new other Series subtypes were added: BookSeries and MovieSeries. Webmasters of the Lord of the Rings variety rejoice!

schema.org/SportsOrganization and other sports-related changes

You can now say that the Vancouver Canucks belong to the Pacific Division of the National Hockey League. Well, you could always say that, but you can now declare "Pacific Division" and "National Hockey League" each as an instance of a SportsOrganization (you must continue to declare the Toronto Maple Leafs as a SportsTeam, as ComedyTroupe didn't make it into this release).

coach and athlete have been added as SportsTeam properties, and homeTeam, awayTeam and competitor have been added as SportsEvent properties.

ItemList changes and BreadcrumbList

ItemList now supports much richer lists. ItemListElement values may now be either a Thing or ListItem in addition to the Text that was previously the only expected type (among other itemListElement and itemListOrder changes), and the property numberOfItems has been added.

These changes, in conjunction with the the newly added ItemList subtype BreadcrumbList, effectively resolves longstanding issues surrounding the breadcrumb property.

Here's a hack of the BreadcrumbList example on the schema.org site to show how it can be employed without actual HTML list markup:

<div itemscope itemtype="http://schema.org/BreadcrumbList">
  <span itemprop="itemListElement" itemscope
      itemtype="http://schema.org/ListItem">
    <a itemprop="item" href="https://example.com/animals">
    <span itemprop="name">Animals</span></a>
    <meta itemprop="position" content="1" />
  </span>
› <span itemprop="itemListElement" itemscope
      itemtype="http://schema.org/ListItem">
    <a itemprop="item" href="https://example.com/animals/turtles">
    <span itemprop="name">Turtles</span></a>
    <meta itemprop="position" content="2" />
  </span>
</div>

Here's the output when you run this through Google's Structured Data Testing Tool.

Example of BreadcrumbList markup as processed by Google's Structured Data Testing Tool

No, a breadcrumb does not currently appear in the preview (even when BreadcrumbList is wrapped in WebPage/breadcrumb), but this may change, as the Testing Tool is always somewhat behind vocabulary changes.

And much, much more

Those are the highlights for me, but by reading the release notes you may find discover new types or schema.org changes that represent opportunities for your industry or topical domain.

In broad strokes some other highlights include:

  • Various additions and changes in the Action arena, including the addition of the ControlAction type and new properties for the RsvpAction type.
  • A heap of additional types and properties surrounding music, including new MusicAlbum properties and enumerations.
  • The addition of a DatedMoneySpecification which "represents monetary values with optional start and end dates," so you can now say things like "John made $20,000 between January 2014 and June 2014."
  • A Person can now be said to have a weight or a height (in my case I don't want to confess the former).

Some great work by the schema.org team and its associated community as schema.org 1.92 leads the charge into version 2.0.


{ 8 comments… read them below or add one }

1 Simon December 11, 2014 at 5:52 pm

Great post Aaron. I’m glad to see it’s opening up a tad. What I’d like to see is an expansion of professions. We know there is lawyer, physician, etc, why not janitor, taxi driver, and everything in between? Do you think they’d ever open it up and allow ‘trusted contributors’?

Reply

2 Aaron Bradley December 12, 2014 at 10:47 am

Thanks Simon!

Actually there are no support for professions or occupations on schema.org per se, except as they are required by specific schemas (e.g. the actor and director properties of Movie).

The types you cite, Attorney (the schema.org name for “lawyer”) and Physician are actually types of local businesses, not occupations. The naming in these cases are a little awkward, but in declaring these types one is not referring to “an attorney” but “the professional services of an attorney”, and not to “a physician” but to “the services provided by a medical organization.”

There are mechanisms for declaring the name of an occupation even if occupational categories are no themselves available as types in schema.org, such as jobTitle (a property of Person), occupationalCategory (a property of JobPosting), and – very generally – Role.

EmployeeRole is in fact new in this release. For more on the Role type, see this post from Vicki Tardif Holland and Jason Johnson.

Having said all this, there has been talk of adding an “Occupation” type, which could conceivably allow for more specific subtypes like, oh, Janitor or TaxiDriver. 🙂

However, it’s unlikely that we’d ever see a verbose list of occupation types added to schema.org. schema.org is meant to be a robust way of declaring entities, but isn’t in itself intended to be a comprehensive list of entities (in the parlance of the semantic web, it doesn’t aspire to be an “ontology of everything”). But that doesn’t mean that entities can’t be explicitly and precisely declared, just that referencing external sources is preferred over endlessly extending the schema.org vocabulary (this message from Dan Brickley describes external entity declarations in detail). For example, the occupation “Janitor”, when it is required to declare it, might be expressed as <link property="sameAs" href="http://www.freebase.com/m/01x_cf">>.

Finally, in regard to “trusted contributors” anyone is welcome to make suggestions about new types and otherwise contribute to the development schema.org (though of course there’s no guarantee that any particular suggestion will make its way into the vocabulary). The main locus for this activity is the W3C public-vocabs (“Open Discussion of Vocabularies for the Web”) mailing list. We also discuss schema.org issues over at the Semantic Search Marketing Community on Google+.

Reply

3 Simon December 12, 2014 at 1:43 pm

Thank you for your thoughtful and detailed response Aaron. Your reply has pointed me in the direction I need to look. Re:G+, I’m already a member of the group and, perhaps evidently, I don’t make it there as often as I should.

Reply

4 Kazuhito December 15, 2014 at 1:21 am

I’m curious a bit about why you showed the BreadcrumbList example without actual HTML list markup. Is it ok for span element with itemprop=”itemListElement”? Does itemListElement insist to use it with list element ?

Reply

5 Aaron Bradley December 15, 2014 at 9:50 am

Thanks for your questions Kazuhito. I used the <li>-less markup in part to illustrate how this could be used with “typical” breadcrumb markup, which doesn’t necessarily lean on HTML lists (think of the simple code <a href=”/”>Home<a> | <a href=”/toys”>Toys<a>).

Which answers your other question. The general notion of “list” in schema.org should not be confused with HTML lists, as ItemList, BreadcrumbList, ListItem and their respective properties can be employed independently of HTML lists, or indeed of HTML altogether. So you could absolutely use <span> to declare the itemListElement property.

For example, the JSON-LD example for BreadcrumbList currently on the schema.org site being, well, JSON-LD, does not of course employ HTML lists or HTML list items.

<script type=”application/ld+json>
{
 “@context”: “http://schema.org”,
 “@type”: “BreadcrumbList”,
 “itemListElement”:
 [
  {
   “@type”: “ListItem”,
   “position”: 1,
   “item”:
   {
    “@id”: “https://example.com/dresses”,
    “name”: “Dresses”
    }
  },
  {
   “@type”: “ListItem”,
  “position”: 2,
  “item”:
   {
     “@id”: “https://example.com/dresses/real”,
     “name”: “Real Dresses”
   }
  }
 ]
}
</script>

Reply

6 Ben Sibley January 13, 2015 at 2:59 pm

Thanks for summarizing the release Aaron. BreadcrumbList is a welcome addition for sure. Do you think it’s likely that breadcrumbs will begin appearing in the SERPs with the addition of this markup?

Reply

7 Aaron Bradley January 13, 2015 at 4:57 pm

Thanks for your comment Ben. Breadcrumbs exist now in the SERPs, of course (chiefly fueled by the older data-vocabulary declarations). But will breadcrumbs start to appear that are fueled by schema.org/BreadcrumbList? I haven’t seen any examples in the wild yet, but I’m hopeful!

Note that, at time of writing, breadcrumbs in the SERPs remain non-clickable – probably as a result of this exploit uncovered by Andrea Pernici.

Reply

8 Ben Sibley January 14, 2015 at 11:10 am

Ah I see. Really interesting stuff, thanks Aaron!

Reply

Leave a Comment

Previous post:

Next post: