Schema.org Changes
This document describes changes to the schema.org schema. It serves as a summary of draft/pending changes, and later as a record of updates. For more detail of
proposals and drafts see the proposals listing. Specific pending changes are listed below.
Recent Changes
A summary of major changes to the schema.org vocabulary. We may fix some smaller bugs and typos without noting here, but in general, this is the document where specific draft changes are queued and documented.
Edition 0.91
Version 0.91 was scheduled for mid-April 2012, to include resolution of Singularity issue (singular form of property names);
*URL/*Url property spelling conventions, the addition of Comment, and SoftwareApplication.
These were submitted for inclusion 2012-04-16 went live during the following 7-10 days.
Singularity changes:
- add new properties per Singularity: 23 changes: actor, album, attendee, award, blogPost, colleague, contactPoint,
employee, encoding, episode, event, founder, map, member, parent, performer, photo, review, season, sibling, significantLink, subEvent, track.
- How do we express the aliasing/replacement nature? For now, we simply add these and express the aliasing in prose.
Future updates may indicate the earlier forms as archaic in both HTML and in a machine schema. For now append: "(legacy spelling; see singular form, xxxx)" for each of the definitions of the plural spelling, substituting preferred i.e. singular form for 'xxx'.
- album(s): "A collection of music albums."; new text: "A music album."
- attendee(s): "A person attending the event."; new text: "A person or organization attending the event."
- award(s): "Awards won by this person or for this creative work."; new text: "An award won by this person or for this creative work."
- blogPost(s): "The postings that are part of this blog"; new text: "A posting that is part of this blog."
- employee(s): "People working for this organization."; new text: "Someone working for this organization."
- encoding(s): "The media objects that encode this creative work"; new text: "A media object that encode this CreativeWork.".
- episode(s): (this change also advocated for in the TV/Radio proposal) "The episode of a TV series or season."; new text: "An episode of a TV series or season."
- event(s): "Upcoming or past events associated with this place or organization."; new text: "Upcoming or past event associated with this place or organization."
- parent(s): "A parents of the person."; new text: "A parent of this person."
- performer(s): "The main performer or performers of the event—for example, a presenter, musician, or actor."; new text: "A performer at the event — for example, a presenter, musician, musical group or actor."
- photo(s): "Photographs of this place."; new text: "A photograph of this place."
- review(s): "Review of the item."; new text: "A review of the item."
- season(s): "The seasons of the TV series."; new text: "A season of a TV series."
- significantLink(s): "The most significant URLs on the page. Typically, these are the non-navigation links that are clicked on the most"; new text: "One of the more significant URLs on the page. Typically, these are the non-navigation links that are clicked on the most."
- subEvent(s): "Events that are a part of this event. For example, a conference event includes many presentations, each are subEvents of the conference."; new
text: "An Event that is part of this event. For example, a conference event includes many presentations, each are a subEvent of the conference."
- These property definitions can be copied unchanged from the plural form: actor(s), colleague(s), contactPoint(s), founder(s), map(s), member(s), sibling(s), track(s)
- Per-class Microdata Examples that need updating, to use new itemprop values. The examples are organized by type. Therefore...
TYPES: Movie: 'actor' not 'actors';
TYPES: TVSeries, TVSeason, TVEpisode: 'episode' not 'episodes'; 'season' not 'seasons';
TYPES: VideoObject, MusicGroup, MusicRecording, Event: 'event' not 'events';
TYPES: Product, AggregateRating, Offer, Review, Rating: 'review' not 'reviews';
TYPES: Person, PostalAddress: 'colleague' not 'colleagues';
TYPES: Organization, Address: 'member' not 'members';
TYPES: VideoObject, MusicGroup, MusicRecording, Event: 'track' not 'tracks';
- In docs/extensions.html remove old text "Properties that can take multiple values (such as parents) are plural and those that can take only a single value (such as dateOfBirth) are singular.".
Comment changes:
Based on Comment proposal:
- Add a new type, 'Comment', whose super-type is CreativeWork.
- The description should be: 'A comment on an item - for example, a comment on a blog post. The comment's content is expressed via the "text" property, and its topic via "about", properties shared with all CreativeWorks.'
- Change the description of UserComments from old text, 'A comment about an item.' to new text 'The UserInteraction event in which a user comments on an item'.
- Add a 'text' property to the CreativeWork class, whose value is the Text of the work (and hence of a Comment also). The description should be: 'The textual content of this CreativeWork.''
SoftwareApplication changes:
Based on SoftwareApplication proposal:
(Note, proposal detail had to be reworked to fit new singular idiom and URL/Url case)
Specifically: screenshots became screenshot; operatingSystems became operatingSystem; devices became device. Also 'browsers' became 'browserRequirements' for consistency with 'carrierRequirements'.
- Add a new type, 'SoftwareApplication', whose super-type is CreativeWork. Properties:
- New property 'operatingSystem", expected type Text, description 'Operating system required ("Windows 7", "OSX 10.6", "Android 1.6")'
- New property 'device', expected type Text, description 'Device required to run the application. Used in cases where a specific make/model is required to run the application.'
- New property 'fileSize', expected type Text, description 'Size of the application / package (e.g. 18MB). In the absence of a unit (MB, KB etc.), KB will be assumed.'
- New property 'fileFormat', expected type Text, description 'MIME format of the binary (e.g. application/zip)'
- New property 'applicationCategory', expected type URL or Text, description 'Type of software application. e.g. Game, Multimedia.'
- New property 'applicationSubCategory', expected type URL or Text, description 'Subcategory of the application "e.g. Arcade Game".'
- New property 'downloadUrl', expected type URL, description 'If the file can be downloaded, URL to download the binary.'
- New property 'softwareVersion', expected type Text, description 'Version of the software instance.'
- New property 'releaseNotes', expected type URL or Text, description "Description of what changed in this version."
- New property 'installUrl', expected type URL, description "URL at which the app may be installed, if different from the URL of the item"
- New property 'requirements', expected type URL or Text, description 'Component dependency requirements for application. This includes runtime environments and shared libraries that are not included in the application distribution package , but required to run the application (Examples: DirectX, Java or .NET runtime).'
- New property 'featureList', expected type URL or Text, description 'Features or modules provided by this application (and possibly required by other applications).'
- New property 'screenshot', expected type ImageObject or URL, description 'A link to a screenshot image of the app.'
- New property 'storageRequirements', expected type URL or Text, description 'Storage requirements (free space required).'
- New property 'memoryRequirements', expected type URL or Text, description 'Minimum memory requirements.'
- New property 'processorRequirements', expected type Text, description 'Processor architecture required to run the application (e.g. IA64)'
- New property 'countriesSupported', expected type Text, description 'Countries for which the application is supported. You can also provide the two-letter ISO 3166-1 alpha-2 country code.'
- New property, 'countriesNotSupported', expected type Text, description 'Countries for which the application is not supported. You can also provide the two-letter ISO 3166-1 alpha-2 country code.'
- New property, 'permissions', expected type Text, description 'Permission(s) required to run the app (for example, a mobile app may require full internet access or may run only on wifi).'
- New property, 'applicationSuite', expected type Text, description 'The name of the application suite to which the application belongs (e.g. Excel belongs to Office)'
- Add a new type, 'MobileApplication', whose super-type is the new 'SoftwareApplication' class defined above. Properties:
- new property, 'carrierRequirements', expected type Text, description 'Specifies specific carrier(s) requirements for the application (e.g. an application may only work on a specific carrier network).'
- Add a new type, 'WebApplication', whose super-type is the new 'SoftwareApplication' class defined above. Properties:
- new property, 'browserRequirements', expected type Text, description 'Specifies browser requirements in human-readable text. For example, "requires HTML5 support".'
- NOTE: Since we are not adding the entire software category enumeration, we should somewhere show exactly how these are handled.
The example given in PDF has softwareApplicationSubCategory: Arcade and Action (i.e. text value), and yet softwareApplicationCategory as a link to http://schema.org/GameApplication.
These could be an example for external enumerations. For now we should type them as URL or Text for flexibility; the addition of URL here is an expansion of the original proposal.
Converge URL/Url spelling
- Converge *Url/*URL property spelling, per mixed case resolution:
- For each of embedURL, contentURL, downloadURL, ensure there is an equivalent property named with mixed-case: 'embedUrl', 'contentUrl', 'downloadUrl'.
- For each of embedURL, contentURL, downloadURL append text based on '(legacy spelling; mixed-case is preferred form, ie. xyzUrl rather than xyzURL)' (expanding xyz appropriately to the actual property name)
Changes Pending (drafts)
A package of additions for a "1.0" release was announced in early June 2012. The details will be
recorded here:
The schema.org 1.0 vocabulary is expected to include substantial additions including support for genealogy (via historical-data.org), e-commerce (through collaboration with Good Relations), Learning / Education (with LRMI), a Medical/health vocabulary, additions for describing technical/code and API documentation, and for improved modeling of TV/Radio content.
For Edition 0.95
Version 0.95 adds health/medical, and some smaller fixes.
Health/Medical
The health/medical vocabulary is documented externally. It has been discussed and reviewed by the public-vocabs group, various professional groups, and by W3C's Semantic Web Lifesciences group.
See wiki for background, and schemaorg-medicalext.appspot.com for details.
We don't list the entire vocabulary here.
For Edition 1.0
From 1.0 announcement, "The schema.org 1.0 vocabulary is expected to include substantial additions including support for ..."
Details follow. Examples need to be collected elsewhere (wiki: TODO).
historical-data changes:
From historical-data.org...
- Add a new type, 'HistoricalRecord', whose super-type is CreativeWork.
- HistoricalRecord description is 'A historical record, for example a document relating to family history.' TODO: check this; I don't see a draft text in schema.
- Add properties for HistoricalRecord as described in HistoricalRecord.html: content, date, event, family, historicalCollection, location, note, person, type. TODO: Are we sure of these? Some very general property names here.
- Add a new type, 'Family', whose super-type is Thing.
- Family description is 'A historical or genealogical nuclear family'.
- Add properties for Family as described in Family.html: adoption (Event), child (Person), divorce (event), event (Event), marriage (Event), parent (Person), source (HistoricalRecord). TODO: double-check for similar constructs to 'source'. Check 'event'.
- Add new properties to Event, as listed: media (MediaObject), source (HistoricalObject), type (text). TODO: 'type' is too general, as properties are in a global namespace for whole of schema.org, and we may add a general 'type' property.
- Add new properties to Person per as listed: birth (Event), death (Event), event (Event), gender (Text), marriage (Event), source (HistoricalRecord).
Good Relations
Bulk details to be added or converted to suitable form by Dan Brickley + Martin Hepp.
The Wiki page links to master .doc
- Add prerequisites per .doc, transcribing most actions from there to here:
- per issue-15 add Time and DateTime classes, both subtypes of DataType.
- We confirm that http://schema.org/Boolean works as required, per issue-14.
- TODO: Address handling of known instances (e.g. InStock); - in progress / investigating (dan)
- TODO: look into http://schema.org/QualitativeValue more carefully, as it is very general.
- Confirm that premium video content use case is addressed adequately.
- Action: Add additionalType property to http://schema.org/Thing.
- Action: Add additional properties to http://schema.org/Offer
- Action: Add additional properties to http://schema.org/Product.
- Action: Change range of brand to http://schema.org/Brand (a new type); TODO: Add definition text and super-type.
- TODO: discuss Martin's proposed Action: "Tolerate additional properties from specializations of GoodRelations when using full URIs, e.g.
http://purl.org/vso/ns#engineDisplacement
http://purl.org/vvo/ns#torque " --- what does this mean? Who tolerates what?
- Action: Add additional properties to http://schema.org/Offer.
- Action: Add additional properties to http://schema.org/Organization.
- Action: Add additional properties to http://schema.org/Person.
- Action: Add common superclass http://schema.org/Agent for Organization and Person (and for new Family from historical-data)
- Add all new properties to existing types.
- Add all new types and associated properties, including textual definitions and location in hierarchy.
LRMI
The proposal is summarised in the Web Schemas wiki:
- Add a new AlignmentObject, whose super-type is Intangible, and whose description is *TODO*.
- Add 3 properties of AlignmentObject, as listed: alignmentType, targetDescription, targetName, targetUrl
- Add new properties, each on CreativeWork and with the listed expected types (note that these are possibly applicable elsewhere; TODO: do we put Thing too? Event? or edit later?): educationalAlignment, educationalUse, intendedEndUserRole, interactivityType, isBasedOnUrl, learningResourceType, timeRequired, typicalAgeRange.
TechArticle, API Reference, Code
(to be added)
- Add a new type, TechArticle, whose super-type is Article and whose description is 'A technical article - Example: How-to (task) topics, step-by-step, procedural troubleshooting, specifications, etc.'
- TODO: consider proficiencyLevel relationship to LRMI (and notions of 'audience', see Egor's notes)
- Add properties as listed: aboutProduct (Product); currentProduct (Product); dependencies (Text); proficiencyLevel (Text); technicalAudience (Text);
TV/Radio improvements
Details are in wiki.
Change Log
None (as of 2012-04-10)
Editor: Dan Brickley <danbri@danbri.org>