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 him- or herself. 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, 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.
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).
Note: The following example shows "@PREFIX" on the first two lines, but it should be "@prefix" in order to be acceptable Turtle syntax (the upper case is produced by the wiki conversion of the text).
@PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> . <#JW> a foaf:Person ; foaf:name "Jimmy Wales" ; foaf:mbox <mailto:firstname.lastname@example.org> ; 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" .
- Resource Description Framework (RDF)
- Web Ontology Language (OWL)
- Social web
- Semantic Web
- Description of a Career (DOAC)
- Description of a Project (DOAP)
- Semantically-Interlinked Online Communities (SIOC)
- hCard (HTML vCard)
- XHTML Friends Network (XFN)
- 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. "CSail". "Giant Global Graph". MA, USA: MIT..
- "Community". "FOAF". LiveJournal..
- "Known FOAF data providers". FOAF project.
- "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