2026-06-21 20:22:20 +02:00
|
|
|
# FOAF Agent Person Group OnlineAccount
|
2026-06-04 12:12:07 +02:00
|
|
|
|
|
|
|
|
## Source Type
|
|
|
|
|
|
2026-06-21 20:22:20 +02:00
|
|
|
Semantic vocabulary. FOAF (Friend of a Friend) RDF vocabulary for persons,
|
|
|
|
|
agents, groups, and online accounts.
|
2026-06-04 12:12:07 +02:00
|
|
|
|
|
|
|
|
## Domain
|
|
|
|
|
|
2026-06-21 20:22:20 +02:00
|
|
|
Semantic web social identity, person/agent distinction, and account
|
|
|
|
|
representation.
|
2026-06-04 12:12:07 +02:00
|
|
|
|
|
|
|
|
## Why This Source Matters
|
|
|
|
|
|
2026-06-21 20:22:20 +02:00
|
|
|
FOAF distinguishes persons, agents, organizations, groups, accounts, and
|
|
|
|
|
membership-like properties — an early explicit separation of actor, account,
|
|
|
|
|
and online presence.
|
2026-06-04 12:12:07 +02:00
|
|
|
|
|
|
|
|
## Key Concepts
|
|
|
|
|
|
2026-06-21 20:22:20 +02:00
|
|
|
- **foaf:Person**: a person (human); may have name, homepage, depiction.
|
|
|
|
|
- **foaf:Agent**: anything that can do things; superclass of Person, Organization,
|
|
|
|
|
Group.
|
|
|
|
|
- **foaf:Organization**: collective agent with members and name.
|
|
|
|
|
- **foaf:Group**: collective agent with `member` property linking to agents.
|
|
|
|
|
- **foaf:OnlineAccount**: account on a service; links via `accountServiceHomepage`
|
|
|
|
|
and `accountName`.
|
|
|
|
|
- **foaf:OnlineChatAccount / OnlineGamingAccount**: specialized account types.
|
|
|
|
|
- **foaf:member**: agent belongs to group (inverse of Group membership).
|
|
|
|
|
- **foaf:knows**: social acquaintance link between agents (not authorization).
|
|
|
|
|
- **foaf:mbox / mbox_sha1sum**: email or hashed email identifiers.
|
|
|
|
|
- **foaf:openid**: OpenID identifier for agent.
|
|
|
|
|
- **foaf:Document / Image**: non-agent resources.
|
2026-06-04 12:12:07 +02:00
|
|
|
|
|
|
|
|
## Relevant Terminology
|
|
|
|
|
|
2026-06-21 20:22:20 +02:00
|
|
|
| Term | Source meaning |
|
|
|
|
|
| --- | --- |
|
|
|
|
|
| Person | Human being in FOAF sense. |
|
|
|
|
|
| Agent | Anything capable of action; includes persons and collectives. |
|
|
|
|
|
| Organization | Named collective agent. |
|
|
|
|
|
| Group | Collective agent with explicit members. |
|
|
|
|
|
| OnlineAccount | Presence on a service with account name. |
|
|
|
|
|
| member | Membership link from group to agent. |
|
|
|
|
|
| knows | Social network acquaintance between agents. |
|
|
|
|
|
| accountName | Handle on a service. |
|
|
|
|
|
| accountServiceHomepage | Service URL defining account namespace. |
|
|
|
|
|
| mbox | Email identifier (often `mailto:` URI). |
|
2026-06-04 12:12:07 +02:00
|
|
|
|
|
|
|
|
## Modeling Assumptions
|
|
|
|
|
|
2026-06-21 20:22:20 +02:00
|
|
|
- **Agent is the root actionable type**; Person is a specialization.
|
|
|
|
|
- **Person is explicitly human**, separate from accounts.
|
|
|
|
|
- **OnlineAccount is not the person**; it is an account on a service linked
|
|
|
|
|
to an agent.
|
|
|
|
|
- **Groups and Organizations are agents** with member properties.
|
|
|
|
|
- **Social knows is weak affiliation**, not trust or authorization.
|
|
|
|
|
- **Identifiers (mbox, openid) are properties**, not first-class scoped objects.
|
|
|
|
|
- **RDF graph allows multiple incomplete assertions** about same agents.
|
2026-06-04 12:12:07 +02:00
|
|
|
|
|
|
|
|
## Identity-Canon Implications
|
|
|
|
|
|
2026-06-21 20:22:20 +02:00
|
|
|
- FOAF **Person** maps closely to **Natural Person**.
|
|
|
|
|
- FOAF **Agent** maps to **Actor**.
|
|
|
|
|
- FOAF **Organization** / **Group** map to **Organization** / **Group**
|
|
|
|
|
collective actors.
|
|
|
|
|
- FOAF **OnlineAccount** maps to **Account** with service **Scope** defined
|
|
|
|
|
by `accountServiceHomepage`.
|
|
|
|
|
- **accountName** maps to **Identifier**.
|
|
|
|
|
- **member** maps to **Membership Relationship**.
|
|
|
|
|
- **knows** maps to **Affiliation Relationship** (social, weak).
|
|
|
|
|
- FOAF is strong evidence for **P1** (actor root) and **P2** (person ≠ account).
|
|
|
|
|
- Supports S01, S08, S09 with explicit person/account split.
|
2026-06-04 12:12:07 +02:00
|
|
|
|
|
|
|
|
## Terminology Conflicts
|
|
|
|
|
|
2026-06-21 20:22:20 +02:00
|
|
|
- **Agent vs. Artificial Agent**: FOAF Agent includes humans; canon Artificial
|
|
|
|
|
Agent is non-human only.
|
|
|
|
|
- **Group vs. Community**: FOAF Group is generic collective; community implies
|
|
|
|
|
participation norms.
|
|
|
|
|
- **OnlineAccount vs. Profile**: FOAF account is service presence; profile is
|
|
|
|
|
broader presentation surface.
|
|
|
|
|
- **knows vs. Following**: knows is bidirectional acquaintance; ActivityPub
|
|
|
|
|
Follow is directed.
|
|
|
|
|
- **mbox vs. Identifier**: mbox is contact + identifier; conflation risk.
|
2026-06-04 12:12:07 +02:00
|
|
|
|
|
|
|
|
## Candidate Canonical Mappings
|
|
|
|
|
|
2026-06-21 20:22:20 +02:00
|
|
|
| FOAF concept | Candidate canonical concept |
|
|
|
|
|
| --- | --- |
|
|
|
|
|
| Person | Natural Person |
|
|
|
|
|
| Agent | Actor |
|
|
|
|
|
| Organization | Organization |
|
|
|
|
|
| Group | Group |
|
|
|
|
|
| OnlineAccount | Account |
|
|
|
|
|
| accountName | Identifier |
|
|
|
|
|
| accountServiceHomepage | Scope (service namespace) |
|
|
|
|
|
| member | Membership Relationship |
|
|
|
|
|
| knows | Affiliation Relationship |
|
|
|
|
|
| mbox / openid | Identifier |
|
|
|
|
|
| depiction / name | Profile attributes |
|
2026-06-04 12:12:07 +02:00
|
|
|
|
|
|
|
|
## Open Questions
|
|
|
|
|
|
2026-06-21 20:22:20 +02:00
|
|
|
- Should FOAF OnlineAccount always imply Account, or sometimes Profile only?
|
|
|
|
|
- How should `mbox_sha1sum` map for privacy-preserving synonymity (weak match)?
|
|
|
|
|
- Does FOAF Group map to Group only, or also Community when informal?
|
|
|
|
|
- Should knows remain Affiliation, or split into Following vs. acquaintance?
|
2026-06-04 12:12:07 +02:00
|
|
|
|
|
|
|
|
## References
|
|
|
|
|
|
2026-06-21 20:22:20 +02:00
|
|
|
- FOAF vocabulary specification — http://xmlns.com/foaf/spec/
|
|
|
|
|
- FOAF 0.99 RDF schema — http://xmlns.com/foaf/0.1/
|