From Microformats Wiki
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.

How do I reference the XFN profile in HTML5

How do I reference the XFN profile in HTML5?

AKA the obsolete profile attribute problem.

When validating an HTML5 document, you may get a warning or error for using the profile attribute, like:

The profile attribute on the head element is obsolete.

In HTML5 documents, instead of:

<head profile="http://gmpg.org/xfn/11">


<link rel="profile" href="http://gmpg.org/xfn/11"/>

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.

Are there any asymmetric XFN relationships

Is there such a thing as an asymmetric xfn relationship?

Most XFN relationships are not required to be symmetric and are therefore often asymmetric in real world use. The only XFN relationships that are effectively always symmetric (per the XFN 1.1 profile) are:

One XFN relationship is required symmetric, that is, unless the relationship is asserted in both directions (e.g. with a hyperlink, see value definitions for details), the relationship cannot be asserted:

All other XFN 1.1 relationships are not required to be symmetric, nor can they necessarily or should be expected to be.

Is there a fan or fan of relationship

Is there a 'fans' or 'fan of' type of XFN relationship?

See XFN Brainstorming: fans and followers.

If I am a fan of someone what rel should I use when linking to them

If I'm a fan of someone, what XFN rel value should I use when linking to them?

Right now there is no good inverse term for stating that you are a fan of someone. You can assert the inverse, that is, you can try linking to someone who you are asserting is a fan of you with rel="fan" per the fans and followers brainstorming, but currently there is no good inverse of fan to link to people that you are a fan of.

follow up would I identify as an acquaintance of that person

Follow-up: Would I identify as an acquaintance of that person?

Not necessarily. rel-acquaintance asserts more than that, that is, that you have at least had a conversation or some sort of interaction with them. You don't necessarily have any interaction with people that you are a fan of.

For now, you could use rel-contact to at least assert that you have some contact information for that person (their URL presmably) or consider that person to be a contact, but even that doesn't convey the meaning that you are a fan of theirs.

authoring and publishing help


Wondering how people intend to validate xfn… 1

  • Use the rel-lint validator by Drew McLellan which checks a page for standard rel values from HTML 4.01 and XFN 1.1, and shows warnings for any unrecognized values.

See XFN Implementations: validators for more.

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