FOAF (ontology)

Last updated
FOAF (ontology)
Friend of a friend
FOAF logo
Year started2000;20 years ago (2000)
First publishedJune 3, 2005;15 years ago (2005-06-03)
Latest version0.99
January 14, 2014;6 years ago (2014-01-14)
Authors Dan Brickley, Libby Miller
Base standards RDF, OWL
Domain Semantic Web
License CC BY 1.0

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. [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 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 ]

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


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, [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. Semantic MediaWiki, the semantic annotation and linked data extension of MediaWiki supports mapping properties to external ontologies, including FOAF which is enabled by default.

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"James 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 set by the World Wide Web Consortium (W3C). The goal of the Semantic Web is to make Internet data machine-readable. To enable the encoding of semantics with the data, technologies such as Resource Description Framework (RDF) and Web Ontology Language (OWL) are used. These technologies are used to formally represent metadata. For example, ontology can describe concepts, relationships between entities, and categories of things. These embedded semantics offer significant advantages such as reasoning over data and operating with heterogeneous data sources.

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.

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 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 was acknowledged by W3C as an official 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.

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.

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.

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

Microdata is a WHATWG HTML specification used to nest metadata within existing content on web pages. Search engines, web crawlers, and browsers can extract and process Microdata from a web page and use it to provide a richer browsing experience for users. Search engines benefit greatly from direct access to this structured data because it allows them to understand the information on web pages and provide more relevant results to users. Microdata uses a supporting vocabulary to describe an item and name-value pairs to assign values to its properties. Microdata is an attempt to provide a simpler way of annotating HTML elements with machine-readable tags than the similar approaches of using RDFa and microformats.

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.

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.

JSON-LD is a method of encoding linked data using JSON. One goal for JSON-LD was to require as little effort as possible from developers to transform their existing JSON to JSON-LD. JSON-LD allows data to be serialized in a way that is similar to traditional JSON. 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. JSON-LD is a World Wide Web Consortium Recommendation.

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. Archived from the original on 2014-01-08. Retrieved 2012-02-20.
  9. "FOAF support module for Perl". CPAN.
  10. "FOAF+SSL authentication support for Perl". CPAN.
  11. - FOAF support for Drupal