A vault that teaches itself
The demo vault is a small research lab: five people, two companies, three projects, two papers and three topics. It uses every Typed Graph feature and includes a guide to typed graphs and a hands-on openCypher course. Every example in it runs live.
Open it in three steps
- Download and unzip
typed-graph-demo-vault.zip. The plugin is already inside. - In Obsidian, choose Open another vault → Open folder as vault and pick the unzipped folder.
- Turn on community plugins when Obsidian asks, then open Start Here.
If you work from a clone of the repository, npm install && npm run example:install builds the plugin straight into example/.
The guide
| Note | What you learn |
|---|---|
| Start Here | A live graph to check the setup, a tour, and five things to try in two minutes. |
| How typed graphs work | Nodes and labels, typed edges, signs, properties, pinned ids, stubs, schema notes, style precedence and edge embeds, each with a live query. |
| Cypher manual | Twelve short lessons, from MATCH to variable-length paths, and a cheat sheet. |
| Query gallery | Every block option (view, columns, height, per-block styles) and recipes: ego networks, trust networks, funding chains, research maps. |
| Sidecar and agents | Running the sidecar on this vault, the HTTP API, LadybugDB-only Cypher, and connecting Claude through MCP. |
| Diagnostics playground | Deliberate mistakes: a broken property block, an unpinned embed, a missing edge, a syntax error and a write query. |
The Cypher manual
Each lesson is a few sentences and a live block you can edit. The result updates as you type.
- Nodes:
MATCH,RETURN, labels and property maps - Relationships: direction, type alternation, edge properties
- Filtering with
WHERE: comparisons,IN,CONTAINS,IS NULL - Signs and built-in properties:
r.sign,r.id,n.stub,type(),labels() - Several patterns at once, and longer chains
OPTIONAL MATCHas a left join- Aggregation:
count,sum,avg,collect,DISTINCT - Chaining with
WITH, and filtering on an aggregate - Variable-length paths and path variables
- Sorting and paging
- Stubs and schema checks written as queries
- Limits of the built-in engine, and when to use
backend: ladybug
```graph-query view: table MATCH (p:Person)-[:contributes]->(proj:Project) WITH p, count(proj) AS projects WHERE projects > 1 RETURN p.title AS person, projects ```
What is in the data
The vault is small enough to read in ten minutes, and each feature appears somewhere in it:
- Typed nodes in
People/,Companies/,Projects/,Papers/andTopics/, with frontmatter properties. - Multi-label nodes. Bob is
[Person, Engineer]and Carol is[Engineer, Person], so the first label decides how each is drawn. - Typed edges with properties. Examples include
contributes:: [[Ranking]] {hours: 200}andfunds:: [[Search]] {amount: 250000, currency: EUR}. - Signed edges. Alice trusts Bob and distrusts Mallory, and Initech competes with Globex.
- Pinned edge ids, used by the embeds in Alice's note.
- Stubs. Eve, Globex and "Property Graphs 101" are linked but have no note yet.
- Six schema notes in
Types/, with required properties, allowed edges, colors, shapes, icons, alabelproperty and templates. - Advisory schema warnings. Dave has no required
role, and Mallory has an edge type her schema does not allow.
---
type: Person
role: research lead
joined: 2019-03-01
---
Alice met Bob in {{edge: alice-knows-bob . since}}.
## Team
knows:: [[Bob]] {since: 2020, label: "met at NeurIPS", id: "alice-knows-bob"}
mentors:: [[Dave]] {since: 2024}
- works_at:: [[Acme]] {role: "research lead", since: 2019}
leads:: [[Search]], [[Crawler]]
## Trust
+trusts:: [[Bob]] {weight: 0.9}
-distrusts:: [[Mallory]] {id: "alice-mallory", why: "phishing email"}
Tested like code
The vault is part of the test suite. Every query in it must parse and return rows, every embed must resolve, and the schema warnings and stubs must be exactly the deliberate ones. If the plugin changes in a way that breaks an example, the build fails before a release ships.