DRAFT

foaf  project

friend of a friend

Tools

Start with the toys!

Recent Articles

In the Press

"The beauty of FOAF lies in its simple way of describing personal information, including our work and academic affiliations. The power of FOAF lies in its ability to list acquaintances who themselves may have FOAF files." Shelley Powers offers examples of practical uses of rdf.

"Its kinda fun, and you wont need to type a line of code, promise!" — Webmonkey discusses the future of meta data.

"I blame Kevin Bacon. It's only fair: he probably doesn't know it, but the floppy fringed actor's influence on the internet has been long felt, if unusual - and this year it's everywhere." — Ben Hammersley compares social networks in Click to the Clique in The Guardian Online

"FOAF, is an attempt to build an open-source alternative"Wired compares friend networks.

"Why go to all the bother of using Google when the metadata about the data is already close at hand? And more to the point - from someone you know, therefore there's a level of trust between developers." — Foaf from a java developers point of view.

"We make our tools, and then they shape us." — An article links changes in software with social evolution.

"It's not what you know, it's who you know." Edd Dumbill explores an XML and RDF application known as Friend-of-a-Friend.

"There's been a lot of discussion lately. . . about building secure, cross-site identity systems, much of that discussion now centering on how FOAF could be used as the core of such a system.":Moveable Type interfaced with community meta data

"FOAF provides about two dozen useful terms for describing people." — Parsing FOAF with PHP

"The company behind one of the weblog world's most popular tools is preparing to launch a new service" — Six Apart to include automatic creation of a foaf file to its TypePad application.

Search This Page

Validation Results

Valid XHTML 1.0! Valid CSS!

Libby 
and her flag Foafer Someday 
technology will catch up with dan 883_photo_2.jpg Tinsle hair girl in London Ulala Scary EricP

Using foaf:weblog, instructions

Foaf smiley faces Here's how to add a foaf:weblog property to your FOAF file. You can use it anywhere there is an element describing a Person (or for that matter a company, group etc). It should be included in a sub-element that mentions their weblog. It doesn't matter exactly where you put the foaf:weblog entry, so long as it is immediately 'inside' the foaf:Person element. This same technique works if you are describing your friends and collaborators in a FOAF file; just add in a foaf:weblog property inside the foaf:Person section that describes them.

Adding people into the FOAF web

Foaf smiley faces If someone makes a new FOAF file, how do they get it into the web of data that is spidered by FOAF harvesters? The process is similar to the web itself: you get it linked to. In FOAF, the property rdfs:seeAlso is used to make the link. If your file is already spidered, and you want to introduce a friend's, you might add in to your FOAF file:

  <foaf:knows>
    <foaf:Person>
       <foaf:mbox rdf:resource="mailto:myfriend@example.com" />
       <rdfs:seeAlso 
          rdf:resource="http://example.com/~myfriend/foaf.rdf" />
    </foaf:Person>
  </foaf:knows>

If you've not used rdfs properties elsewhere in your FOAF document, make sure you have declared the rdfs namespace:

  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"

If your friend's FOAF file is digitally signed then it will help FOAF processors know the owner of your friend's file.

Article Copyright © Useful Information Company 2000-2003

PGP Signing FOAF Files

Rationale

Foaf smiley faces One important thing to be able to do is establish some kind of authorship for FOAF files. Without a priori knowledge of a file's authorship, a way is needed of associating an author with the file.

In a simple situation, you can always use the Dublin Core creator property to assign authorship to a file, but there is no way an agent can verify that the information is not bogus.

Instead, we use a PGP signature. A correct PGP signature for a file establishes:

Article Copyright © Useful Information Company 2000-2003

nearestAirport documentation in Japanese

Foaf smiley faces From kota's weblog, details on using 'nearestAirport' in FOAF files. Thanks kota!

The 'contact:nearestAirport' property is a way of indicating very broadly which part(s) of the world you're from, without needing to know exact coordinates or giving away too much detail. It isn't part of the FOAF vocabulary, but can be included as an extension in any FOAF file. A few 'nearestAirport' links: pixel's writeup, swad-e developer map, FOAF people map

See also FOAF overview in Japanese, Japanese FOAF wiki

PGP Encrypting FOAF Files

Rationale

Foaf smiley faces There may be some information you want to represent in a FOAF file, but restrict it to certain people or groups of people. You can handle this via encryption.

Before reading on, you should be familiar with the procedures described in PGP Signing FOAF Files.

Implementation

Firstly, ensure you have a PGP key and it is exported to the public keyservers, as described in PGP Signing FOAF Files.

Secondly, you need to have access to the public key of the party you wish to encrypt the data for. Import it onto your GPG public keyring. For example, the OpenProjects #foaf channel's FOAFbot instance has a public key with ID 6C7F734E, which can be downloaded here. Save the file and import it onto your keyring with gpg --import <saved-file-name (for Unix-like systems; use the correct technique for your platform.)

Separate out the "more private" information into a separate file, let's say foaf-private.rdf.

Here's a small example. I have included my phone number in the private file, something I wouldn't want to include for general consumption:

Article Copyright © Useful Information Company 2000-2003

Site design © Nicole Sullivan