faqs-for-rdf: Difference between revisions
(added hGRDDL example) |
m (cleaning up formating (==== -> ==)) |
||
Line 1: | Line 1: | ||
<h1>Microformat FAQs for RDF Fans</h1> | |||
__TOC__ | __TOC__ | ||
== 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). | 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). | ||
Line 12: | Line 12: | ||
== For example..? == | |||
This [http://microformats.org/wiki/hcard-example1-steps example] shows how the hCard microformat can be used to express vCard data. | This [http://microformats.org/wiki/hcard-example1-steps 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 [http://www.w3.org/2001/sw/ Semantic Web]. | Microformats can lower the barrier to putting explicit data on the Web. This is entirely in line with the aims of the [http://www.w3.org/2001/sw/ Semantic Web]. | ||
Line 27: | Line 27: | ||
== I have an RDF vocabulary I would like to use as a microformat. How do I do it? == | |||
Before doing anything else, read the [http://microformats.org/wiki/process 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. | Before doing anything else, read the [http://microformats.org/wiki/process 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. | ||
Line 36: | Line 36: | ||
== So, this is about using CSS class values to add semantics? == | |||
No. XHTML already expresses semantics, the '''HTML''' <code>class</code> attribute is just one of several mechanisms. From the [http://www.w3.org/TR/REC-html40/ HTML 4 spec]: | No. XHTML already expresses semantics, the '''HTML''' <code>class</code> attribute is just one of several mechanisms. From the [http://www.w3.org/TR/REC-html40/ HTML 4 spec]: | ||
Line 46: | Line 46: | ||
See also: [http://www.microformats.org/blog/2005/10/19/more-than-styling/ Class attributes are about more than styling] | See also: [http://www.microformats.org/blog/2005/10/19/more-than-styling/ 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 | In general, microformats rejects the use of explicit namespace prefixes in | ||
Line 53: | Line 53: | ||
== But won't there be naming clashes? == | |||
The social aspect of the microformats [http://microformats.org/wiki/process 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). | The social aspect of the microformats [http://microformats.org/wiki/process 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 [http://www.w3.org/TeamSubmission/grddl/ GRDDL] ([http://www.w3.org/2004/01/rdxh/spec older version]) | See [http://www.w3.org/TeamSubmission/grddl/ GRDDL] ([http://www.w3.org/2004/01/rdxh/spec older version]) | ||
Line 64: | Line 64: | ||
See also: [http://www.w3.org/2006/05/08-htmltf-minutes.html#item03 hGRDDL proposal], [http://www.w3.org/2006/07/SWD/wiki/hGRDDL_Example hGRDDL example] | See also: [http://www.w3.org/2006/05/08-htmltf-minutes.html#item03 hGRDDL proposal], [http://www.w3.org/2006/07/SWD/wiki/hGRDDL_Example hGRDDL example] | ||
== 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. [http://www.w3.org/2003/12/rdf-in-xhtml-xslts/grokXFN.xsl grokXFN.xsl]) to extract the person-related statements, e.g. | 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. [http://www.w3.org/2003/12/rdf-in-xhtml-xslts/grokXFN.xsl grokXFN.xsl]) to extract the person-related statements, e.g. | ||
Line 80: | Line 80: | ||
== What other work has been done with microformats and RDF? == | |||
* [http://www.w3.org/2003/g/td/xfn-workalike XFN on the GRDDL] | * [http://www.w3.org/2003/g/td/xfn-workalike XFN on the GRDDL] | ||
Line 86: | Line 86: | ||
== 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 - [http://www.gmpg.org/xmdp/ XHTML Meta Data Profiles]. Note that XMDP's URLs for specifying terms is compatible with those used by RDF, with "#term" at the end. | 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 - [http://www.gmpg.org/xmdp/ 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 [http://esw.w3.org/topic/MicroModels MicroModels] (on ESW Wiki) | See [http://esw.w3.org/topic/MicroModels 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. | 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. | Lots of folks. | ||
Including: [http://www.w3.org/People/Connolly/ Dan Connolly], [http://internetalchemy.org/ Ian Davis], [http://sw.deri.org/~jbreslin/ John Breslin], [http://dannyayers.com Danny Ayers].... | Including: [http://www.w3.org/People/Connolly/ Dan Connolly], [http://internetalchemy.org/ Ian Davis], [http://sw.deri.org/~jbreslin/ John Breslin], [http://dannyayers.com Danny Ayers].... | ||
== How do I get involved? == | |||
If you're using the Web, you already *are* involved! Next place to go is the [http://microformats.org/ microformats.org] site, and maybe sign up to some of the [http://microformats.org/discuss/ mailing lists] (in particular [http://microformats.org/mailman/listinfo/microformats-discuss/ microformats-discuss]). There's also an IRC channel [irc://irc.freenode.net#microformats #microformats on irc.freenode.net]. | If you're using the Web, you already *are* involved! Next place to go is the [http://microformats.org/ microformats.org] site, and maybe sign up to some of the [http://microformats.org/discuss/ mailing lists] (in particular [http://microformats.org/mailman/listinfo/microformats-discuss/ microformats-discuss]). There's also an IRC channel [irc://irc.freenode.net#microformats #microformats on irc.freenode.net]. |
Revision as of 00:09, 12 May 2007
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 GRDDL (older version)
See also: hGRDDL proposal, hGRDDL example
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.