Monday, June 16, 2014

Introducing 'Role'

To date, has supported relatively simple relations between entities.  For example, if we wanted to describe Joe Montana as an athlete on the San Francisco 49ers team, we might represent this using the newly proposed "athlete" property of a SportsTeam. 

This is a pretty clear structure, but it doesn't offer anywhere to attach further information about the relationship.  Building on our example, let's say we wanted to also indicate that Joe Montana only played for the San Francisco 49ers from 1979 to 1992 and that his position was "Quarterback".

To accomplish this, we introduce a new type called Role.  The new Role type serves to elaborate or qualify these more simple relationships. We have been motivated by concrete problems around organizational affiliations such as those occurring in music and sports. In both cases it is important to specify time periods in a sporting or musical career.

To specify the role being played, the Role entity reuses the initial property from, and then extends the semantics of the relationship by way of additional properties like "startDate".

In essence, we are replacing the "athlete" property's original value (a Person node) with an intermediary node (Role). The original node is moved one hop away and becomes the value of the re-used "athlete" property. After considering several designs, we chose this approach as the simplest.

The Role schema allows algorithms to collapse down to the simple graph from a more complicated Role-based description. In the example above, we can assume Joe Montana is a valid value for the "athlete" property on the 49ers SportsTeam. More formally, if some Role R has incoming property P from entity A, and A also has an outgoing occurrence of property P to entity B, we can assume it is reasonable to describe A as having a 'P' property whose value is B.

These details are more important to consumers of than publishers, as they allow for backwards compatibility, while also permitting any property to be used with roles.

The Role type (much like URL) can be used with any types. We will not clutter the site with statements emphasizing this, except in cases (e.g. around sports and music) where the Role mechanism is particularly useful. We have added examples of Role usage in Microdata, RDFa and JSON-LD notation to the site, and look forward to seeing more detailed descriptions using this mechanism.

As we continue to evolve the site we expect to add more properties and sub-types that have been designed to work with the Role type. For now, we introduce two kinds of Role: OrganizationRole and PerformanceRole. In the sporting example shown above, the Role node (the red circle) would be an OrganizationRole and in addition to defining the "startDate" and "endDate" for that role, we might also define indicate Joe Montana was a quarterback by using the "namesPosition" property. Similarly, the PerformanceRole type provides a characterName property that might be used to describe Bill Murray's role in Ghostbusters. The Role pattern works here too. See the site for full RDFa, Microdata and JSON-LD markup, including the Ghostbusters example shown here:

Vicki Tardif Holland (Google)
Jason Johnson (Microsoft)

Friday, May 16, 2014 v1.4 update: examples, examples, examples...

We've just posted an update to the site, focussing on improved examples. Our last update introduced a new property called workPerformed which relates an Event to a CreativeWork performed at the event. Today's improvements add examples of this property to MusicEvent and TheaterEvent.

There are also new JSON-LD examples for MusicEvent, alongside additions showing RDFa, Microdata and JSON-LD examples for various local business-related types including Restaurant, StorePharmacy, Corporation, PostalAddress,  Organization, ContactPoint and OpeningHoursSpecification. This update also includes improvements to the navigation for MedicalEnumeration types, alongside fixes for several other typos and glitches - both of which are thanks to Dan Scott.

Finally, it's worth highlighting the recent addition of substantial vocabulary for describing Reservations, as well as a type for describing an EmailMessage. These complement the Actions design announced last month.

Wednesday, April 16, 2014

Announcing Actions

When we launched almost 3 years ago, our main focus was on providing vocabularies for describing entities --- people, places, movies, restaurants, ... But the Web is not just about static descriptions of entities. It is about taking action on these entities --- from making a reservation to watching a movie to commenting on a post.

Today, we are excited to start the next chapter of and structured data on the Web by introducing vocabulary that enables websites to describe the actions they enable and how these actions can be invoked.

The new actions vocabulary is the result of over two years of intense collaboration and debate amongst the partners and the larger Web community. Many thanks to all those who participated in these discussions, in particular to members of the Web Schemas and Hydra groups at W3C. We are hopeful that these additions to will help unleash new categories of applications.

Jason Douglas,
Sam Goto (Google)

Steve Macbeth, 
Jason Johnson (Microsoft)

Alexander Shubin (Yandex)

Peter Mika (Yahoo)

To learn more, see the overview document or Action, potentialAction and EntryPoint on

Thursday, February 6, 2014 Sports Vocabulary

The partners, in collaboration with experts from the BBC and IPTC/SportsML, are pleased to share a proposal for improving the sports vocabulary.  The proposal includes support for describing sports organizations, athletes, and events, with a focus on the most common sports types being published on the Web today. Although the proposal includes support for describing sports statistics within these domains, the initial set of properties are limited to those which are broadly applicable.  More detailed, sport-specific statistics will be the subject of future additions to the base statistic classes.

The sports vocabulary proposal is available as an exported PDF in the W3C Web Schemas - Sports wiki and a machine readable version of the schema will be posted soon.  We encourage the web community to review and provide feedback via the wiki, the W3C public vocabs mailing list (, or by joining the sports vocabulary discussion group.

Thursday, December 5, 2013

Content Accessibility

It has long been important to help users find the "right content". With the incredible diversity of the people who use the Web, and the devices they are using it from, it is more important than ever to find the content that works best for a given user's current situation.

Content metadata has an important role to play in this regard. So we're very happy to announce the inclusion of several Accessibility properties into, published this week. These additions to CreativeWork make it easier for publishers and webmasters to connect end-users with the most useful content, and help users with special needs locate and consume content that is most appropriate for their specific needs. For example a blind user may want to locate a text-book that is available with particular accessibility features and formats, or a user with hearing impairments may need to locate a captioned version of a video.

This work draws upon many collaborations and projects including the IMS Global Learning Consortium's Access For All specification (, the work of the Accessibility Metadata Project (, alongside many discussions that helped ensure the work integrated well into

Many thanks to everyone who has contributed!

TV Raman (Google)
Chaals (Yandex)

Tuesday, December 3, 2013 for TV and Radio markup

The new version of includes the TV and radio extension we have been working on with Jean-Pierre Evain (EBU) and Dan Brickley (for This update offers improved support for describing TV and radio shows, for example:

  • 'The Hungry Earth' is the 8th episode of the 5th season of Doctor Who
  • It is broadcast on BBC One London at 18:15, on the 22nd of May 2010
  • It is available on BBC iPlayer for two weeks after that

Embedding such data in web pages means that it can be aggregated by search engines, which can then provide more information around TV and radio search results, as well as providing instant answers to queries such as 'when is the next Eastenders episode on?'. We built on previous efforts in modelling such information, such as TV Anytime, EBU Core and the BBC Programmes Ontology. The RDFa definition from which the extension was built in has equivalence links to concepts in these ontologies.

This update also maintains backwards-compatibility with previously existing concepts (e.g. TVEpisode, TVSeries and TVSeason) and properties.

The concepts related to this update are the following:

Of course, this extension is just the beginning at better support for broadcast and media-related data. We focused on basic information and fixing a few issues in the first release for the time being, but there are more areas to explore. As consensus builds around them, possible extensions could also be proposed to or published directly in RDFa as extension markup using existing vocabularies such as the ones published by the EBU or the BBC. This include for example support for segmentation (tracklists, chapters, etc.) and their links to media fragments, more detailed contributor/character information (e.g. 'David Tennant plays the Xth Doctor in this episode') and the description of multiple video, audio and data tracks (e.g. ‘This episode has two audio tracks, one in French and one in English’).

Regardless of any future improvements,'s TV and Radio vocabulary now provides a stable basis for Web sites to share rich descriptions of TV/Radio content. See's full listing of vocabularies to see this work in its wider context.

Thursday, November 21, 2013 v1.0d published: TV/Radio, Civic Services, ContactPoint, Event and Organization improvements version 1.0d has been published. This release brings a number of practical additions and improvements - here's a high level overview. As always, the site has a full listing of the entire vocabulary, and W3C's WebSchemas group has details of the background discussions.

Civic Services. As we described earlier, this work provides vocabulary such as GovernmentService for describing services of various kinds. As part of this work, we have also updated ContactPoint, which now for example provides a mechanism for describing contact points for services which support users with hearing impairments.

TV/Radio. These long-awaited changes bring a number of adjustments to the existing vocabulary for TV, including adding parent types such as Series with distinct types for RadioSeries and TVSeries. Many thanks are due to Yves Raimond (BBC) and Jean-Pierre Evain (European Broadcasting Union) for leading this work.

We also made a small but useful improvement to the Organization type, by adding department and
subOrganization properties that relate organizations to each other. This can be used when describing common situations such as a bookshop containing a coffeeshop, or a larger store that includes a pharmacy, when details such as opening hours or contact information vary.

Finally, we made some changes to the Event type, adding support - via an eventStatus property - for canceled, postponed or rescheduled events, as well as a previousStartDate property to help describe rescheduled events more accurately.

Monday, October 21, 2013 at ISWC 2013 conference

Various members of the W3C Web Schemas group (where we collaborate on improvements to are at the International Semantic Web conference in Sydney this week. If you're at the conference, we've arranged for an ad-hoc vocabulary collaboration room to be available on thursday and friday. Feel free to make use of the room during those times for any discussions around Web Schemas, and related technologies, and to the W3C wiki to suggest topics... 

The room is BAYSIDE 201, available any time during Thursday morning (08:30-11:40), Thursday afternoon (14:40-18:00), or Friday morning (8:30-11:40). Several members of the team will also be at R.V.Guha's keynote on wednesday morning. Hope to see you there!

Monday, August 5, 2013

Vocabulary for describing Civic Services

When people are in need of government services, they often turn to search engines, but the top result may not be for the service of interest. A new vocabulary, similar to the European Commission ISA Core Public Service vocabulary, has been proposed to improve search engines’ understanding of these services. It is intended to provide enough information to determine the service, the area covered by the service, and relevant information for using the service. The Civic Services proposal is available from W3C's Wiki; any future updates and status reports will be made available in the same way.

We are always open to ideas for expanding's descriptive vocabulary. Day-to-day public discussion of such extensions happens in the W3C WebSchemas group, using a combination of e-mail and Wiki pages to explore new schema ideas. However we are aware that not everyone will follow those detailed discussions, and it is often important to get wider review of proposed schemas. The full Civic Services proposal (see full PDF) gives details of scope and markup examples - currently the focus is on describing the availability of services, and on various kinds of permit. The vocabulary is designed to integrate with other aspects of, e.g. our medical/health and Audience vocabularies, as well as the mechanisms for describing opening hours and locations shared by various kinds of local business and government office. An example HTML snippet describing a hotline, including the languages offered and provider is available in the WebSchemas Wiki at W3C. would like to encourage review and commentary around this new proposed vocabulary; in particular we would like to hear from potential publishers of such data from around the world. Comments are welcomed here, in the W3C Wiki, by public email to (preferred) or to