In two lines: decide the kinds of things your brain holds (people, organisations, projects, decisions…) and the handful of ways they connect, then write them down in one place. Start small, and add to it only when one of your own questions needs it.
“Ontology” is a big word for a small idea. It is your list of types (the kinds of things you keep a note about) and relationships (the named ways one thing connects to another). You already have one in your head - “our contact works at the client”, “this decision replaced that one”. Writing it down is what lets you, a colleague and an AI assistant all file and find things the same way.
Why bother
Without an agreed shape, every note is filed a little differently. One builder found the same contact written three different ways across three sessions with an AI, because nothing told it which way was right. Answers then depend on which version the assistant happens to read.
With a shape, two things become possible:
- Questions turn into filters. “Who do we know at the client?” is no longer a search through prose - it is a list of every note whose
works_at is the client.
- The graph means something. The lines between your notes say how things are connected, not just that they are.
Seen in practice. In one personal vault of about 5,800 notes, 95% of the links sit in named fields - a person’s organisation, a meeting’s attendees, a project’s people. Questions like “who at this company have I met?” and “who has gone quiet?” became a filter rather than a search.
Step 1 - Start from your questions, not from a diagram
Take the twenty questions you wrote on page 3. Every type and every relationship has to earn its place by helping answer one of them. If no question needs it, leave it out.
Ontology builders call these competency questions: the questions the structure must be able to answer. They do a second job later - they become your test (see page 12).
Step 2 - Nouns become types, verbs become relationships
Underline the nouns in your questions and circle the verbs. The nouns that keep coming back are your types. The verbs that connect two nouns are your relationships.
| Your question | Nouns → types | Verbs → relationships |
|---|
| Who do we know at the client? | person, organisation | works at |
| When did I last meet our main contact? | meeting, person | attended |
| Which decision replaced the old pricing? | decision | replaced |
| What’s still open on the client review? | project | part of |
| Who owns the onboarding project? | person, project | owns |
| Where did we get that figure? | source | comes from |
Most people find six to ten types and five to eight relationships cover nearly everything they ask.
Step 3 - Begin with the starter set
You don’t have to start from a blank page. This set covers the commonest questions for one person or a small team. Rename anything that doesn’t fit your work, and drop what you won’t use.
Eight types - set with a type property on every note:
| Type | What it is | The question it answers |
|---|
person | Someone you deal with | “Who…?” |
organisation | A company, client, supplier or group | “Who do we know at…?” |
project | A piece of work with an end | “Where are we with…?” |
meeting | A conversation on a date | “When did we last talk about…?” |
decision | Something settled, and why | “Why did we…?” |
topic | A theme or idea you come back to | “What do we know about…?” |
source | A document, article or recording you took something from | “Where did that come from?” |
note | Anything that doesn’t fit yet | - (the catch-all, so nothing is forced into the wrong type) |
Six relationships - written as properties that hold links:
| Relationship | Connects | Example |
|---|
works_at | person → organisation | Our main contact works at the client |
attendees | meeting → people | The 3 March review was attended by our contact and a colleague |
part_of | anything → a project or topic | The pricing note is part of the client review |
owner | project or decision → person | A colleague owns onboarding |
supersedes | new decision → old decision | The 2026 pricing supersedes the 2025 pricing |
from | a fact or note → the source it came from | The headcount figure is from the Q3 board pack |
Plus aliases - the other names something goes by (its full company name, its initials). It isn’t a relationship; it stops the same thing getting two notes.
What it looks like in a note
Properties sit at the top of the note, between two lines of three dashes. Obsidian shows them as a neat panel; underneath they’re plain text any assistant can read.
A person:
---
type: person
title: Main contact at the client
aliases: ["Main contact"]
works_at: "[[client]]"
summary: Head of operations at the client; our main contact for the review.
updated: 2026-10-15
---
A meeting:
---
type: meeting
title: Client review kick-off
date: 2026-03-03
attendees: ["[[main-contact]]", "[[colleague]]"]
part_of: "[[client-review]]"
---
A decision that replaces an earlier one:
---
type: decision
title: Pricing for 2026
status: accepted
owner: "[[colleague]]"
supersedes: "[[pricing-2025]]"
from: "[[2026-01-board-pack]]"
---
Three small rules keep this working:
- Put links in properties inside quotes -
"[[client]]". Without the quotes the note’s properties break.
- Use a list when there could be more than one -
attendees is always a list, even with one person in it.
- Don’t write the reverse. There’s no
employs on the client’s note. Obsidian’s backlinks and Bases find “everyone who works at the client” from the people’s notes. Writing both directions means two edits that will eventually disagree.
Plain links or named relationships?
You’ll use both.
- Plain links in the text - “we discussed this with [[main-contact]]” - for passing mentions. They cost nothing and need no decision.
- Named relationships in properties - for connections you’ll ask questions about, filter on, or count.
The rule: link freely in the text; promote a connection to a named relationship only when a question needs it.
Seen in practice. One company vault designed thirteen relationship types up front. Across its real notes, 936 of 1,101 links turned out to be plain mentions, and eight of the thirteen types were never used. Start with the six, and plain links for everything else.
Write it down in one place
Keep a single vocabulary note - for example how-we-work/vocabulary.md - listing each type and relationship with:
- what it means, in one line;
- the question it answers;
- its template (the blank note you copy to make a new one);
- its view (the Bases table where you see all of them).
List the plain properties every note uses as well - title, summary, status, date, updated, checked, aliases, tags - so “use only the vocabulary” covers everything at the top of a note, not just types and relationships.
Point your rules file (AGENTS.md) at the vocabulary note rather than copying it in. One home for the rules; everything else links to it.
Seen in practice. One vault had nine types but templates for only two of them, and saved queries for a plugin that wasn’t installed. Another used eleven types while its rules file listed nine. Define a type only together with its template and its view - if you can’t be bothered to make those, you don’t need the type.
Naming conventions
- Property names: lowercase with underscores (
works_at, not Works At or worksAt). Borrowing names from schema.org - the vocabulary search engines use - keeps them recognisable to people and AI alike.
- Type names: singular (
person, not people).
- One note per thing. Other spellings, nicknames and old names go in
aliases, never in a second note.
- No abbreviations you’ll forget in six months.
Growing it, and pruning it
Your ontology should change slowly and on purpose.
- Add a type or relationship when a question you actually asked couldn’t be answered without it. Add its template and view at the same time, and a line to the vocabulary note.
- Check it against reality every quarter. Ask your assistant to list every property in use and how often. Look for near-duplicates (
company and org), typos, and fields that have drifted from what you meant.
- Retire anything nobody has used in a quarter. Remove it from the vocabulary note and the template; let old notes keep it or clean them up.
Seen in practice. In one large vault a field documented as a short fixed list had grown to 38 free-text values, a documented field had been quietly replaced by another, and three near-identical fields for “last contact” had appeared. None of it was visible until someone compared the rules with the notes.
Seeing it in Obsidian (October 2026)
- Graph view draws links held in properties as lines, but every line looks the same - it shows that things connect, not how. Use the local graph on a single note to spot orphans and missing links.
- Bases, built into Obsidian, is where named relationships pay off. Embed a table on the client’s note that lists every person whose
works_at is the client, and it stays up to date by itself.
- Plugins such as Base Graph and Graph Link Types can colour or label lines by relationship. They’re young and optional - your data stays in the notes either way.
Notion, Tana and similar tools have their own versions of types and relationships, but the structure lives inside the app. Here it lives in your files.
Two shapes, both fine
Seen in practice. A personal brain built from years of email looked like a relationship index: thousands of short notes, almost all its links in named fields, built for “who do I know, and when did we last speak?”. A small business brain written by two people looked like an operating manual: a hundred and sixty longer notes, linked through the text around a home page, built for “what’s current and correct?”. Same method, different weights. Decide which yours is closer to - it tells you how much to lean on named relationships.
What the evidence says
- Starting from questions is long-standing practice in ontology design (Grüninger & Fox; Noy & McGuinness, Ontology Development 101).
- One note per thing, other names as aliases is the standard answer to duplicates (the W3C’s SKOS vocabulary uses the same idea).
- Whether named relationships improve AI answers in a personal brain has not been measured. On general benchmarks, graph-style retrieval helps most with questions that chain two or more facts (“who at our clients reports to our main contact?”) and can do worse on simple look-ups. Treat named relationships as a way to filter and count reliably, and check on your own questions whether they help your assistant.
Prompts for this step
Derive your ontology from your questions
Here are the questions I want my brain to answer: [paste your questions].
Propose the smallest set of note types and named relationships that would let you
answer all of them. Start from this starter set and only add to it if a question
needs it: types person, organisation, project, meeting, decision, topic, source, note;
relationships works_at, attendees, part_of, owner, supersedes, from.
For each type and relationship, say which of my questions it serves.
List anything in the starter set that none of my questions needs.
Don't create any files yet.
Write the vocabulary note and templates
Using the types and relationships we agreed, create:
1. how-we-work/vocabulary.md - one short entry per type and relationship: what it
means, the question it serves, its template and its view.
2. A template in templates/ for each type, with its properties at the top.
Links in properties must be quoted, and plural relationships must be lists.
3. A Bases view for each type.
Don't add inverse relationships. Show me the files before saving them.
Add properties to notes you already have
Go through the notes in [folder]. For each one, propose the type and any named
relationships it should have, using only our vocabulary in how-we-work/vocabulary.md.
Don't change any note. Write your proposals as a table in inbox/ontology-proposals.md
with the note, the proposed properties, and how sure you are.
Propose links
Read [note or folder]. Suggest links that are missing: plain [[links]] where the text
mentions a person, organisation, project or decision we have a note for, and named
relationships from how-we-work/vocabulary.md where a property is clearly implied.
Match names against aliases too. Never invent a target: if no note exists, list it as
a "wanted note" instead. Write your suggestions to inbox/link-proposals.md and change
nothing else.
Quarterly check
List every property used across the brain, how many notes use it, and any values that
look like typos or near-duplicates. Compare it with how-we-work/vocabulary.md and tell me:
properties in use but not in the vocabulary, vocabulary entries nobody uses, and fields
whose values have drifted. Change nothing - just report.
Sources