Microformat FAQs for RDF Fans
- 1 Microformat FAQs for RDF Fans
- 1.1 What are Microformats?
- 1.2 For example..?
- 1.3 But I do RDF, why should I be interested?
- 1.4 I have an RDF vocabulary I would like to use as a microformat. How do I do it?
- 1.5 So, this is about using CSS class values to add semantics?
- 1.6 What about namespaces for the attributes, should I use "xxx:term"?
- 1.7 But won't there be naming clashes?
- 1.8 So how do I get the data out?
- 1.9 Isn't there a clash between the semantics of XFN and FOAF?
- 1.10 What other work has been done with microformats and RDF?
- 1.11 Are there Schemas for Microformats?
- 1.12 What RDF vocabularies (and XSLT) corresponding to microformats is available?
- 1.13 Isn't this just scraping?
- 1.14 Who else is looking at RDF and microformats?
- 1.15 How do I get involved?
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).
See also: About Microformats
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.
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?
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" .
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?
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.