About schema.org

Google and other major search engines support the
schema.org vocabulary for structured data. This
vocabulary defines a standard set of type names and property names, for example,
http://schema.org/MusicEvent indicates
a concert performance, with startDate and
and location properties to specify the
concert's key details.

Data in the schema.org vocabulary may be embedded in an HTML page using any of
three alternative formats: microdata, RDFa, and JSON-LD.

Microdata and
RDFa define new HTML attributes that let you indicate what
schema.org field names correspond with what user-visible text on the page.

JSON-LD is the newest and simplest markup format:
it lets you embed
a block of JSON data inside a script tag anywhere in the HTML. Since the data
does not have to be interleaved with the user-visible text, it's much easier
to express nested data items (say, the Country of a PostalAddress of a
MusicVenue of an Event). Also, Google can read JSON-LD data even when
it is dynamically injected into the page's contents, such as by Javascript code
or embedded "widgets".

Google is in the process of adding JSON-LD support to more markup-powered features.
So far, JSON-LD is supported for all Knowledge Graph features, sitelink
search boxes, and Event Rich Snippets; Google recommends the use of JSON-LD
for those features. For the remaining Rich Snippets types and breadcrumbs,
Google recommends the use of microdata or RDFa.