Relation Types Reference¶
Complete reference for all relation settings and how they interact.
Relation Settings¶
Name¶
Type: String
Constraints: - Lowercase letters, numbers, dashes, underscores only - No spaces - Must be unique
Examples: up, parent, cites, related-to, step_1
Normalized: Input is automatically lowercased. UP becomes up.
Visual Direction¶
Type: Enum
Options:
| Value | Display Behavior | Tree Orientation |
|---|---|---|
ascending |
Deepest items at root | Inverted tree |
descending |
Direct items at root | Normal tree |
sequential |
Flat sorted list | No nesting |
Default: descending
Aliases¶
Type: Array of alias objects
Each alias maps a frontmatter format to this relation.
Alias Types¶
| Type | Format | Example Key | Matches |
|---|---|---|---|
property |
Direct property | up |
up: "[[Note]]" |
dotProperty |
Namespaced | relations.up |
relations.up: "[[Note]]" |
relationsMap |
In relations object | up |
relations: { up: ... } |
Multiple aliases: A relation can have many aliases. Useful for supporting multiple property names or all three formats.
Implied Relations¶
Type: Array of implied relation objects
Each implied relation creates automatic edges based on this relation's edges.
Implied Relation Settings¶
Target Relation: Which relation to create (must exist)
Direction:
| Value | From | To | Use Case |
|---|---|---|---|
forward |
Source | Target | Aliases |
reverse |
Target | Source | Bidirectional links |
both |
Both directions | Both | Symmetric relations |
Valid Relation Names¶
Character Rules¶
| Allowed | Not Allowed |
|---|---|
a-z |
Uppercase (normalized) |
0-9 |
Spaces |
- (dash) |
Special characters |
_ (underscore) |
Periods, colons, etc. |
Examples¶
| Input | Result | Notes |
|---|---|---|
up |
up |
Valid |
UP |
up |
Normalized |
Parent Note |
Invalid | Contains space |
parent-note |
parent-note |
Valid |
parent_note |
parent_note |
Valid |
parent.note |
Invalid | Contains period |
123 |
123 |
Valid (numbers only) |
Visual Direction Details¶
Ascending¶
For relations that point "upward" in a hierarchy.
Graph:
Display:
Deepest ancestor at root, progressively closer items nested below.
Use cases: up, parent, belongs-to, part-of
Descending¶
For relations that point "downward" in a hierarchy.
Graph:
Display:
Direct children at root, their children nested below.
Use cases: down, child, contains, has
Sequential¶
For relations that form ordered sequences.
Graph:
Display:
Flat list, sorted by chain order or properties.
Use cases: next, prev, follows, precedes
Alias Configuration¶
Property Alias¶
Maps a top-level frontmatter property.
Frontmatter:
Configuration:
- Type: property
- Key: up
Dot Property Alias¶
Maps a namespaced frontmatter property.
Frontmatter:
Configuration:
- Type: dotProperty
- Key: relations.up
Relations Map Alias¶
Maps a key within a relations object.
Frontmatter:
Configuration:
- Type: relationsMap
- Key: up
Implied Relation Direction¶
Forward¶
Same direction as source edge.
Use: Creating aliases or synonyms.
Reverse¶
Opposite direction from source edge.
Use: Bidirectional hierarchies.
Both¶
Creates edges in both directions.
Source: A -related-> B
Rule: related → related (both)
Result: A -related-> B (same as explicit)
B -related-> A (new)
Use: Symmetric relationships like "related" or "sibling".
Common Patterns¶
Bidirectional Hierarchy¶
Citation Network¶
Symmetric Relation¶
Multi-Level Hierarchy¶
project (ascending)
→ epic (reverse)
epic (descending)
→ project (reverse)
task (descending)
→ subtask (reverse)
subtask (ascending)
→ task (reverse)
Troubleshooting¶
Relation Not Recognized¶
- Check aliases: Does the relation have an alias matching your syntax?
- Check key: Is the alias key exactly right (case-sensitive)?
- Check type: Is the alias type correct for your frontmatter format?
Implied Relation Missing¶
- Check source relation: Does the source relation have the implied rule?
- Check target exists: Is the target relation defined?
- Check direction: Is forward/reverse/both correct for your use case?
Wrong Visual Direction¶
- Check the relation: Is visual direction set correctly?
- Ascending: Deep items at root (for "up" relations)
- Descending: Direct items at root (for "down" relations)
- Sequential: Flat list (for "next/prev" relations)