Skip to main content
Back to Standards
FOAF Vocabulary Specification logo

FOAF Vocabulary Specification

FOAF

An RDF/OWL ontology describing people, their activities, and their relationships to other people and objects. FOAF (Friend of a Friend) defines classes such as Person, Organization, Group, Document, and Image, along with properties for names, email addresses, homepages, social connections, and online accounts. Created in 2000 as one of the earliest Semantic Web vocabularies, FOAF pioneered the linked data approach to decentralized social networking and remains widely deployed across the Web.

Overview

FOAF is one of the foundational vocabularies of the Semantic Web, providing a machine-readable way to describe people, their activities, and their relationships. Created in 2000 at the dawn of the linked data movement, FOAF demonstrated that decentralized, interoperable descriptions of social networks were possible using open Web standards. Its influence extends far beyond its own vocabulary, having shaped the design patterns adopted by later initiatives including Schema.org and the W3C Social Web standards.

Background

FOAF emerged from the "RDFWeb" project initiated by Dan Brickley and Libby Miller in mid-2000. The name "Friend of a Friend" was chosen to reflect the project's focus on social networks, trust, and the kinds of interpersonal connections that characterize the Web. The vocabulary was developed collaboratively through the FOAF mailing list (foaf-dev@lists.foaf-project.org) with contributions from the broader RDF and Semantic Web developer community.

Unlike formal standards produced by bodies such as W3C or ISO, FOAF evolved more in the style of an open-source project, with pragmatic design decisions driven by real-world deployment needs. This approach allowed FOAF to iterate rapidly and respond to implementation feedback.

Purpose and Scope

FOAF integrates three kinds of network:

  • Social networks of human collaboration, friendship, and association
  • Representational networks that describe a simplified view of the world in factual terms
  • Information networks that use Web-based linking to share independently published descriptions

The vocabulary does not compete with social networking platforms; rather, it provides a non-proprietary format through which different sites can tell different parts of a larger story, and through which users can retain control over their personal information.

Key Classes and Properties

FOAF defines 13 classes and 59 properties (72 terms total), organized into three broad categories:

FOAF Core -- universal terms independent of technology:

Class/Property Description
Person A person
Organization An organization
Group A group of agents
name A name for something
knows A person known by this person
made / maker Relates an agent to something they created
primaryTopic The primary topic of a document

Social Web -- terms for online activity:

Class/Property Description
OnlineAccount An online account
mbox A personal mailbox (URI)
homepage A homepage for something
weblog A weblog of a person or group
openid An OpenID for an agent

Linked Data Utilities -- supporting the broader linked data ecosystem:

Class/Property Description
Document A document
Image An image
focus The underlying thing described by a SKOS concept
LabelProperty A property used for labeling resources

Serializations and Technical Formats

FOAF documents can be expressed in any RDF-compatible syntax, including RDF/XML, Turtle, N3, and RDFa. The namespace URI http://xmlns.com/foaf/0.1/ remains fixed across all versions. An RDF/XML encoding of the specification is available via content negotiation from the namespace URI. Version 0.99 includes owl:equivalentClass mappings to Schema.org types: Person maps to schema:Person, Image to schema:ImageObject, and Document to schema:CreativeWork.

Governance and Maintenance

FOAF is maintained by its original creators, Dan Brickley and Libby Miller, with input from the FOAF developers mailing list. Terms progress through stability levels: "unstable," "testing," "stable," and "archaic." The current version (0.99, "Paddington Edition," dated 14 January 2014) represents a largely stable vocabulary with a well-established core. Efforts are underway to ensure long-term preservation of the FOAF namespace and its xmlns.com domain.

Notable Implementations

FOAF has been widely adopted across the Semantic Web:

  • Linked data profiles on personal websites and blogs
  • Social networking data exports from platforms such as LiveJournal and early social web services
  • Integration with SPARQL endpoints for querying social network data
  • Use in digital library systems alongside Dublin Core metadata
  • Reference vocabulary in the Linked Open Vocabularies (LOV) registry

Related Standards

  • Dublin Core: FOAF references Dublin Core for bibliographic description properties.
  • SKOS: Linked for topic and subject classification.
  • Schema.org: FOAF 0.99 includes equivalence mappings to Schema.org classes.
  • SIOC (Semantically-Interlinked Online Communities): Extends FOAF's social networking concepts for online communities.

Further Reading

Resources & Links