Version 2.0 Released: Extensions Ahoy!

by Aaron Bradley on May 15, 2015

in Search Engines, Semantic Web 2.0 Released

Just under four years since the launch of, version 2.0 of the vocabulary was announced by R.V. Guha on the blog.

It's a release worthy of a version leap for, as Guha says, it "brings several significant changes and additions, not just to the vocabulary, but also to how we grow and manage it, from both technical and governance perspectives."

The big list of vocabulary changes, site improvements and fixes (48 line items in total) can be found on the release listing page.

Also available is a full summary of the release that "describes in one document the terms (types, properties and enumerations) included" in version 2.0. This "versioned snapshot" is itself a feature new to version 2.0.

While I urge any users of the vocabulary to dig into the release notes, here are some highlights of the additions and changes you'll find in version 2.0.

A new extension mechanism

A new extension mechanism for

The most celebrated feature of 2.0 is the introduction of a new mechanism for extending beyond the core vocabulary, described in detail on an entirely revised page on extensions.

Guha puts the extension mechanism front and center in his blog post:

As adoption has grown, a number groups with more specialized vocabularies have expressed interest in extending with their terms. Examples of this include real estate, product, finance, medical and bibliographic information. Even in something as common as human names, there are groups interested in creating the vocabulary for representing all the intricacies of names. Groups that have a special interest in one of these topics often need a level of specificity in the vocabulary and operational independence. We are introducing a new extension mechanism which we hope will enable these and many other groups to extend

The new mechanism supports two types of extensions, both of which fill the "need for more specialized and/or deeper vocabularies" and are consistent with the core vocabulary.

A reviewed extension is one that extends the core vocabulary but is separate from it, and gets a chunk of the namespace. For example, a extension that provides new classes and properties specific to genealogy might fall under

An external extension is one created by a third party that requires an extension "specific to their application." This is put up under the extension developer's domain. For example, if Twitter wanted to create a vocabulary for different types of tweet actions, they could house it under

The previous extension mechanism for was cumbersome and rarely used, so this promises to breathe new life into extension-building efforts.

The bib: extension for the "improved representation of bibliographic information" developed by the Schema Bib Extend Community Group looks like it'll be first out the door, and fairly soon too.

I'll just note briefly that this development is quite significant, as this more formal extension process means there's a greater likelihood that search engines and other data consumers are going to respect (in the sense of "make an effort to understand") markup that includes classes or properties from an extension. This in turn provides an incentive for third parties to develop extensions in the first place.

And as the grows by dint of these extensions, a vocabulary that's already seen adoption rates exceed the sponsors' "wildest expectations" becomes even more useful, providing yet more incentive for publishers to publish it and data consumers to consume it.

As much as eschewed the intention of becoming an "ontology of everything" it's nonetheless become pretty big – and will only get bigger.

Usage statistics and issue links

Usage statistics and open issues for a type - a new feature of 2.0

Each type or property page now displays the approximate number of domains using it. The source of those statistics is not specified, but given that Google, Bing, Yahoo and Yandex are's sponsors one can reasonably assume that these numbers are something better than wild guesses.

It's safe to say that even if the absolute numbers cited aren't accurate, the value to be derived from such statistics is relative rather than absolute – the usage-inspiring value proposition inherit in the larger numbers notwithstanding (the home page's report that "over 10 million sites use to markup their web pages and email messages" is worth noting).

Each class and property also contains a link to open issues concerning it on Github. Webmasters will find this very useful when they think they've identified a problem with an item, as they can readily check to see if anyone else has made note of it.

Added property mainEntityOfPage

As the name suggests, mainEntityOfPage is a property that now makes it possible to declare which of multiple entities on a page is the main one.

While for most webmasters this might seem highly esoteric (it would certainly be something only raised during the "advanced structured data" session of a search marketing conference), it's actually incredibly useful once you start trying to describe multiple things on one webpage.

My partner in semantic crime Jarno van Driel has published a post on mainEntityOfPage that explains, in loving detail, just how this property works and under which circumstances you might consider using it.

PropertyValue and additionalProperty

Sure, you've long been able to say with that an iPhone 5 weighs 112 grams, but what if you want to say that the Enterprise-D can go warp 9.8 (albeit not very safely)? With 2.0 you can finally make it so.

<div itemscope itemtype="">
  <span itemprop="name">Enterprise-D</span>
  <div itemprop="additionalProperty" itemscope itemtype="">
      <span itemprop="name">Maximum speed:</span> 
      <span itemprop="unitText">warp</span>
      <span itemprop="value">9.8</span>.

While the descriptions of additionalProperty and PropertyValue stress that you should always use existing properties when they're available, this "generic property/value mechanism" makes it easy to declare an additional property for anything.

Another extremely useful and long-desired feature that, again, extends the usefulness of the vocabulary.

The self-driving

Well it doesn't need to be self-driving, but it could be.

Derived from work done by the Automotive Ontology Community Group, the new Car type extends Vehicle with many car-specific properties, like numberOfDoors and fuelType.

This new type is obviously a boon to anyone working in an area related to the automotive industry – and it's expected that the Automotive Group will end up contributing even more terms specific to the automotive domain (probably through a reviewed extension).

Series is now CreativeWorkSeries…

… and gtin12 joins gtin8, gtin13 and gtin14, while OrderItem now allows a ParcelDelivery to be tracked per item.

And so on and so on. There's a lot to this release, and if your work involves using I urge you again to at least skim the release listing to see if there's an opportunity lurking there for you.

Can't find the new properties you were hoping for? Well, at least you'll now find creating an extension a better-defined and probably more profitable pursuit.

{ 2 comments… read them below or add one }

1 Tile Seattle March 10, 2016 at 2:02 pm

A bit strange to understand. How would you represent a company truck gives free delivery?


2 Aaron Bradley March 22, 2016 at 5:07 pm

Using standard classes and properties, you could represent a company that provides free delivery (I think that’s what you asked) as a LocalBusiness with the service offering described with hasOfferCatalog.


Leave a Comment

Previous post:

Next post: