Microdata vs RFDa

Main differences between Microdata and RDFa

  • Microdata is still a Working Draft (2012-10-25) merely a Working Group Note (2013-10-29). RDFa is a finished Recommendation (2013-08-22) (first Recommendation back in 2008).

  • Microdata can be used in HTML(5) only. RDFa is markup-independent ("to express structured data in any markup language") and can already be used in HTML 4.01, HTML5, XHTML, ….

  • Microdata is a relatively new "invention". RDFa is based on the RDF model (RDFa is a RDF serialization format), the foundation of the Semantic Web.

  • If a Microdata parser stumbles upon an unknown item type (resp. vocabulary), it must not try to make use of it. RDF(a) parsers may try to make use of unknown vocabularies (which may work because vocabularies are typically itself described in RDF, e.g. with RDFS).

  • Microdata makes it hard (and often impossible) to validly mix several vocabularies for the same content, which is easily possible with RDFa (thanks to its use of prefixes).

Note that almost all vocabularies are designed in/for RDF(a). With Microdata, most users seem to use only the schema.org vocabulary, but this one can be used with RDFa, too.

Some argue that Microdata is easier to understand/use than RDFa. I don’t think that it’s true, especially not with RDFa Lite, which is sufficient "for most day-to-day needs". You can read the whole RDFa Lite specification in 10-15 minutes.

See also

My answers about

  • differences between Microdata and RDFa (Stack Overflow)

  • the future of RDFa and Microdata (Stack Overflow)

  • RDFa vs. Microdata vs. Microformats (Programmers)

  • differences between Microdata and Microformats

and

  • The (somewhat old) HTML Data Guide (W3C Interest Group Note), which "aims to help publishers and consumers of HTML data use it well. With several syntaxes and vocabularies to choose from, it provides guidance about how to decide which meets the publisher's or consumer's needs. It discusses when it is necessary to mix syntaxes and vocabularies and how to publish and consume data that uses multiple formats."

Choosing which one is better for you is (IMO) somewhat subjective. Here are a couple factors that may help you to make an informed decision:

  • RDFa is problematic for non-XHTML web pages (though support appears to be emerging), and has a bit of a learning curve when dealing with nested entities (see the Google example for Address)

  • Facebook's Open Graph Protocol is RDFa-based

There are likely other factors specific to your situation...