FOAF (ontology)

From Wikipedia, the free encyclopedia - View original article

  (Redirected from FOAF (software))
Jump to: navigation, search
FOAF logo.

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.[1][2] 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,[3] 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."

WebID Protocol[edit]

The WebID Protocol[4] (formerly known as FOAF+SSL[5]) is a decentralized secure authentication protocol that uses FOAF profile information as well as the SSL security layer available in virtually all modern web browsers. It was first presented [6][7] for the W3C Workshop on the Future of Social Networking in 2009. Contrary to the usual SSL usage patterns, it does not require[8] the dedicated Certificate authority to perform the user authorization. Useful identities can be minted for users easily by authorities, but a FOAF-based web of trust connecting all the user's activity on the World Wide Web can then be established gradually, without formal key signing parties, to make the identity more trustworthy and hard for anyone (even the original issuing authority) to forge.[9]


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,[10] My Opera community supports FOAF profiles for members as well as groups, FOAF support is present on, FriendFeed, WordPress and TypePad services.[11] Yandex blog search platform supports [12] search over FOAF profile information. Prominent client-side FOAF support is available in Safari[13] web browser, in the Semantic Radar[14] plugin for Firefox browser, and in the RDF Detective[15] plugin for the Google Chrome browser.

There are also modules or plugins to support FOAF profiles or FOAF+SSL authorization for programming languages,[16][17] as well as for content management systems.[18]


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).

The example shows PREFIX, but only "prefix" is acceptable Turtle syntax (upper case is produce by the wiki conversion of the text)!

 @PREFIX rdf: <> . @PREFIX rdfs: <> .   <#JW>     a foaf:Person ;     foaf:name "Jimmy Wales" ;     foaf:mbox <> ;     foaf:homepage <> ;     foaf:nick "Jimbo" ;     foaf:depiction <> ;     foaf:interest <> ;     foaf:knows [         a foaf:Person ;         foaf:name "Angela Beesley"     ] .   <>     rdfs:label "Wikimedia" . 

See also[edit]


  1. ^ XML Watch: Finding friends with XML and RDF by Edd Dumbill in IBM DeveloperWorks
  2. ^ XML Watch: Support online communities with FOAF by Edd Dumbill in IBM DeveloperWorks
  3. ^ Berners Lee, Tim. "CSail". Giant Global Graph. MA, USA: MIT. .
  4. ^ W3C WebID Incubator Group
  5. ^ FOAF+SSL decentralized authentication protocol.
  6. ^ "foaf+ssl: adding security to open distributed social networks". Sun Microsystems. 
  7. ^ "Workshop on the Future of Social Networking". Barcelona, ES: W3C. January 2009. 
  8. ^ "foaf+ssl: creating a web of trust without key signing parties". Sun Microsystems. 
  9. ^ Gamble, Matthew; Goble, Carole (April 2010), "Standing on the Shoulders of the Trusted Web: Trust, Scholarship and Linked Data", Proceedings of the WebSci10: Extending the Frontiers of Society On-Line 
  10. ^ "Community". FOAF. LiveJournal. .
  11. ^ "Known FOAF data providers". FOAF project. 
  12. ^ "press release on the social networking support". Yandex. 2008‐8‐15. 
  13. ^ "FOAF Support in Safari RSS". eJohn. .
  14. ^ "Semantic Radar plugin for the Firefox browser". Mozilla. 
  15. ^ "Chrome browser". RDF Detective plugin. Google.  More than one of |section= and |chapter= specified (help)
  16. ^ "FOAF support module for Perl". CPAN. 
  17. ^ "FOAF+SSL authentication support for Perl". CPAN. 
  18. ^ - FOAF support for Drupal

External links[edit]