faqs-for-rdf: Difference between revisions

From Microformats Wiki
Jump to navigation Jump to search
m (Replace <entry-title> with {{DISPLAYTITLE:}})
 
(3 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<h1>Microformat FAQs for RDF Fans</h1>
{{DISPLAYTITLE:Microformat FAQs relating to RDF}}


__TOC__
== What are Microformats ==
'''What are Microformats?'''


== What are Microformats? ==
Microformats are a set of simple, open data formats built upon existing and widely adopted standards, in particular [[semantic-html|semantic (X)HTML]]. The [[process|processes]], [[principles]], and practices of the microformats open standards community are what make microformats "microformats", but they center on using HTML and XHTML as designed, as a semantic language (though they can and have been implemented in other XML formats, e.g. RSS, Atom). See [[what-are-microformats]] for more.


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).
One of the microformats principles is humans first, machines second. The more human friendly syntax of microformats can be converted to RDF via a number of mechanisms:
 
* microformats that have [[XMDP]] profiles can simply be directly used with RDF-compatible URIs for microformats terminology provided by those profiles. See [[profile-uris]].
Although the microformats initiative puts human-readability first, with the help of the [http://www.w3.org/2004/01/rdxh/spec GRDDL] mechanism, it is possible to view microformats as domain-specific [http://www.w3.org/RDF/ RDF] serializations.  
* With the help of the [http://www.w3.org/2004/01/rdxh/spec GRDDL] mechanism, it is possible to view microformats as domain-specific [http://www.w3.org/RDF/ RDF] serializations.  


See also: [http://microformats.org/about/ About Microformats]
See also: [http://microformats.org/about/ About Microformats]


== Why were microformats proposed when RDF already existed ==
'''Why were microformats proposed when RDF already existed to markup semantic information?'''


== For example..? ==
When Tantek first proposed microformats in 2004 with Kevin Marks ([http://tantek.com/presentations/2004etech/realworldsemanticspres.html] see [[history]] for more), it was in many ways a proof of concept that the neither the RDF data model nor (and especially) syntax(es) had significant advantages as a way of modeling (and especially ''authoring'') data over and above simple markup that perhaps mainstream to modern web designers were already broadly familiar with. And not just a lack of advantages, but that frankly, perhaps simpler, more real world solutions were possible.


This [http://microformats.org/wiki/hcard-example1-steps example] shows how the hCard microformat can be used to express vCard data.
== How real are microformats ==
'''But how real are microformats?'''


In just five years after that initial proposal, there is already solid support for several microformats in numerous sites from as large as AOL, Google, Yahoo, Yelp, to a very long tail of smaller sites - at last count Yahoo Searchmonkey reported over 1.3 billion [[hCards]] on the web. What started as a proof of concept has become the dominant form of representing semantics (over and above what's built into HTML) on the web.


== But I do RDF, why should I be interested? ==
== 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 lower the barrier to publishing data on the Web. This is entirely in line with the high level goals of the [http://www.w3.org/2001/sw/ Semantic Web].


Dan Connolly [http://lists.w3.org/Archives/Public/www-rdf-interest/2000Mar/0103 rdf-interest, March 2000]:
Dan Connolly [http://lists.w3.org/Archives/Public/www-rdf-interest/2000Mar/0103 rdf-interest, March 2000]:
Line 29: Line 34:
== I have an RDF vocabulary I would like to use as a microformat. How do I do it? ==
== 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 microformats [[process]].  
 
In general the microformat process is empirical-data-driven. It starts with material already being published (and ''implied'' schema therein), rather than an existing format, model or explicit schema.  


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.
Check the list of what has already been covered and the work-in-progress on the Wiki [[Main_Page]].  


See also: [http://tantek.com/presentations/2005/03/elementsofxhtml/ The Elements of Meaningful XHTML]
It may be that there is already a microformat for the data you want to represent.


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 Plain Old Semantic HTML ([[POSH]]) way of doing this.


== So, this is about using CSS class values to add semantics? ==
== So, this is about using CSS class values to add semantics? ==
Line 48: Line 56:
== What about namespaces for the attributes, should I use "xxx:term"? ==
== 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
documents as unnecessary for solving the 80/20 of problems that microformats
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 [http://research.talis.com/2005/erdf/wiki/Main/RdfInHtml RDF-in-HTML], rather to define more domain-specific formats.
seeks to solve. The general approach taken is not to attempt to generalize to the extent of [http://research.talis.com/2005/erdf/wiki/Main/RdfInHtml RDF-in-HTML], rather to define more domain-specific formats.




== But won't there be naming clashes? ==
== 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 [[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).
 
In addition, [[XMDP]] profiles can be used to explicitly define terms used in microformats.




Line 71: Line 81:
== Isn't there a clash between the semantics of XFN and FOAF? ==
== 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 mask 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.
<pre>
<pre>
_:personA foaf:homepage &lt;http://example.org/this-page&gt; .
_:personA foaf:homepage &lt;http://example.org/this-page&gt; .
Line 94: Line 104:


Kind of. The primary specification is XHTML, but HTML4 provides a mechanism (the 'profile' attribute of the &lt;head&gt; 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 &lt;head&gt; 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.
See [[XMDP]] for more.




Line 100: Line 112:
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. microformats specify parsing therefore do not require or suggest scraping.
microformats define parsing rules for well defined markup (e.g. [[hcard-parsing]] - applicable to most microformats).


== Isn't this just scraping? ==
"scraping", on the otherhand, is the use of site-specific regular expressions that ignore markup.


No. Because microformats (should) [[profile-uris|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.
Also microformats can [[profile-uris|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? ==
== Who else is looking at RDF and microformats? ==


Lots of folks.
* [http://www.w3.org/People/Connolly/ Dan Connolly]
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], [http://buzzword.org.uk/cognition/ Toby Inkster]...
* [http://internetalchemy.org/ Ian Davis]
* [http://sw.deri.org/~jbreslin/ John Breslin]
* [http://dannyayers.com Danny Ayers]
* [http://buzzword.org.uk/cognition/ Toby Inkster]
* [http://weborganics.co.uk/ Martin McEvoy]
* ... please add yourself if you are as well!


== How do I get involved? ==
== 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].

Latest revision as of 16:22, 18 July 2020


What are Microformats

What are Microformats?

Microformats are a set of simple, open data formats built upon existing and widely adopted standards, in particular semantic (X)HTML. The processes, principles, and practices of the microformats open standards community are what make microformats "microformats", but they center on using HTML and XHTML as designed, as a semantic language (though they can and have been implemented in other XML formats, e.g. RSS, Atom). See what-are-microformats for more.

One of the microformats principles is humans first, machines second. The more human friendly syntax of microformats can be converted to RDF via a number of mechanisms:

  • microformats that have XMDP profiles can simply be directly used with RDF-compatible URIs for microformats terminology provided by those profiles. See profile-uris.
  • With the help of the GRDDL mechanism, it is possible to view microformats as domain-specific RDF serializations.

See also: About Microformats

Why were microformats proposed when RDF already existed

Why were microformats proposed when RDF already existed to markup semantic information?

When Tantek first proposed microformats in 2004 with Kevin Marks ([1] see history for more), it was in many ways a proof of concept that the neither the RDF data model nor (and especially) syntax(es) had significant advantages as a way of modeling (and especially authoring) data over and above simple markup that perhaps mainstream to modern web designers were already broadly familiar with. And not just a lack of advantages, but that frankly, perhaps simpler, more real world solutions were possible.

How real are microformats

But how real are microformats?

In just five years after that initial proposal, there is already solid support for several microformats in numerous sites from as large as AOL, Google, Yahoo, Yelp, to a very long tail of smaller sites - at last count Yahoo Searchmonkey reported over 1.3 billion hCards on the web. What started as a proof of concept has become the dominant form of representing semantics (over and above what's built into HTML) on the web.

But I do RDF, why should I be interested?

Microformats lower the barrier to publishing data on the Web. This is entirely in line with the high level goals 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 microformats process.

In general the microformat process is empirical-data-driven. It starts with material already being published (and implied schema therein), rather than an existing format, model or explicit schema.

Check the list of what has already been covered and the work-in-progress on the Wiki Main_Page.

It may be that there is already a microformat for the data you want to represent.

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 Plain Old Semantic HTML (POSH) way of doing this.

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 generalize 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).

In addition, XMDP profiles can be used to explicitly define terms used in microformats.


So how do I get the data out?

See GRDDL (older version)

See also: hGRDDL proposal, hGRDDL example


What is GRDDL?

See grddl.

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 mask 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.

See XMDP for more.


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

See MicroModels (on ESW Wiki)

Isn't this just scraping?

No. microformats specify parsing therefore do not require or suggest scraping.

microformats define parsing rules for well defined markup (e.g. hcard-parsing - applicable to most microformats).

"scraping", on the otherhand, is the use of site-specific regular expressions that ignore markup.

Also microformats can 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.