Introduction to RDFa

by Mark Birbeck

24 Reader Comments

Back to the Article
  1. Mark,

    Very nice introduction – my new favorite RDFa introduction!

    How about the linked data aspect? We’ve recently started to flesh this out [1]. I guess it would make sense to do more here in this area, together. What do you think?


    Cheers,
    Michael

    [1] http://ld2sd.deri.org/lod-ng-tutorial/

    Copy & paste the code below to embed this comment.
  2. You have not really made it clear what the real purpose of RDFa is… I don’t really understand what would be the advantage of defining metadata inline

    It seems like we always tend to try and seperate different categories of data; as web developers, we can seperate data from markup (XSLT), we can seperate content from styling (CSS) and we can seperate content from action (Javascript), for instance. Having inline metadata reminds me of the days of inline CSS… ~shudder

    Now I understand the need to target specific parts of the content with additional machine-readable information, but there should be a way to do so without having to clutter up the beautiful, clean, concise markup. Something like an external metadata file?

    I think RDFa might be suitable for a restricted number of projects such as mentioned in the article (Youtube, Yahoo…) but it still has this experimental feel to it. I don’t think the technology is really up to par with the common coding practices of the semantic web.

    What do you think?

    Copy & paste the code below to embed this comment.
  3. hey there, thanks for the article!

    i have been coding with MFs for some time now, and am wondering, you mention that Yahoo! “has been processing RDFa for about a year”, but you don’t mention anything about MFs with them, are they not bothering with MFs, or have they specifically sided toward RDFa?

    other than possibly that, any real strength of one over the other?

    i would rather not have to code BOTH into my mark-up, and, while i have no allegiance to one or the other, i guess i would lean toward MFs, just because i already kind of know them…

    thanks,
    Atg

    Copy & paste the code below to embed this comment.
  4. RDFa/MFs are simply to provide better “semantic” value to your mark-up, meaning, to give users (be they human or bot) a better explanation of exactly “what” the data is, not just what is “says”…

    a date is, i think, the easiest example, and i can think of few people that do a better job of explaining MFs, specifically, than Jeremy Keith:
    http://adactio.com/journal/1579

    another great example of the power MFs/RDFa can bring to the web, check out these guys:
    http://visitmix.com/Lab/Oomph

    cheers,
    Atg

    Copy & paste the code below to embed this comment.
  5. @epgui: Most authors do not create separate, semantic views of data such as RDF and RDFa allows them (and authoring tools) to add machine-readable attributes to their HTML documents and these attributes are part of the content, rather than presentation or behavior; this becomes more important as content (pieces of documents, such as images) gets shared and remixed across sites and pages.

    @Aaron: Microformats provide a similar approach, but they are design patterns (based on defined vocabularies such as dates, contact information, etc.) whereas RDFa enables authors to use an existing vocabulary or create a new vocabulary to describe anything in a semantic manner.

    Copy & paste the code below to embed this comment.
  6. I understand the value of microformats… However, I think the current syntax for highlighting semantic data is not appropriate for a world wide web standard.

    Maybe I am missing the point, it’s just that I don’t like the idea of having all that metadata inline, in the body of my markup. I can see how it would quickly become very unnessecerily cluttered on a very regular project, say, a blog.

    I could see that the benefits of the technology for internet bigshots (again, like Youtube, Google and Yahoo, for instance) would largely outweight the inconvenience…

    I am not one to define web standards, but I am thinking that an external metadata file would be very nice. I would guess it could be easily done with an XPath-like syntax for selecting nodes for which to specify metadata. The whole thing could be just an external XML document.

    I am unaware whether or not something similar already exists.

    I don’t know if that was more clear of a thought =P

    Copy & paste the code below to embed this comment.
  7. Right! You have a very good point, didn’t think of that. A technology like RDFa would prove to be very useful for content that is to be shared across domains or services.

    I’m sure there are also other advantages!

    Copy & paste the code below to embed this comment.
  8. @epgui,

    Interesting question.

    I’d generally see the information added using RDFa as being another ‘version’ of the information you already have in your document. So in that sense it is not like CSS or JavaScript, which are completely different to your inline content.

    For example, if I write:

    _ This article was published today._

    it’s not clear when the article was published. But a tag and some RDFa can make this completely clear:

    _ This article was <span property=“dc:issued” c>published today</span>._

    Have more precise information could be used to improve indexing and search, or be displayed as a tooltip in a browser, and so on. But note that I haven’t added anything ‘new’ to the document, in the way that you do when you say:

    div { color: red; }

    Instead, I’ve simply written June 23rd, 2009 in two different ways.

    Regards,

    Mark

    Copy & paste the code below to embed this comment.
  9. Microformats is supported by Safari, Firefox (with plugins). Is there any such support for existing RDFa vocabularies? Will these RDFa attributes be valid HTML 5?

    Copy & paste the code below to embed this comment.
  10. First off, great article!

    Definitely helpful in distinguishing RDFa from microformats. I’ve only recently started using microformats and have been a little fuzzy on the differences, pros/cons, etc. between the two.

    For those wanting more info on microformats, I highly suggest reading Emily Lewis’ series on microformats:
    http://www.ablognotlimited.com/articles/getting-semantic-with-microformats-introduction/

    I am looking forward to part 2 of this RDFa primer.

    Thanks again,

    Jason

    Copy & paste the code below to embed this comment.
  11. Following the discussion in post 8.

    From a usability perspective I like the concept of RDFa’s as it provides greater context to the information that you’re providing to users on the web.

    However, as an author creates content, they so to need an easy way of adding the RDFa descriptors. I suppose it’s another piece of training that needs to be done, learning the vocabulary of Dublin Core. How does this integrate with CMS systems? Does the insertion of RDFa’s lie with the author or the developer?

    Copy & paste the code below to embed this comment.
  12. So if we’ve declared that we’re using a specific vocabulary up at the top, for example Dublin Core:

    <html xmlns:dc=“http://purl.org/dc/terms/”>

    Why is it that the property atribute also has to contain the vocabulary prefix (dc:) such as:

    <em property=“dc:creator” c>…</em>

    instead of only “creator”?

    Does that mean that it’s possible to reference multiple vocabularies at the top and therefore use multiple properties when identifying an author in inline text?

    _<em property=“dc:creator” property=“myown:creator” property=“someoneelses:atuhor” c>…</em>

    Copy & paste the code below to embed this comment.
  13. This style of meta data on the web is flawed in every sense and is a step backwards. Semantics require smarter computing, and smarter indexing, but allow for a more conventional information ideology, and less of a flawed system of ever-changing configuration standards.

    Semantic information processing is the way of the future. Remember where you read this cause I’m gonna quote myself later. Semantics vs RDFa is like Capitalism vs Communism. One allows for natural progression and adapts, setting new rules (ie, XHMTL…Banking regulations), and the other tries to create the mother of all systems that accounts for everything… except for oh, we didn’t expect that, or that, wait… followed by years of web clean up again just like html4 left behind (the ‘ie’ for communism’s comparison would be RDFa…Kyoto Protocol which attempts to understand all things science here and now and makes rules for each attribute, all set in stone).

    RDFa even goes against Aristotle’s teachings. Those who study philosophy understand what I mean.

    Copy & paste the code below to embed this comment.
  14. For those who come and say “Micro Formats are semantic you fool.”. Keep in mind that my idea is only to avoid making exact science. Science should always be obscure so as to always remain open for modification. To create a sub-section of W3’s already semantic (X)HTML is not intelligent.

    HTML5 is the perfect example of this non-obscure science. Who’s to say that in 5 years we’ll even have footers and headers on websites? “Oh, we’ll just delete that element and add a new one when it exists”.

    Copy & paste the code below to embed this comment.
  15. This is a very detailed and informative post. Not only that you introduced me to a new term, RDFa, but you presented it in a very clear manner that even I can understand. Thanks!

    Copy & paste the code below to embed this comment.
  16. I’m not up on HTML 5 as of yet, but how does RDFa fit into a standards-compliant web page. HREF and REL cannot be used on an IMG tag under XHTML 1.0 and break standards compliance. Is RDFa just a proposal to have built into the standard or is it already supported in HTML 5? Most Micro Formats work within the existing spec. I apologize if this is a stupid question, but the article didn’t make it clear.

    Copy & paste the code below to embed this comment.
  17. Will this RDFA create impact in the search engines and results? Was the question that raised in to my mind when this was started. But it has made so much effect in the search results. The search engine loves the sites having good no of reviews.

    Copy & paste the code below to embed this comment.
  18. @audienst : RDFa uses is own dtd based on XHTML 1.1, and named XHTML+RDFa 1.0. It implies that the pages using it have to be declared as application/xhtml+xml document type.

    This is a really great text I surely will translate into French.

    Copy & paste the code below to embed this comment.
  19. At least for dates it would be better to be able to state something like:

    <span property=“dc:issued”>2009-06-23</dc>

    and then have a CSS or presentation schema that says:

    a[property=dc:issued] {
    date-template: ‘published on %M %d’;
    }

    or something of the likes.

    The goal of something like this would be to have only one version of the data in the HTML document, and let the way its spelled for humans be a presentational issue.

    For this to work, some basic data formats should be standarized, for instance:

    Date, Long, Float, String

    we could have something like:

    HTML:

    Richard Avalon, New York Times

    CSS:

    and a string template by explode

    a[spp:photo-attribution] {
    string-template-explode:’,’ ‘This photograph was taken by %1, and originally published on %2’;
    }

    Copy & paste the code below to embed this comment.
  20. Thanks for the primer, very well written indeed.

    It’s worth mentioning that another DOCTYPE must be used if one doesn’t want one’s pages to break validation:

    &lt;!DOCTYPE html PUBLIC &#8220;-//W3C//DTD XHTML+RDFa 1.0//EN&#8221;<br /> &nbsp; &#8220;http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd&#8221;&gt;

    “Source”:http://www.w3.org/MarkUp/2009/rdfa-for-html-authors#Validating

    Copy & paste the code below to embed this comment.
  21. Discuss this article is very nice.Thanks for good article.

    Copy & paste the code below to embed this comment.
  22. epgui said: “Something like an external metadata file?”

    There are two ways of doing that at the moment – one is called GRDDL, which is a W3C standard that uses XSLT and can be used with HTML 4 and XHTML 1.x. It’s a bit complex though. I’m leaning more towards a non-W3C standard solution called RDF-EASE which uses a CSS-like syntax for basically overlaying metadata in the same way that a CSS file overlays styling information.

    Aaron Gregg: “you mention that Yahoo! “has been processing RDFa for about a year”, but you don’t mention anything about MFs with them, are they not bothering with MFs, or have they specifically sided toward RDFa?”

    Yahoo! are parsing both microformats and RDFa. Google are also parsing both microformats and RDFa, but Google’s RDFa parsing is a bit disappointing (for various long-winded reasons I won’t go into).

    A few comments make comparsions between RDFa and Microformats and ask the difference. The existence of RDFa is not a reason not to publish microformats (and vice versa). You can easily interleave microformats and RDFa into one document. I’ve put up an example document at http://gist.github.com/138115 – showing hCard and RDFa mixed together. It uses a variety of exisiting RDF vocabularies in some interesting ways.

    islandapart: What you seem to prefer is to wash your hands of all semantics and basically just let Google’s text-extracting sausage machine handle it all. That’s fine, except for – like capitalism, I guess – you then being completely reliant on Google’s whims for everything. If we as web developers all take semantics to hand – proper, deep semantics of what the actual objects being represented are there fore rather than just the surface semantics of “this is a header, this is the body text” etc. – we can ensure vendor neutrality and make sure that the Web can be a place for everyone to enjoy, rather than semantics being something for those with clever programmers, lots of patents and the money to buy lots and lots of computing power.

    And, well, I’ve studied Aristotle (among many other philosophers) and nothing I’ve read in my day-job as a philosophy student convinces me that RDFa or microformats are bad ideas. In fact, the great philosophers have very little to say about W3C standards, semantic markup or CSS. They don’t tell me much about the Java virtual machine or whether to use Linux, Mac or Windows. To suggest they do is quite silly.

    Copy & paste the code below to embed this comment.
  23. I agree with @islandjumper. This should be the role of the machine to understand and parse documents but it is not possible yet (better, more sophisticated AI needed). I don’t like the whole MF idea – putting semantics into class attribute is messy and unnecessary. I think W3C should focus more on XHTML 2.0 and introduce some dict: namespace with global dictionaries read by all bots. But, because W3C decided to do this step back (I just read that MS don’t like HTML 5 spec and they won’t implement it) we have to wait another 10 years to make this possible.

    Copy & paste the code below to embed this comment.
  24. Hi,

    I translated the article into Bulgarian in my blog (http://dichev.net/bg/posts/114).

    Looking forward for the next of the series.

    Copy & paste the code below to embed this comment.