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.