Ontology gallery
Ready-made ontologies you can download, open and combine. Each one is a folder of plain Markdown: schema notes that declare node types, edge types and their properties, and a few example notes so the graph is not empty on first open.
See how a Zettelkasten works
An ontology is a set of note types and the links allowed between them. Step through one real Zettelkasten, drawn from the example notes you can download below, from a quick capture to a chapter of writing.
Step 1 of 7
Capture
A thought arrives. You write it down as a fleeting note.
Look inside an ontology
Every ontology as a map: each shape is a type, each arrow a link its notes may have, with the colors and shapes written in the schema notes. Faint arrows are about links to topics.
Pick one
Zettelkasten
The note types of the method (fleeting, literature, permanent, structure and project notes), books, articles and papers with their writers, highlights and topics. Papers can cite each other, so their citation graph sits beside your notes. Moving a note forward leaves a link back, so the trail from capture to idea stays in the graph.
11 types FleetingNote LiteratureNote PermanentNote StructureNote ProjectNote BookSource ArticleSource PaperSource Highlight Writer Topic
15 edge types cites based_on processed_into highlighted_in authored_by about indexes draws_on extends supports example_of follows related_to contradicts derived_from
Every note gets a time-ordered uid, permanent notes can take Luhmann ids (1, 1a, 1a1) through child and sibling commands, and each note type has a template. Needs the plugin or the VS Code extension with TGS 0.2.
It answers: Which fleeting notes are still in the inbox? Which highlights have no literature note? Which permanent notes come from which book or paper?
Book management
What you own, are reading and want to read, with authors, series, genres and saved quotes. status, started and finished give you a reading log.
5 types Book Author Series Genre Quote
6 edge types written_by in_series has_genre sequel_of inspired_by influenced quoted_from
It answers: What am I reading? Which series have I started and not finished?
Coding and requirements
Requirements, scenarios, decisions, constraints and concepts, grown with stakeholders, releases and risks. The code ontology that tg init installs, extended for product work.
9 types Requirement Scenario Decision Constraint Concept Change Stakeholder Release Risk
15 edge types refines depends_on requested_by ships_in supersedes motivated_by constrains defines threatens mitigated_by introduced_by changed_by contradicts
It answers: Which must-have requirements have no release? Which open risks threaten stable requirements?
Prompts and agents
A catalogue of prompts, the agents that use them, the tools and skills those agents call, the knowledge they read and the evals that score them.
6 types Prompt Agent Tool Skill Knowledge Eval
8 edge types uses_prompt calls_tool has_skill reads delegates_to derived_from composes evaluated_by
It answers: Which production prompts have no eval? Which autonomous agents can reach a destructive tool?
OKF knowledge catalog
Tables, metrics, dashboards, glossary terms, runbooks and their owners, with the keys the Open Knowledge Format recommends on every type. A vault using it exports as a conformant OKF bundle.
6 types Table Metric Dashboard Term Runbook Person
6 edge types owned_by derived_from computed_from defined_by shown_in covers
It answers: Which metrics are computed from this table? Who owns the dashboard that shows them? What does the export look like for an agent? See Getting your vault OKF-ready.
Several of them use the same edge words: contradicts in Zettelkasten and Requirements, derived_from in Prompts and agents and OKF. Each is declared once in a small shared core note that every download already contains, which is what lets them be combined. The article explains why.
Use one
- Download a
.zipand unzip it. It containsTypes/(the schema),Examples/and a README. - In Obsidian, choose Open another vault → Open folder as vault, and turn on the Typed Graph plugin. The schema folder is
Types/, which is the plugin's default. - Open an example note. Its
type:frontmatter is the label, and lines such aswritten_by:: [[Frank Herbert]]are typed edges. Add a block withMATCH (n) RETURN nto see the graph colored by the schema. - Delete
Examples/and start writing your own notes.
Add one to a vault you already have
Copy the .md files from the ontology's Types/ folder into your vault's schema folder. Nothing else changes: notes with no type: are untouched, and notes whose type matches a schema are validated against it. Validation is advisory, so a missing property or a disallowed edge is a warning on the note and never removes anything from the graph.
Combine several
Put the schema notes of every ontology you want into the same Types/ folder, with Core.md. One note can then carry labels from two ontologies, for example type: [Book, BookSource] for a book that is also a source in your Zettelkasten. all.zip is exactly that: all five ontologies composed in one vault. Each type and edge type must be declared in one note only; the reader reports a duplicate and uses the first by path.
Use it from a project or another tool
tg schema export shapes.ttl --vault path/to/vault # any ontology as W3C SHACL tg schema import shapes.ttl --vault path/to/vault # SHACL shapes back into schema notes
In a code repository, tg init --write installs the smaller code ontology with lat.md/. To use a gallery ontology there instead, keep its Types/ notes in a folder such as ontology/ and pass --schema-folder ontology. The format is the open Typed Graph Schema, so other tools can read it.
Make it yours
They are starting points. Rename a type, drop a property you will never fill in, add a value to an enumeration. A type earns its place when you would ask a question that depends on it. If you build one other people could use, a pull request to the ontologies/ folder is welcome; it needs to read without diagnostics, and the test suite checks that for every ontology.