FOAF-a-Matic

[Croatian] [Danish] [Dutch] [English] [French] [German] [Greek] [Hungarian][Japanese] [Italian] [Korean] [Spanish] [Swedish] [Trad. Chinese]

Written by Leigh Dodds.

Introduction

FOAF-a-matic is a simple Javascript application that allows you to create a FOAF ("Friend-of-A-Friend") description of yourself. You can read more about FOAF in Edd Dumbill's "XML Watch: Finding friends with XML and RDF" article, at the FOAF homepage on RDFWeb, and also the FOAF vocabulary description.

In short though, FOAF is a way to describe yourself -- your name, email address, and the people you're friends with -- using XML and RDF. This allows software to process these descriptions, perhaps as part of an automated search engine, to discover information about your and the communities of which you're a member. FOAF has the potential to drive many new interesting developments in online communities. Ben Hammersely's "Click to the Clique" article for the Guardian Unlimited website further explores these ideas.

The FOAF-a-Matic is being provided as a quick and easy way for you to create your own FOAF description. Simply work through the forms on this page and complete whichever details you'd like to add to your description. As a minimum you'll need to supply your name and email address, and similarly for any friends you might add. It's worth adding a few friends to your description (but feel free to add as many as you like) because then when FOAF harvesters index your FOAF description, they'll be able to tie you all together as a network of individuals.

Note: none of the information you enter in this page is used or stored in any way. The processing is entirely client-side, so your privacy is assured.

If you have comments about this application, or further questions about FOAF, why not join the RDFWeb-dev mailing list?

Update: I'm currently writing the FOAF-a-Matic Mark 2 a desktop application for creating and managing your FOAF data.

The Forms

Personal

Some information about you, and how people can contact you.

Title (Mr, Mrs, Dr, etc)
First Name
Last Name (Family/Given)
Nickname
Your Email Address
Homepage
Your Picture
Phone Number

Work

Information about the place you work.

Work Homepage
Page describing what you do at work

School

Where did you go to school?

School Homepage

People You Know

Tell FOAF-a-matic about some people you know. Click "Add Friend" to add space to add more people. If you friend already has a FOAF description, then place a link to it in the 'seeAlso' field.

Generate Results

Now you've filled in the details you're ready to be turned into FOAF...

Protect email addresses from spammers

What Next?

Publish Your FOAF description

This is the easy part. Simple copy the generated FOAF description from the text box above and paste it into a file. Put the file onto your website somewhere where it's publically accessible, it's a good idea to name this file "foaf.rdf" as then a google search can be used to help discover FOAF files across the web.

Your FOAF description is now ready, you just need people to come along and read it...

Joining the FOAF Community

The 'discovery' aspect of FOAF (i.e. how FOAF compliant applications find your description) is still an area under discussion. If you have suggestions then send them to the RDFWeb-dev mailing list. However there are three possibilities. You may want to try some or all of them.

Using the Link Tag

Aaron Swartz has suggested using the HTML Link tag to point to FOAF descriptions, in a similar way that many bloggers are pointing to their RSS feeds. Here's how it should look:

<link rel="meta" type="application/rdf+xml" title="FOAF" href="foaf.rdf" />

Referrals from a Friend

The other recommended way to get your FOAF file indexed is to have someone else (i.e. a friend) point to it. A FOAF spider can then traverse all FOAF files. You can do this by making the following changes to your FOAF description:

  1. Alter the rdf:RDF element to add the RDF Schema namespace, as follows: <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
  2. You can then add links to other FOAF descriptions by adding one rdfs:seeAlso element for each additional file, as follows:
  3. <rdfs:seeAlso rdf:resource="http://www.example.com/friends.xrdf"/> <rdfs:seeAlso rdf:resource="http://www.ldodds.com/webwho.xrdf"/>

Update: if your friends already have a FOAF description, then include it in the 'seeAlso' field given in the form above. You can also Refer a Friend to the FOAF-a-matic

Using the FOAF Bulletin Board

An obvious way for applications to discover FOAF descriptions is for there to be a registry of people. I've cooked up a simple way to do this called the FOAF Bulletin Board. Simply visit the FOAFWiki, and edit the FOAFBulletinBoard page and add your name and a link to your FOAF description. I've added mine already which you can use as an example.

Applying the magic of HTML Tidy and XSLT means that applications such as Edd Dumbill's FOAFbot can process this index. Visit the FOAFBot home page for information about how to see it in action.

License

This work is licensed under a Creative Commons License.

Creative Commons License


[FOAF Hackery]