[uf-discuss] "authoritative hCards", a simpler proposl
Ryan King
ryan at technorati.com
Thu Feb 8 17:20:12 PST 2007
I apologize for being semi-away for awhile.
Catching up in the last few days, I find that there are some
probelems with the "authoritative hcards" proposals. I've already
spoken up a bit, but I want to delineate my perspective and outline
in full my counter-proposal.
First, the problems:
Problem 1: Not tackling the simplest problem first.
Before solving the problem of 'canonical' or 'authoritative' hCards,
we should solve the problem of 'hcards representing the same person'.
Before you can have trust you need identity.
Problem 2: Not understanding the scope of XFN.
XFN links apply to entire pages, not parts of pages. This means that
using XFN links inside multiple hCards on the same page is not
possible. Therefore, while using XFN's identity consolidation to
consolidate hCards is useful (and can be used regardless of any other
mechanisms), it is not sufficient, as it does not allow for the case
of multiple hCards on a page, nor does it work for Organizations,
only people.
Problem 3: No analysis of prior art.
Publishers have been using the UID property of hCard to signal
"another hCard for this one". The hypothesis that's being tested is
that using URL and UID on the same URL is sufficient for being able
to connect hCards that represent the same entity.
(As a sidenote, I find that documentation of this experiment is hard
to come by.)
Problem 4: Not reusing within the format in question.
Reusing properties from other microformats is great and certainly a
design goal. However, first we must look within a given format to see
if there's a property that can solve our problem.
Ok, enough of the negative stuff, on to a proposal.
My proposal is that we use UID+URL to hint that there's an hCard on
the other end of that URL which represents the same entity. Also,
multiple hCards with the same UID may be considered as representing
the same entity.
Note that eventful.com is already using this. From http://
eventful.com/events/E0-001-002585347-7:
<div class="location vcard">
<a rel="bookmark" class="url uid fn org" href="/venues/
V0-001-000212939-9">Pacific Science Center</a>
<div class="adr">
<span class="street-address">200 Second Ave. N</span><br />
<span class="locality">Seattle</span>,
<span class="region">Washington</span>
<span class="postal-code">98109</span><br />
<span class="country-name">United States</span>
</div>
<div class="geo">
<abbr class="latitude" title="47.5839">47.5839</abbr>
<abbr class="longitude" title="-122.052">-122.052</abbr>
</div>
...
Notice that in the vcard for this location (within an hCalendar
event), they link to the page for that venue (which contains another
hCard for that venue).
I propose that this is a simpler solution which will work better.
Also, the algorithm for finding the most authoritative hCard:
1. if no uid or uid == the uid from the previous iteration/recursion
=> you're done
2. if url == uid and there's an hCard at that url, recurse with the
new hCard
A similar algorithm could be used to find all related hCards in the
network, but only if you have access to a database of backlinks.
-ryan
--
Ryan King
ryan at technorati.com
More information about the microformats-discuss
mailing list