FOAF (ontology)

Last updated
FOAF logo. FoafLogo.svg
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 themselves. FOAF allows groups of people to describe social networks without the need for a centralised database.

In sociology, a friend of a friend is a human contact that exists because of a mutual friend. Person C is a friend of a friend of person A when there is a person B that is a friend of both A and C. Thus the human relation "friend of a friend" is a compound relation among friends, similar to the uncle and aunt relations of kinship. Though friendship is a reciprocal relation, the relation of a friend of a friend may not be a friendship, though it holds potential for coalition building and dissemination of information.

Machine-readable data, or computer-readable data, is data in a format that can be easily processed by a computer.

A person is a being that has certain capacities or attributes such as reason, morality, consciousness or self-consciousness, and being a part of a culturally established form of social relations such as kinship, ownership of property, or legal responsibility. The defining features of personhood and consequently what makes a person count as a person differ widely among cultures and contexts.


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, 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 Resource Description Framework (RDF) is a family of World Wide Web Consortium (W3C) specifications originally designed as a metadata data model. It has come to be used as a general method for conceptual description or modeling of information that is implemented in web resources, using a variety of syntax notations and data serialization formats. It is also used in knowledge management applications.

The Web Ontology Language (OWL) is a family of knowledge representation languages for authoring ontologies. Ontologies are a formal way to describe taxonomies and classification networks, essentially defining the structure of knowledge for various domains: the nouns representing classes of objects and the verbs representing relations between the objects. Ontologies resemble class hierarchies in object-oriented programming but there are several critical differences. Class hierarchies are meant to represent structures used in source code that evolve fairly slowly whereas ontologies are meant to represent information on the Internet and are expected to be evolving almost constantly. Similarly, ontologies are typically far more flexible as they are meant to represent information on the Internet coming from all sorts of heterogeneous data sources. Class hierarchies on the other hand are meant to be fairly static and rely on far less diverse and more structured sources of data such as corporate databases.

Telephone number unique sequence of digits assigned to a telephone subscription

A telephone number is a sequence of digits assigned to a fixed-line telephone subscriber station connected to a telephone line or to a wireless electronic telephony device, such as a radio telephone or a mobile telephone, or to other devices for data transmission via the public switched telephone network (PSTN) or other public and private networks.

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[ citation needed ] Social Semantic Web application, in that it combines RDF technology with 'social web' concerns.[ clarification needed ]

The concept of the Social Semantic Web subsumes developments in which social interactions on the Web lead to the creation of explicit and semantically rich knowledge representations. The Social Semantic Web can be seen as a Web of collective knowledge systems, which are able to provide useful information based on human contributions and which get better as more people participate. The Social Semantic Web combines technologies, strategies and methodologies from the Semantic Web, social software and the Web 2.0.

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

Tim Berners-Lee 20th and 21st-century English computer scientist, inventor of the World Wide Web

Sir Timothy John Berners-Lee, also known as TimBL, is an English engineer and computer scientist, best known as the inventor of the World Wide Web. He is currently a professor of computer science at the University of Oxford and the Massachusetts Institute of Technology (MIT). He made a proposal for an information management system on 12 March 1989, and he implemented the first successful communication between a Hypertext Transfer Protocol (HTTP) client and server via the internet in mid-November the same year.

Giant Global Graph (GGG) is a name coined in 2007 by Tim Berners-Lee to help distinguish between the nature and significance of the content on the existing World Wide Web and that of a promulgated next-generation web, presumptively named Web 3.0. In common usage, "World Wide Web" refers primarily to a web of discrete information objects readable by human beings, with functional linkages provided between them by human-created hyperlinks. Next-generation Web 3.0 information designs go beyond the discrete web pages of previous generations by emphasizing the metadata which describe information objects like web pages and attribute the relationships that conceptually or semantically link the information objects to each other. Additionally, Web 3.0 technologies and designs enable the organization of entirely new kinds of human- and machine-created data objects.

Internet Global system of connected computer networks

The Internet is the global system of interconnected computer networks that use the Internet protocol suite (TCP/IP) to link devices worldwide. It is a network of networks that consists of private, public, academic, business, and government networks of local to global scope, linked by a broad array of electronic, wireless, and optical networking technologies. The Internet carries a vast range of information resources and services, such as the inter-linked hypertext documents and applications of the World Wide Web (WWW), electronic mail, telephony, and file sharing.


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.

WebID is a method for internet services and members to know who they are communicating with. The WebID specifications define a set of editor's drafts to prepare the process of standardization for identity, identification and authentication on HTTP based networks. WebID-based protocols offer a new way to log into internet services. Instead of using a password, for example, the member refers to another web address which can vouch for it. WebID is not a specific service or product.


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, [4] My Opera community supports FOAF profiles for members as well as groups, FOAF support is present on, FriendFeed, WordPress and TypePad services. [5] Yandex blog search platform supports [6] search over FOAF profile information. Prominent client-side FOAF support is available in Safari [7] web browser and in the Semantic Radar [8] plugin for Firefox browser.

My Opera was the virtual community for Opera web browser users. It belonged to Opera Software ASA. In addition to being a support site for the Opera browser, My Opera worked like a social networking site. It offered services such as blogs, photo albums, the free email service My Opera Mail and more. My Opera was closed down on March 3, 2014. open source social networking and micro-blogging service is a free and open-source social networking and micro-blogging service based on the software, using the Activity Streams protocol. stopped accepting new registrations in 2013, but continues to operate alongside several other hosts provided by E14N which continue to accept new registrations.

FriendFeed was a real-time feed aggregator that consolidated updates from social media and social networking websites, social bookmarking websites, blogs and microblogging updates, as well as any type of RSS/Atom feed. It was created by Bret Taylor, Jim Norris, Paul Buchheit and Sanjeev Singh. It was possible to use this stream of information to create customized feeds to share, as well as originate new posts-discussions, with friends. Friendfeed was built on top of Tornado. The service was shut down at about 21:00 GMT on April 10, 2015, though the service blog announced it a month before.

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


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

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

See also

Related Research Articles

The Semantic Web is an extension of the World Wide Web through standards by the World Wide Web Consortium (W3C). The standards promote common data formats and exchange protocols on the Web, most fundamentally the Resource Description Framework (RDF). According to the W3C, "The Semantic Web provides a common framework that allows data to be shared and reused across application, enterprise, and community boundaries". The Semantic Web is therefore regarded as an integrator across different content, information applications and systems.

RDF Schema is a set of classes with certain properties using the RDF extensible knowledge representation data model, providing basic elements for the description of ontologies, otherwise called RDF vocabularies, intended to structure RDF resources. These resources can be saved in a triplestore to reach them with the query language SPARQL.

SPARQL RDF query language

SPARQL is an RDF query language—that is, a semantic query language for databases—able to retrieve and manipulate data stored in Resource Description Framework (RDF) format. It was made a standard by the RDF Data Access Working Group (DAWG) of the World Wide Web Consortium, and is recognized as one of the key technologies of the semantic web. On 15 January 2008, SPARQL 1.0 became an official W3C Recommendation, and SPARQL 1.1 in March, 2013.

RDFa is a W3C Recommendation that adds a set of attribute-level extensions to HTML, XHTML and various XML-based document types for embedding rich metadata within Web documents. The RDF data-model mapping enables its use for embedding RDF subject-predicate-object expressions within XHTML documents. It also enables the extraction of RDF model triples by compliant user agents.

DOAP is an RDF Schema and XML vocabulary to describe software projects, in particular free and open source software.

Semantically-Interlinked Online Communities schema for describing posts and interactions on forums, message boards, blogs etc.

Semantically-Interlinked Online Communities Project is a Semantic Web technology. SIOC provides methods for interconnecting discussion methods such as blogs, forums and mailing lists to each other. It consists of the SIOC ontology, an open-standard machine readable format for expressing the information contained both explicitly and implicitly in Internet discussion methods, of SIOC metadata producers for a number of popular blogging platforms and content management systems, and of storage and browsing/searching systems for leveraging this SIOC data.

Blank node RDF node

In RDF, a blank node is a node in an RDF graph representing a resource for which a URI or literal is not given. The resource represented by a blank node is also called an anonymous resource. According to the RDF standard a blank node can only be used as subject or object of an RDF triple.

The Rule Interchange Format (RIF) is a W3C Recommendation. RIF is part of the infrastructure for the semantic web, along with (principally) SPARQL, RDF and OWL. Although originally envisioned by many as a "rules layer" for the semantic web, in reality the design of RIF is based on the observation that there are many "rules languages" in existence, and what is needed is to exchange rules between them.

A semantic reasoner, reasoning engine, rules engine, or simply a reasoner, is a piece of software able to infer logical consequences from a set of asserted facts or axioms. The notion of a semantic reasoner generalizes that of an inference engine, by providing a richer set of mechanisms to work with. The inference rules are commonly specified by means of an ontology language, and often a description logic language. Many reasoners use first-order predicate logic to perform reasoning; inference commonly proceeds by forward chaining and backward chaining. There are also examples of probabilistic reasoners, including Pei Wang's non-axiomatic reasoning system, and probabilistic logic networks.

N-Triples is a format for storing and transmitting data. It is a line-based, plain text serialisation format for RDF graphs, and a subset of the Turtle format. N-Triples should not be confused with Notation3 which is a superset of Turtle. N-Triples was primarily developed by Dave Beckett at the University of Bristol and Art Barstow at the World Wide Web Consortium (W3C).

Named graph database model

Named graphs are a key concept of Semantic Web architecture in which a set of Resource Description Framework statements are identified using a URI, allowing descriptions to be made of that set of statements such as context, provenance information or other such metadata.

XHTML+RDFa is an extended version of the XHTML markup language for supporting RDF through a collection of attributes and processing rules in the form of well-formed XML documents. XHTML+RDFa is one of the techniques used to develop Semantic Web content by embedding rich semantic markup. Version 1.1 of the language is a superset of XHTML 1.1, integrating the attributes according to RDFa Core 1.1. In other words, it is an RDFa support through XHTML Modularization.

Knowledge extraction is the creation of knowledge from structured and unstructured sources. The resulting knowledge needs to be in a machine-readable and machine-interpretable format and must represent knowledge in a manner that facilitates inferencing. Although it is methodically similar to information extraction (NLP) and ETL, the main criteria is that the extraction result goes beyond the creation of structured information or the transformation into a relational schema. It requires either the reuse of existing formal knowledge or the generation of a schema based on the source data.

JSON-LD, is a method of encoding Linked Data using JSON. It was a goal to require as little effort as possible from developers to transform their existing JSON to JSON-LD. This allows data to be serialized in a way that is similar to traditional JSON. It is a World Wide Web Consortium Recommendation. It was initially developed by the JSON for Linking Data Community Group before being transferred to the RDF Working Group for review, improvement, and standardization.

Asset Description Metadata Schema

The Asset Description Metadata Schema (ADMS) is a common metadata vocabulary to describe standards, so-called interoperability assets, on the Web.

The Open Semantic Framework (OSF) is an integrated software stack using semantic technologies for knowledge management. It has a layered architecture that combines existing open source software with additional open source components developed specifically to provide a complete Web application framework. OSF is made available under the Apache 2 license.


  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. "Giant Global Graph". Decentralized Information Group. Archived from the original on 2016-07-13.
  4. "LiveJournal FOAF". LiveJournal. Archived from the original on 2010-01-18..
  5. "Known FOAF data providers". FOAF project. Archived from the original on 2010-02-26.
  6. "press release on the social networking support". Yandex. 2008-08-15.
  7. "FOAF Support in Safari RSS". eJohn..
  8. "Semantic Radar plugin for the Firefox browser". Mozilla.
  9. "FOAF support module for Perl". CPAN.
  10. "FOAF+SSL authentication support for Perl". CPAN.
  11. - FOAF support for Drupal