From Microformats Wiki
Jump to navigation Jump to search

Microformat FAQs for RDF Fans

What are Microformats?

Microformats are a set of simple, open data formats built upon existing and widely adopted standards, in particular XHTML used correctly. The processes, principles, and practices of the (open) microformats group are what make microformats "microformats", but they centre on using XHTML as designed, as a semantic language (though they can also be implemented on other XML formats, e.g. Atom).

Although the microformats initiative puts human-readability first, with the help of the GRDDL mechanism, it is possible to view microformats as domain-specific RDF serializations.

See also: About Microformats

For example..?

This example shows how the hCard microformat can be used to express vCard data.

But I do RDF, why should I be interested?

Microformats can lower the barrier to putting explicit data on the Web. This is entirely in line with the aims of the Semantic Web.

Dan Connolly rdf-interest, March 2000:

I believe that one of the best ways to transition into RDF, if not a long-term deployment strategy for RDF, is to manage the information in human-consumable form (XHTML) annotated with just enough info to extract the RDF statements that the human info is intended to convey. In other words: using a relational database or some sort of native RDF data store, and spitting out HTML dynamically, is a lot of infrastructure to operate and probably not worth it for lots of interesting cases. We all know that we have to produce a human-readable version of the thing… why not use that as the primary source?

I have an RDF vocabulary I would like to use as a microformat. How do I do it?

Before doing anything else, read the Process. In general the microformat process is data-driven. It starts with material already being published, rather than an existing format, model or schema. You should also check the list of what has already been covered and the work-in-progress on the Wiki MainPage.

It may well be that what you have in mind isn't appropriate for use as a microformat, but it may still be a good idea to develop a (semantic) XHTML representation. Existing microformats demonstrate a standards-friendly way of doing this.

See also: The Elements of Meaningful XHTML

So, this is about using CSS class values to add semantics?

No. XHTML already expresses semantics, the HTML class attribute is just one of several mechanisms. From the HTML 4 spec:

The class attribute, on the other hand, assigns one or more class names to an element; the element may be said to belong to these classes.

See also: Class attributes are about more than styling

What about namespaces for the attributes, should I use "xxx:term"?

In general, microformats rejects the use of explicit namespace prefixes in documents as unnecessary for solving the 80/20 of problems that microformats seeks to solve. The general approach taken is not to attempt to generalise to the extent of RDF-in-HTML, rather to define more domain-specific formats.

But won't there be naming clashes?

The social aspect of the microformats Process is such that conflicts ought to be prevented. The goal is to keep things as simple as possible by only focusing on existing well-defined problems, rather than trying to "boil the ocean" (solve the hypothetical general case).

So how do I get the data out?


See also: hGRDDL proposal

Isn't there a clash between the semantics of XFN and FOAF?

The use of the page URI in XFN to identify a person appears to conflict with FOAF's by-reference approach, and to mess up the potential for saying things about the page itself. However in practice this isn't a problem. It's possible to parse the document as XFN (using e.g. grokXFN.xsl) to extract the person-related statements, e.g.

_:personA foaf:homepage <http://example.org/this-page> .
_:personA foaf:knows _:personB .
_:personB foaf:homepage <http://example.org/linked-page> . 

- and independently parse the document using other format mappings (e.g. dc-extract.xsl) to obtain other statements, e.g.

<http://example.org/this-page> dc:creator "The Creator" .

See also: XFN on the GRDDL, XFN Delusions of Grandeur, XFN Grandeur, XFN vs. FOAF

What other work has been done with microformats and RDF?

Are there Schemas for Microformats?

Kind of. The primary specification is XHTML, but HTML4 provides a mechanism (the 'profile' attribute of the <head> element) to point to a meta data profile that defines properties and values. There is a (HTML-based) format specified for microformat profiles - XHTML Meta Data Profiles. Note that XMDP's URLs for specifying terms is compatible with those used by RDF, with "#term" at the end.

What RDF vocabularies (and XSLT) corresponding to microformats is available?

See MicroModels (on ESW Wiki)

Isn't this just scraping?

No. Because microformats (should) include URI(s) for every profile used, and the profiles are clearly defined, the explicit data contained in a document can be extracted deterministically by parsing.

Who else is looking at RDF and microformats?

Lots of folks. Including: Dan Connolly, Ian Davis, John Breslin, Danny Ayers....

How do I get involved?

If you're using the Web, you already *are* involved! Next place to go is the microformats.org site, and maybe sign up to some of the mailing lists (in particular microformats-discuss). There's also an IRC channel #microformats on irc.freenode.net.