xfn-faq: Difference between revisions
(Why not use rev? Because rev should not be used. See rel-faq.) |
m (Replace <entry-title> with {{DISPLAYTITLE:}}) |
||
(17 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
{{DISPLAYTITLE: XFN FAQ }} | |||
This page is for documenting Q&A about [[xfn|XFN]] in addition to the [http://gmpg.org/xfn/faq 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 [http://microformats.org/mailman/listinfo/microformats-discuss/ microformats-discuss] mailing list. | This page is for documenting Q&A about [[xfn|XFN]] in addition to the [http://gmpg.org/xfn/faq 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 [http://microformats.org/mailman/listinfo/microformats-discuss/ microformats-discuss] mailing list. | ||
Line 5: | Line 5: | ||
Please first read the [http://gmpg.org/xfn/faq official XFN FAQ]. | Please first read the [http://gmpg.org/xfn/faq 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: <blockquote>The profile attribute on the head element is obsolete.</blockquote> | |||
In HTML5 documents, instead of: | |||
<source lang=html4strict> | |||
<head profile="http://gmpg.org/xfn/11"> | |||
</source> | |||
Use: | |||
<source lang=html4strict> | |||
<head> | |||
<link rel="profile" href="http://gmpg.org/xfn/11"/> | |||
</source> | |||
== value clarifications == | |||
=== Why is muse in the romantic category === | === Why is muse in the romantic category === | ||
''According to the [http://gmpg.org/xfn/11 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?'' | ''According to the [http://gmpg.org/xfn/11 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?'' | ||
Line 15: | Line 31: | ||
* Note also: [http://en.wiktionary.org/wiki/muse The Wiktionary definition of ''muse''] | * Note also: [http://en.wiktionary.org/wiki/muse 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|hResume]]. In it each job is captured as an [[hcalendar|hCalendar]] event with a nested [[hcard|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 [http://gmpg.org/xfn/background#timeless 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.? [http://twitter.com/chrisbrogan/statuses/680669842 1]'' <br /> | |||
''We have "rel" tags for humans. Is there an equivalent for location and place? [http://twitter.com/chrisbrogan/statuses/680135072 2]'' | |||
Markup location info related to your office as part of your <code>type</code> <code>work</code> address (<code>adr</code>) in your [[hCard]]. | |||
=== Why does XFN omit negative values === | |||
''Wondering why XFN definitions do not include "fool", "enemy", "jerk", "pedant", and so forth. [http://twitter.com/Vaguery/statuses/673040272 1]'' | |||
<blockquote><p>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.</p></blockquote> | |||
From "[http://gmpg.org/xfn/background#positive 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 [http://gmpg.org/xfn/11 XFN 1.1 profile]) are: | |||
* [[rel-co-worker]] | |||
* [[rel-colleague]] | |||
* [[rel-co-resident]] | |||
* [[rel-date]] | |||
**in practice it has been pointed out that the broadly varying definitions of 'date' used in common discourse often lead to asymmetries of understanding between one individual and a person they have a rel-date relationship with. This could probably use more real world analysis. | |||
* [[rel-kin]] | |||
* [[rel-met]] | |||
* [[rel-neighbor]] | |||
* [[rel-sibling]] | |||
* [[rel-spouse]] | |||
* [[rel-sweetheart]] | |||
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: | |||
* [[rel-me]] | |||
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|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 [[xfn-brainstorming#fans_and_followers|fans and followers brainstorming]], but currently there is [http://twitter.com/t/statuses/746089852 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 == | |||
=== validation === | |||
''Wondering how people intend to validate xfn… [http://twitter.com/lmjabreu/statuses/667894392 1]'' | |||
* Use the [http://tools.microformatic.com/help/xhtml/rel-lint/ rel-lint] validator by [[User:DrewMcLellan|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| XFN Implementations: validators]] for more. | |||
== other possibilities == | |||
=== Why not use rev instead of a keyword to denote the reverse === | === 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? --[[User:WizardIsHungry|Jon Williams]] 14:41, 8 Jan 2007 (PST)'' | ''Why not exploit the rev property to avoid having to use a different keyword to denote the reverse? --[[User:WizardIsHungry|Jon Williams]] 14:41, 8 Jan 2007 (PST)'' | ||
Line 20: | Line 109: | ||
* In short, <code>rev</code> should not be used. For more details see the [[rel-faq|rel FAQ]] in particular [[rel-faq#Should_.27rev.27_even_be_used|Should 'rev' even be used]]. | * In short, <code>rev</code> should not be used. For more details see the [[rel-faq|rel FAQ]] in particular [[rel-faq#Should_.27rev.27_even_be_used|Should 'rev' even be used]]. | ||
< | === Can XFN links use protocols other than http === | ||
''Can you use rel="me" for other protocols besides HTTP? such as mailto: or aim:? --[[User:BrianSuda|Brian Suda]] [http://rbach.priv.at/Microformats-IRC/2006-05-12#T033706 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. | |||
== development == | |||
=== How do you do autodiscovery of XFN === | |||
''I am interested in the autodiscovery of microformats in html especially xfn. What would that look like? [http://twitter.com/rmarkwhite/statuses/677103472 1]'' | |||
* On any webpage that represents a person, parse the HTML, especially the space-separated <code>rel</code> attributes of the links (<code>a</code> and <code>link</code> elements), and look for [http://gmpg.org/xfn/11 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|hCard+XFN supporting friends lists]] and use the <code>rel="me next"</code> and <code>rel="me prev"</code> [[hcard-xfn-supporting-friends-lists#Implement_hCard_XFN_supporting_friends_lists|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, [http://twitter.com Twitter]'s live-on-the-web implementation right now has demonstrated not only that the pagination approach already scales, <strong style="text-transform:uppercase">but</strong> more importantly: | |||
"publishing all your friends on one resource" <strong style="text-transform:uppercase">does not</strong> scale.[[xfn-faq#not-scale-explanation|*]] | |||
Twitter employee Blaine said as much at the [[events/2007-08-28-social-network-portability-today|Social Network Portability Today meetup at the Satisfactory]], due primarily to database load. | |||
Note that because this is a <em>backend</em> 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. | |||
<div id="not-scale-explanation"> | |||
* 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 <strong>1500</strong> 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. | |||
</div> | |||
== See Also == | |||
{{xfn-related-pages}} | |||
adde |
Latest revision as of 16:35, 18 July 2020
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">
Use:
<head>
<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:
or romance the genre."the achievements of what it [Romanticism] perceived as misunderstood heroic individuals and artists that altered society."
- 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:
- rel-co-worker
- rel-colleague
- rel-co-resident
- rel-date
- in practice it has been pointed out that the broadly varying definitions of 'date' used in common discourse often lead to asymmetries of understanding between one individual and a person they have a rel-date relationship with. This could probably use more real world analysis.
- rel-kin
- rel-met
- rel-neighbor
- rel-sibling
- rel-spouse
- rel-sweetheart
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
validation
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)
- In short,
rev
should not be used. For more details see the rel FAQ in particular Should 'rev' even be used.
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.
development
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
andlink
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
- XFN+hCard supporting friends lists - examples in the wild of XFN usage.
- xfn-implementations
- xfn-cheatsheet - see http://gmpg.org/xfn/join and existing-rel-values
- xfn-faq
- xfn-clarifications - should eventually be rolled into XFN info on GMPG.org.
- xfn-issues
- xfn-brainstorming
adde