All posts by ManuSporny

"GNOME3 turned that stupi…

“GNOME3 turned that stupid up to eleven” — on how the Gnome project is dying: http://t.co/O3OxlZWI

@agebhard I could hire some cl…

@agebhard I could hire some clowns and juggle baby chicks while singing “Poker Face”… if that would help re-infuse some randomness?

pic of plane crash showing pil…

pic of plane crash showing pilot/passenger getting stuff out of the plane: http://t.co/kG3sB8Te

whoa – plane just buzzed 100ft…

whoa – plane just buzzed 100ft over the office, crashed on the other side of building – pilot/passenger OK – caught by the chain link fence.

Femto-photography – imaging at…

Femto-photography – imaging at a trillion frames per second: http://t.co/B173sB98 #ted #takethatcanon

Zynga management dumps stock a…

Zynga management dumps stock at 4x current stock price just before crash… booo: http://t.co/B5ELXlFO

Google Residential Fiber (holy…

Google Residential Fiber (holy crap this looks amazing / dammit it’s not offered in Blacksburg, VA): http://t.co/taX5ktVE

RT @cs_conferences: Congrats t…

RT @cs_conferences: Congrats to AKSW’s Ali Khalili, who won Best Paper at @compsac 2012 for “The RFDa Content Editor”! http://t.co/PO2CKCTH

The bear ladder technique (vid…

The bear ladder technique (video): http://t.co/IiQ3Kavs #rescue

A Visual Mind Map of SCRUM: ht…

A Visual Mind Map of SCRUM: http://t.co/yP2jQdbC #scrum #mindmap

Vint Cerf (father of the Inter…

Vint Cerf (father of the Internet) calls bullshit on revisionist Internet history: http://t.co/ECYUaVwm #arpanet #crovitz

Web Payments group on aligning…

Web Payments group on aligning JSON Web Keys & Security vocab, new payswarm.js release, Web Keys http://t.co/EYP3yUCF #payswarm #w3c

JSON-LD group discusses single…

JSON-LD group discusses single term to multiple IRIs, a formal grammar, @context within @context, more: http://t.co/flxP4wB9 #jsonld

Want to find out more about to…

Want to find out more about today’s PaySwarm release? Listen in 15 minutes: http://t.co/dtMsDBtd #futureofmoney #payswarm

Just pushed an update for http…

Just pushed an update for http://t.co/S685NAb1 REST APIs that allows one to use payswarm.js: http://t.co/f439h1tD #payswarm #w3c

@yoichiro @andraz @mterenzio @…

@yoichiro @andraz @mterenzio @orangeaurochs Also, check out the live RDFa editor/visualizer/viewer: http://t.co/yqJY4mM3 #rdfa

@yoichiro @andraz @mterenzio T…

@yoichiro @andraz @mterenzio The RDFa Lite specification is under 5 pages, simple: http://t.co/WmSVpDAI #rdfa #html5

@bsletten Best way to eat Marm…

@bsletten Best way to eat Marmite: toast white bread, spread butter, put 1 tsp of marmite on top – delicious. #yesreally

Ever seen a master mason lay 1…

Ever seen a master mason lay 12-inch block? It’s very zen-like: http://t.co/Pfgvdrmm /via @sivers #mastery #masonry

The onion gives the most bitin…

The onion gives the most biting coverage of the Colorado shootings: http://t.co/I6r575RG

Amazing dot-display blends the…

Amazing dot-display blends the physical with the virtual – encourages opportunistic play: http://t.co/jAHkRdsC

@venessamiemis re: http://t.co…

@venessamiemis re: http://t.co/If10LimE a few suggestions from south west Virginia: http://t.co/xVR1orJ4 #bushmeat #joking

So, two Wildebeasts try to cro…

So, two Wildebeasts try to cross a river: http://t.co/LcGAeSdY /via +Pemo Theodore #joke

@elisabethstaab hey, I spend m…

@elisabethstaab hey, I spend most of my day working on stuff that is only /figuratively/ in flames – nice to see it self actualize for once.

… as in, we were all watchin…

… as in, we were all watching it go, then “POPPFFSSSHH”, blank screens, then smoke coming out of the power supply. #load #testing

So, we were just load testing …

So, we were just load testing the PaySwarm reference implementation, doing tens of thousands of txns – the box /literally/ caught on fire.

Lighter-Than-Air Material Coul…

Lighter-Than-Air Material Could Drastically Change Tech http://t.co/MCoc734t /via @sardire #nanotech

Bitcoin price doubles, goes ab…

Bitcoin price doubles, goes above $9 a year | Ars Technica http://t.co/DgzjoR5x /via +Pemo Theodore #bitcoin

Very interesting new data rela…

Very interesting new data related to Microdata/RDFa usage in 2012: http://t.co/hWQXqGau /via @ronmichael #rdfa #microdata

So, so, so, happy to be excite…

So, so, so, happy to be excited about space exploration again (Dragon mission highlights): http://t.co/Ukv5urcB #spacex #dragon

@mgifford @pjackson28 @Laurent…

@mgifford @pjackson28 @LaurentGoderre #LDOW is pro-Linked Data, pro-HTML5, pro-awesome – basically, anything that makes the Web better. :)

@mgifford @pjackson28 @Laurent…

@mgifford @pjackson28 @LaurentGoderre sorry, try this one – 500% increase in RDFa usage over last 15 months: http://t.co/uLvKulmf

JSON-LD group discusses first …

JSON-LD group discusses first public W3C drafts, biomedical informatics, prefix separators: http://t.co/vnCu25mF #jsonld #w3c

RT @willegan: Love this websit…

RT @willegan: Love this website: http://t.co/UzLfxfHk, first class HTML5 responsive web design & quality RDFa attribution scheme.

@pjackson28 @LaurentGoderre @m…

@pjackson28 @LaurentGoderre @mgifford RDFa usage is far greater (3x+) than Microdata (look at the numbers in that paper I sent)

@pjackson28 @LaurentGoderre @m…

@pjackson28 @LaurentGoderre @mgifford RDFa usage in websites increased 500% in the last 15 months: http://t.co/uLvKulmfand #rdfa #html5

@pjackson28 @LaurentGoderre @m…

@pjackson28 @LaurentGoderre @mgifford We were trying to get RDFa into HTML5 /before/ Microdata existed… #rdfa #html5

@pjackson28 @LaurentGoderre @m…

@pjackson28 @LaurentGoderre @mgifford re: RDFa Lite 1.1 and Microdata – http://t.co/fYcviSaX #html5 #rdfa

Peter Thiel (co-founder of Pay…

Peter Thiel (co-founder of PayPal): Google is no longer a tech company: http://t.co/ptvuL1Hv #innovation

RT @alexmilowski: Updated Gree…

RT @alexmilowski: Updated Green Turtle (0.16.0): a few bug fixes and added a processing complete document event. #rdfa http://t.co/0OTULtTV

What separates funding success…

What separates funding success vs. failure on KickStarter? Great stats: http://t.co/3jLeYzE9 /via @cmdrtaco #crowdfunding

@ivan_herman @BarbaraStarr – f…

@ivan_herman @BarbaraStarr – fixed, but will take 24 hours for Google to lift the warning. (also, we’re migrating that site to diff host)

This is a great 404 (page not …

This is a great 404 (page not found) page: http://t.co/On4YO1t8 #http #errors

The Twitter API problem (and a…

The Twitter API problem (and a potential solution): http://t.co/z7FmVVLP /by @novaspivack #api #monetization

Penny Arcade kickstarting $1M …

Penny Arcade kickstarting $1M to go completely ad-free – help them out (at least watch the hilarious video): http://t.co/DVETHbGC

Woo! JSON-LD officially publis…

Woo! JSON-LD officially published as First Public Working Draft via W3C: http://t.co/mOvT8MgU #w3c #jsonld

RT @simplify: We LOVE all the …

RT @simplify: We LOVE all the “unboxing” photos, but PLEASE OBSCURE THE DEBIT CARD NUMBER! #facepalm

This is a perfect example of w…

This is a perfect example of why credit/debit card numbers are a brain-dead security solution: http://t.co/tCydffAI #payswarm

RT @niklasl: An introduction t…

RT @niklasl: An introduction to Linked Data (and RDFa) in Swedish I held at @ValtechSweden in June this year: http://t.co/AZ6r4czz

RT @bankinnovation: PaySwarm, …

RT @bankinnovation: PaySwarm, Paydiant could take payments in an entirely new direction http://t.co/9qP3ZIYR #w3c

How software defined radios /w…

How software defined radios /will/ revolutionize wireless communication: http://t.co/U0ViXZum #gnuradio #phi

@nlachapelle I’d like to have …

@nlachapelle I’d like to have a chat w/ you re: PaySwarm and Sceneverse – got some time this/next week? email: msporny@digitalbazaar.com

PaySwarm Beta launched: http:/…

PaySwarm Beta launched: http://t.co/1kIzW4yS (part of the Web Payments standardization work at W3C) #payswarm #futureofmoney

Web Payments today – alt. curr…

Web Payments today – alt. currency support, preventing hoarding, p2p digital cash, #payswarm beta release: http://t.co/XGq0os5g #w3c

JSON-LD group discusses multi-…

JSON-LD group discusses multi-language support for Wikidata, better JSON dot-notation data access: http://t.co/u7uJqby6 #w3c #jsonld

"I’m going to make a diff…

“I’m going to make a difference when I’m bullet proof…” – Listening to Shame: http://t.co/Pm1nu3kQ #ted #vulnerability #shame

How open hardware is changing …

How open hardware is changing sailing and cleaning up the environment: http://t.co/EnmEllN4 #ted #robotics #hulldesign

Tomorrow’s open Web Payments d…

Tomorrow’s open Web Payments discussion to cover alternative currencies (part 2): http://t.co/lnf7kmtF #futureofmoney #w3c #payswarm

The company culture myth and h…

The company culture myth and how to avoid it: http://t.co/7mzxrnZZ /via @sardire #startup #culture

RT @semanticweb: #Microdata or…

RT @semanticweb: #Microdata or #RDFa Lite? Dispelling the Myths – http://t.co/fEE3GJSK #schemaorg #seo

As a web developer, should I u…

As a web developer, should I use RDFa or Microdata? Answer: http://t.co/cD2KascO #seo #html5 #rdfa #microdata #w3c

How software defined radios /w…

How software defined radios /will/ revolutionize wireless communication: http://t.co/tAOeWLY8 #gnuradio #phi

@kluoma @bergie One of PaySwar…

@kluoma @bergie One of PaySwarm’s goals is to provide infrastructure for an open source, open protocol, Web app store. #payswarm

Fantastic talk about the power…

Fantastic talk about the power of vulnerability: http://t.co/P7dlyyh7 #addiction #health #overmedication

@bsletten @hrhqkns @temojin Ho…

@bsletten @hrhqkns @temojin How dubstep is made: http://t.co/jpZHiQxj #dubstep #music

Scientists Capture Shadow Cast…

Scientists Capture Shadow Cast By 1 Atom: http://t.co/UqdKj3AX /via @slashdot #science #physics #microscopy #theshadowknows

RT @bsletten: I added an SVG R…

RT @bsletten: I added an SVG RDFa example to the RDFa Play site last night. Check it out in Chrome/Safari: http://t.co/2GkltzjJ

As a web developer, should I u…

As a web developer, should I use RDFa or Microdata? Answer: http://t.co/iQWRP6oF #seo #html5 #rdfa #microdata #w3c

@cssquirrel … and people tha…

@cssquirrel … and people that use underscores in JavaScript code are modern day Nazis. #dramaqueen #justsayin

RT @gkellogg: Higgs explained …

RT @gkellogg: Higgs explained in a great animation. http://t.co/k3JIKKhx #physics #higgs #boson #particles #HULKSMASH

@orangeaurochs @cjclib Also, c…

@orangeaurochs @cjclib Also, check out http://t.co/2GkltzjJ #rdfa #w3c #html5

If you don’t understand what D…

If you don’t understand what Dub Step is, here’s one way to view it (video): http://t.co/HazWtmzc #dubstep #music

Mythical Differences: RDFa Lite vs. Microdata

Full disclosure: I’m the current chair of the standards group at the World Wide Web Consortium that created the newest version of RDFa.

RDFa 1.1 became an official Web specification last month. Google started supporting RDFa in Google Rich Snippets some time ago and has recently announced that they will support RDFa Lite for schema.org as well. These announcements have led to a weekly increase in the number of times the following question is asked by Web developers on Twitter and Google+:

“What should I implement on my website? Microdata or RDFa?”

This blog post attempts to answer the question once and for all. It dispels some of the myths around the Microdata vs. RDFa debate and outlines how the two languages evolved to solve the same problem in almost exactly the same way.

 

Here’s the short answer for those of you that don’t have the time to read this entire blog post: Use RDFa Lite – it does everything important that Microdata does, it’s an official standard, and has the strongest deployment of the two.

Functionally Equivalent

Microdata was initially designed as a simple subset of RDFa and Microformats, primarily focusing on the core features of RDFa. Unfortunately, when this was done, the choice was made to break compatibility with RDFa and effectively fork the specification. Conversely, RDFa Lite highlights the subset of RDFa that Microdata did, but does it in a way that does not break backwards compatibility with RDFa. This was done on purpose, so that Web developers wouldn’t have a hard decision in front of them.

RDFa Lite contains all of the simplicity of Microdata coupled with the extensibility of and compatibility with RDFa. This is an important point that is often lost in the debate – there is no solid technical reason for choosing Microdata over RDFa Lite anymore. There may have been a year ago, but RDFa Lite made a few tweaks in such a way as to achieve feature-parity with Microdata today while being able to do much more than Microdata if you ever need the flexibility. If you don’t want to code yourself into a corner – use RDFa Lite.

To examine why RDFa Lite is a better choice, let’s take a look at the markup attributes for Microdata and the functionally equivalent ones provided by RDFa Lite:

Microdata 1.0 RDFa Lite 1.1 Purpose
itemid resource Used to identify the exact thing that is being described using a URL, such as a specific person, event, or place.
itemprop property Used to identify a property of the thing being described, such as a name, date, or location.
itemscope not needed Used to signal that a new thing is being described.
itemtype typeof Used to identify the type of thing being described, such as a person, event, or place.
itemref not needed Used to copy-paste a piece of data and associate it with multiple things.
not supported vocab Used to specify a default vocabulary that contains terms that are used by markup.
not supported prefix Used to mix different vocabularies in the same document, like ones provided by Facebook, Google, and open source projects.

As you can see above, both languages have exactly the same number of attributes. There are nuanced differences on what each attribute allows one to do, but Web developers only need to remember one thing from this blog post: Over 99% of all Microdata markup in the wild can be expressed in RDFa Lite just as easily. This is a provable fact – replace all Microdata attributes with the equivalent RDFa Lite attributes, add vocab="http://schema.org/" to the markup block, and you’re done.

At this point, you may be asking yourself why the two languages are so similar. There is almost 8 years of history here, but to summarize: RDFa was created around the 2004 time frame, Microdata came much later and used RDFa as a design template. Microdata chose a subset of the original RDFa design to support, but did so in an incompatible way. RDFa Lite then highlighted the subset of the functionality that Microdata did, but in a way that is backwards compatible with RDFa. RDFa Lite did this while keeping the flexibility of the original RDFa intact.

That leaves us where we are today – with two languages, Microdata and RDFa Lite, that accomplish the same things using the same markup patterns. The reason both exist is a very long story involving politics, egos, and a fair amount of disfunctionality between various standards groups – all of which doesn’t have any impact on the actual functionality of either language. The bottom line is that we now have two languages that do almost exactly the same thing. One of them, RDFa Lite 1.1, is currently an official standard. The other one, Microdata, probably won’t become a standard until 2014.

Markup Similarity

The biggest deployment of Microdata on the Web is for implementing the schema.org vocabulary by Google. Recently, with the release of RDFa Lite 1.1, Google has announced their intent to “officially” support RDFa as well. To see what this means for Web developers, let’s take a look at some markup. Here is a side-by-side comparison of two markup examples – one in Microdata and another in RDFa Lite 1.1:

Microdata 1.0 RDFa Lite 1.1
<div itemscope itemtype="http://schema.org/Product">
  <img itemprop="image" src="dell-30in-lcd.jpg" />
  <span itemprop="name">Dell UltraSharp 30" LCD Monitor</span>
</div>
<div vocab="http://schema.org/" typeof="Product">
  <img property="image" src="dell-30in-lcd.jpg" />
  <span property="name">Dell UltraSharp 30" LCD Monitor</span>
</div>

If the markup above looks similar to you, that was no accident. RDFa Lite 1.1 is designed to function as a drop-in replacement for Microdata.

The Bits that Don’t Matter

Only two features of Microdata aren’t supported by RDFa Lite; itemref and itemscope. Regarding itemref, the RDFa Working Group discussed the addition of that property and, upon reviewing Microdata markup in the wild, saw almost no use of itemref in production code. The schema.org examples steer clear of using itemref as well, so it was fairly clear that itemref is, and will continue to be, an unused feature of Microdata. The itemscope property is redundant in RDFa Lite and is thus unnecessary.

5 Reasons

For those of you that still are not convinced, here are the top five reasons that you should pick RDFa Lite 1.1 over Microdata:

  1. RDFa is supported by all of the major search crawlers, including Google (and schema.org), Microsoft, Yahoo!, Yandex, and Facebook. Microdata is not supported by Facebook.
  2. RDFa Lite 1.1 is feature-equivalent to Microdata. Over 99% of Microdata markup can be expressed easily in RDFa Lite 1.1. Converting from Microdata to RDFa Lite is as simple as a search and replace of the Microdata attributes with RDFa Lite attributes. Conversely, Microdata does not support a number of the more advanced RDFa features, like being able to tell the difference between feet and meters.
  3. You can mix vocabularies with RDFa Lite 1.1, supporting both schema.org and Facebook’s Open Graph Protocol (OGP) using a single markup language. You don’t have to learn Microdata for schema.org and RDFa for Facebook – just use RDFa for both.
  4. RDFa Lite 1.1 is fully upward-compatible with RDFa 1.1, allowing you to seamlessly migrate to a more feature-rich language as your Linked Data needs grow. Microdata does not support any of the more advanced features provided by RDFa 1.1.
  5. RDFa deployment is greater than Microdata. RDFa deployment continues to grow at a rapid pace.

Hopefully the reasons above are enough to convince most Web developers that RDFa Lite is the best bet for expressing Linked Data in web pages, boosting your Search Engine Page rank, and ensuring that you’re future-proofing your website as your data markup needs grow over the next several years. If it’s not, please leave a comment below explaining why you’re still not convinced.

If you’d like to learn more about RDFa, try the rdfa.info website. If you’d like to see more RDFa Lite examples and play around with the live RDFa editor, check out RDFa Play.

Thanks to Tattoo Tabatha for the artwork in this blog piece.

JSON-LD group discusses offici…

JSON-LD group discusses official W3C publications & multi-language support for Wikipedia/Wikidata: http://t.co/frGa71SS #jsonld #w3c

@shayhowe @soederpop I’ll writ…

@shayhowe @soederpop I’ll write something up in a blog post and point you to it, difficult to elaborate over twitter :)

@shayhowe @soederpop Look here…

@shayhowe @soederpop Look here: http://t.co/3OWUI35B notice that Microdata is out. Also, RDFa Lite 1.1 is a direct replacement for Microdata

@shayhowe @soederpop Microdata…

@shayhowe @soederpop Microdata is no more a “part” of the HTML5 spec than RDFa is… uptake of RDFa is stronger: http://t.co/BRRk0Fmz #rdfa

The Declaration of Internet Fr…

The Declaration of Internet Freedom: http://t.co/tv4fHyl4 #expression #access #openness #innovation #privacy

Four principles for the open w…

Four principles for the open world: http://t.co/5KRrdJgw #transparency #openness #collaboration #creativedestruction

Open-sourcing imagination: htt…

Open-sourcing imagination: http://t.co/FYRpmrvS #ted #arduino #oss #open #hardware

@iand @gkellogg @prototypo re-…

@iand @gkellogg @prototypo re-classification already done – all malware cleaned, new protections put in place… we’ll see if it works.

I’m farmin’ and I grow it (mus…

I’m farmin’ and I grow it (music video): http://t.co/fALj11My #farming #cattle #kansas

Google Nexus Q is "Design…

Google Nexus Q is “Designed and Manufactured in the USA”(tm): http://t.co/JzO8nUMb #insourcing #usa

Ridiculous Google I/O skydivin…

Ridiculous Google I/O skydiving/wingsuit/rappelling/bike-messenger-racing stunt (video): http://t.co/sGEQ8UR7 #io2012

W3C Web Payments group discuss…

W3C Web Payments group discusses alternative currency support: http://t.co/jnQYl83a #futureofmoney #payswarm #bitcoin #ven

Infinite capacity wireless vor…

Infinite capacity wireless vortex beams (no, really – that’s the title of the article): http://t.co/JIp7QMgQ #802.11 #lte #oam #sam

The problem with patents (info…

The problem with patents (infographic): http://t.co/jeSGymz8 #ip #economy #innovation

X-ing parameters in Internet a…

X-ing parameters in Internet and Web protocols? It’s official – don’t F-ing use them: http://t.co/mzE7aFG8 /via @mnot #ietf #yay

RT @giyom: upcoming telecon on…

RT @giyom: upcoming telecon on alternative currency support in #payswarm June 26 11am PST http://t.co/zkOlGVBm

Today in JSON-LD (publication …

Today in JSON-LD (publication hang-ups, expanded @type recovery, .objectify() vs. .frame()): http://t.co/nDXSzeJG #jsonld #w3c

woo! @dajobe: Raptor RDF synta…

woo! @dajobe: Raptor RDF syntax library 2.0.8 released – RDFa 1.1 support: http://t.co/50vvNfnB #rdfa #w3c

Info on hundreds of millions o…

Info on hundreds of millions of books and videos published in RDFa 1.1 using http://t.co/KJRNfw8o: http://t.co/fIaTWmRb #rdfa #w3c #oclc

Thanks @agebhard – fixed – ove…

Thanks @agebhard – fixed – overzealous out-of-memory killer targeted MySQL // @neumarcx haha :P

Fantastic "You Are Not Sp…

Fantastic “You Are Not Special” speech given at a commencement… http://t.co/hSHaSA5O #life #struggle #pursuitofhappiness

The first rule about Code Club…

The first rule about Code Club is… http://t.co/4rla5tye /via @jahendler #funny #video #cs #education

@shepazu Like this? http://t.c…

@shepazu Like this? http://t.co/TzxRBy1B #hey #ladies

@maxlath Glad you found it use…

@maxlath Glad you found it useful Maxime, more to come in the next several months.

Touching anti-smoking campaign…

Touching anti-smoking campaign (focuses on the message and not the gross-out factor): http://t.co/YTV0JIh7 /via Moritz Tolxdorff

@daaitoulaam @linclark’s been …

@daaitoulaam @linclark’s been moving away from RDFa for a while, recent http://t.co/KJRNfw8o support for RDFa Lite 1.1 may change things.

@dav3c @halindrome may be able…

@dav3c @halindrome may be able to help you out re: XSD issues with XHTML1+RDFa 1.1