Visualizing the Schema.org data model

Recently the world’s leading search engines (Google, Bing, Yahoo and Yandex) have come together to develop Schema.org – a shared collection of schemas that webmasters can use to mark-up the “meaning” of their HTML pages. On-page mark-up enables search engines to provide richer (i.e. more “meaning-full”) search results that make it easier for users to find relevant information on the web. Schema.org marks a significant step toward realizing Tim Berners-Lee’s vision of a Semantic Web of Linked Data.

The Data Model used by schema.org is very generic and is derived from RDF Schema.

First, there are Types, where each Type may be a sub-class of multiple Types, arranged in an Inheritance Hierarchy, and then …

there are Properties, where a Property may have one or more Types as:

  1. Domain(s), where the Property may be used for Instances of any of these Types.
  2. Range(s), where the Value(s) of the Property should be Instances of at least one of these Types.

In some cases, the Value of a Property in the Range may be a member of a controlled list, i.e. the Value may be an Enumeration Member. Schema.org makes use of authoritative External Lists when this makes sense.

The canonical machine representation of the Data Model is in RDFa.

One of our thoughts for promoting and popularizing Schema.org is to visualize its Inheritance Hierarchy as an expandable/collapsible tree using d3.

Some details: