FOAF (an acronym of friend of a friend) is a machine-readable ontology describing persons, their activities and their relations to other people and objects. Anyone can use FOAF to describe themselves. FOAF allows groups of people to describe social networks without the need for a centralised database.
FOAF is a descriptive vocabulary expressed using the Resource Description Framework (RDF) and the Web Ontology Language (OWL). Computers may use these FOAF profiles to find, for example, all people living in Europe, or to list all people both you and a friend of yours know. This is accomplished by defining relationships between people. Each profile has a unique identifier (such as the person's e-mail addresses, international telephone number, Facebook account name, a Jabber ID, or a URI of the homepage or weblog of the person), which is used when defining these relationships.
The FOAF project, which defines and extends the vocabulary of a FOAF profile, was started in 2000 by Libby Miller and Dan Brickley. It can be considered the first Social Semantic Web application, in that it combines RDF technology with 'social web' concerns.
Tim Berners-Lee, in a 2007 essay, redefined the semantic web concept into the Giant Global Graph, where relationships transcend networks and documents. He considers the GGG to be on equal ground with the Internet and the World Wide Web, stating that "I express my network in a FOAF file, and that is a start of the revolution."
FOAF is one of the key components of the WebID specifications, in particular for the WebID+TLS protocol, which was formerly known as FOAF+SSL.
Although it is a relatively simple use-case and standard, FOAF has had limited adoption on the web. For example, the Live Journal and DeadJournal blogging sites support FOAF profiles for all their members, My Opera community supports FOAF profiles for members as well as groups, FOAF support is present on Identi.ca, FriendFeed, WordPress and TypePad services. Yandex blog search platform supports search over FOAF profile information. Prominent client-side FOAF support is available in Safari web browser, in the Semantic Radar plugin for Firefox browser, and in the RDF Detective plugin for the Google Chrome browser.
There are also modules or plugins to support FOAF profiles or FOAF+SSL authorization for programming languages, as well as for content management systems.
The following FOAF profile (written in Turtle format) states that Jimmy Wales is the name of the person described here. His e-mail address, homepage and depiction are web resources, which means that each can be described using RDF as well. He has Wikimedia as an interest, and knows Angela Beesley (which is the name of a 'Person' resource).
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix foaf: <http://xmlns.com/foaf/0.1/> . <#JW> a foaf:Person ; foaf:name "Jimmy Wales" ; foaf:mbox <mailto:email@example.com> ; foaf:homepage <http://www.jimmywales.com> ; foaf:nick "Jimbo" ; foaf:depiction <http://www.jimmywales.com/aus_img_small.jpg> ; foaf:interest <http://www.wikimedia.org> ; foaf:knows [ a foaf:Person ; foaf:name "Angela Beesley" ] . <http://www.wikimedia.org> rdfs:label "Wikimedia" .
- XML Watch: Finding friends with XML and RDF by Edd Dumbill in IBM DeveloperWorks
- XML Watch: Support online communities with FOAF by Edd Dumbill in IBM DeveloperWorks
- Berners Lee, Tim. "Giant Global Graph". Decentralized Information Group. Archived from the original on 2016-07-13.
- "LiveJournal FOAF". LiveJournal. Archived from the original on 2010-01-18..
- "Known FOAF data providers". FOAF project. Archived from the original on 2010-02-26.
- "press release on the social networking support". Yandex. 2008-08-15.
- "FOAF Support in Safari RSS". eJohn..
- "Semantic Radar plugin for the Firefox browser". Mozilla.
- "RDF Detective plugin". Chrome web store. Google.
- "FOAF support module for Perl". CPAN.
- "FOAF+SSL authentication support for Perl". CPAN.
- http://drupal.org/project/foaf - FOAF support for Drupal
- Official website
- FOAF dataset a dataset of 201,612 FOAF triples
- foaf-search.net a search engine for FOAF data