[uf-discuss] Re: Proposal: Mandatory connection of a XFN to a "source" hCard and a "target" hCard

Toby A Inkster mail at tobyinkster.co.uk
Wed Mar 19 08:07:33 PST 2008


Costello, Roger L. wrote:

> But Alice is friends with Bob is useful.
>      ^          ^          ^
>      |          |          |
>    source   relationship target

I think that maybe Alice and Bob are plotting something. They keep sending 
all these encrypted e-mails to each other. Eve and I will get to the 
bottom of it eventually.

Yes, with explicitly included hCards (or another way of specifying 
information about the people), XFN becomes a *lot* more useful, but I 
think there is probably still some minimal value in XFN even without this. 
(As others have pointed out, especially with rel="me".)

For many purposes, it would certainly be useful to have a documented 
method for converting the "physical" XFN model of:

	[url1] friend [url2]

to the "logical" XFN model of:

	[person1] friend [person2]

However, I don't think requiring each URL to carry an hCard is necessarily 
the best way of doing that. It would certainly work, but it's a very blunt 
tool because:

	1. The owners of url1 and url2 might not want to provide
	   contact information.
	2. url1 or url2 might be a non-HTML resource (e.g. PDFs,
	   images, "mailto:" URLs, etc.

The solution I've been working on is that when an XFN relationship is 
found taking the form "[url1] friend [url2]", assume that it really means:

	[
		Person:
		represented-by = url1
	]
	friend
	[
		Person:
		represented-by = url2
	]

Then use a whole variety of methods to learn as much as possible about the 
person represented by each URL. This might include looking for hCards on 
both pages, analysing FOAF files linked to from either, RDFa, etc. 

One particularly useful technique is to look for an hCard such that the 
"uid" property is url1, and look for another with a "uid" property of url2.

After all this analysis, we may end up with a relationship like this:

	[
		Person:
		name  = Alice
		title = Webmistress
		org   = Webby Inc
		blog  = url1
		represented-by = url1
	]
	friend
	[
		Person:
		represented-by = url2
	]

This shouldn't be seen as a failure -- just (perhaps) as less information 
than we wanted. Maybe in the future we'll be able to fill in Alice's phone 
number, or person2's name and e-mail address. Maybe we won't.

-- 
Toby A Inkster BSc (Hons) ARCS
[Geek of HTML/SQL/Perl/PHP/Python/Apache/Linux]
[OS: Linux 2.6.17.14-mm-desktop-9mdvsmp, up 1 day, 17:06.]

                              The Semantic Web
                http://tobyinkster.co.uk/blog/2008/03/09/sw/



More information about the microformats-discuss mailing list