From Microformats Wiki
Revision as of 22:22, 5 February 2008 by Tantek (talk | contribs) (removed out of scope question/issue not specific to XFN and left prose pointer for how to spider and crawl the web.)
Jump to navigation Jump to search


This page is for documenting Q&A about XFN in addition to the official XFN FAQ. It is likely that items here will be incorporated there. Or perhaps GMPG may choose to redirect the FAQ here - this is to be determined. For now, if you have a new question to ask about XFN, please consider first asking your question on the microformats-discuss mailing list.

Please first read the official XFN FAQ.

value clarifications

Why is muse in the romantic category

According to the XFN spec, rel="muse" is a link to someone who inspires you, and is listed as being a "romantic" relationship. Does it is always implied as a romantic relationship, since one could certainly find someone else inspiring without being romantically involved/interested?

  • Certainly "muse" was not intended to only be purely romantic in the literal "romantic relationship" sense (though it is clear how that could easily be misconstrued), and of course that meaning is included. The categorization as "romantic" is in a broader sense, similar to romanticism as in enabling the elevation of:

    "the achievements of what it [Romanticism] perceived as misunderstood heroic individuals and artists that altered society."

    or romance the genre.
  • The XFN spec defines muse as well as crush, and one ought not to be confused with the other. Either way, romantically or figuratively, the muse inspires.
  • Note also: The Wiktionary definition of muse

How do I markup my relationship to companies I used to work for

How do I markup my relationship to companies I used to work for?

  • Markup companies that you used to work for on your resume page with hResume. In it each job is captured as an hCalendar event with a nested hCard that represents your identity (title, url, org-unit etc) while you were at that company.
  • For current companies and organizations that you are a part of, take a look at the rel-group microformat brainstorm proposal.

How do I markup people that I used to work with

How do I markup people that I used to work with?

  • Use the XFN 'colleague' relationship to markup your current relationship to your former co-workers.
  • In addition, you can use XFN on links to people within a blog post set a date and time context for when that relationship was true. Thus over time, it is possible to use different XFN values to reflect the evolving nature of your relationships. See XFN: Background: Out of time for more.

How do I markup location info like my office

Is there anything in there for locative info, like 'my office,' etc.? 1
We have "rel" tags for humans. Is there an equivalent for location and place? 2

Markup location info related to your office as part of your type work address (adr) in your hCard.

Why does XFN omit negative values

Wondering why XFN definitions do not include "fool", "enemy", "jerk", "pedant", and so forth. 1

Negative relationship terms have been omitted from XFN by design. The authors think that such values would not serve a positive ends and thus made the deliberate decision to leave them out.

From "XFN Background: Positive or neutral relationships only" - more reasons and explanation provided there.

other possibilities

Why not use rev instead of a keyword to denote the reverse

Why not exploit the rev property to avoid having to use a different keyword to denote the reverse? --Jon Williams 14:41, 8 Jan 2007 (PST)

Can XFN links use protocols other than http

Can you use rel="me" for other protocols besides HTTP? such as mailto: or aim:? --Brian Suda 03:37, 2006-05-12 (PST)

  • The current answer is "yes" particular because XFN only described the relationship between two things, rather than the protocol with which either thing is addressed.


How do you do autodiscovery of XFN

I am interested in the autodiscovery of microformats in html especially xfn. What would that look like? 1

  • On any webpage that represents a person, parse the HTML, especially the space-separated rel attributes of the links (a and link elements), and look for 18 XFN 1.1 values among the rel values. Repeat for the pages that those links with XFN rel values point to. For more on how to crawl links (or a subset thereof determined by rel values) on the Web, see any number of books on how to spider and crawl the web.

Does consolidating a paginated friends list scale

Note: this is an implementation FAQ.

How do services that publish hCard+XFN supporting friends lists and use the rel="me next" and rel="me prev" method for consolidating paginated friends lists scale?

The short answer is: it is pagination that actually scales and publishing complete lists that does not.

In real world practical experience, Twitter's live-on-the-web implementation right now has demonstrated not only that the pagination approach already scales, but more importantly:

"publishing all your friends on one resource" does not scale.*

Twitter employee Blaine said as much at the Social Network Portability Today meetup at the Satisfactory, due primarily to database load.

Note that because this is a backend issues, this is true regardless of the format sent to the front end client (whether HTML, random XML, or CSV). And whether you call it an "API call" or "HTTP GET request" or "page load", on the Web they are all the same thing.

Note also that this isn't uncommon. Twitter isn't the only interface (whether user or programmatic) that requires clients (whether browsers or spiders) to retrieve paginated results. Most search engine APIs for example require clients to make paginated requests.

  • Any such absolute statement ("does not scale") is obviously meant to summarize a measured result rather than be dogmatic in nature because obviously in the literal sense such an unqualified absolute statement can be disproven with carefully chosen examples. In this instance, it has been pointed out that there are services (namely LiveJournal) that can return hundreds of contacts in a single request without any difficulty. Problems have been noted by implementers (e.g. Twitter) when a friends list has more than about 1500 contacts, especially trending into the 10,000 range. With modern (as of 2007) servers and backend software stacks, returning simple datasets this size can take over a second if not cached, which is too long.

See Also