Relationship Type Creation
Relationship types define the kinds of connections that can exist between entities in your world.
Creating a relationship type
Section titled “Creating a relationship type”- Go to Management > Relationship Types in the world sidebar.
- Click Create Relationship Type.
- Enter a forward name (e.g. “MENTORS”) — the internal identifier.
- Enter a forward label (e.g. “Mentors”) — how the relationship reads from source to target.
- Enter a reverse name and reverse label (e.g. “MENTORED_BY”, “Is mentored by”).
- Select a category (kinship, social, political, spatial, ownership, religious, etc.).
- Configure type constraints — which entity types can be sources and targets.
- Set additional options: temporal context, spatial context, symmetry, subtypes.
- Click Save.
Labels and directionality
Section titled “Labels and directionality”Every relationship type has four name fields:
| Field | Purpose | Example |
|---|---|---|
| Forward name | Internal identifier (source → target) | MENTORS |
| Forward label | Display text (source → target) | “Mentors” |
| Reverse name | Internal identifier (target → source) | MENTORED_BY |
| Reverse label | Display text (target → source) | “Is mentored by” |
Symmetry
Section titled “Symmetry”Set the is_symmetric flag for relationships where direction doesn’t matter:
- Symmetric: “Allied with”, “Spouse of”, “Hostile to” — both sides read the same
- Asymmetric: “Parent of / Child of”, “Controls / Controlled by” — direction carries meaning
Type constraints
Section titled “Type constraints”Control which entity types can participate:
| Setting | Description |
|---|---|
| Allowed source types | Entity types that can be the source (null = any) |
| Allowed target types | Entity types that can be the target (null = any) |
| Max concurrent | Maximum active relationships of this type per entity. 1 for exclusive relationships like “Lives in”. null for unlimited. |
Temporal context
Section titled “Temporal context”Enable has_temporal_context to give relationships a time dimension:
- valid_from — when the relationship started
- valid_to — when it ended (null if still active)
This integrates with the graph’s temporal controls, letting you view the state of relationships at any point in your world’s history.
Spatial context
Section titled “Spatial context”Enable has_spatial_context to associate relationships with locations:
- A primary location reference
- Optional marker override for map positioning
- Additional location references for multi-point relationships (trade routes, journeys)
Extended properties
Section titled “Extended properties”Define custom fields on the relationship type using the same field definition system as entity types. This lets you add metadata specific to that relationship type.
For example, a “Trade with” relationship might have extended properties for trade goods, volume, and trade route.
Subtypes
Section titled “Subtypes”Add subtypes for finer categorisation within a relationship type. Each subtype has:
| Field | Description |
|---|---|
| Value | Internal identifier (e.g. “biological”) |
| Label | Display name (e.g. “Biological”) |
| Description | Explanation of this subtype |
| Icon | Visual indicator |
For example, “Parent of” includes subtypes: biological, adoptive, step, foster, guardian, divine birth, surrogate, mentor.
You can set a default subtype and configure a label template (e.g. {subtype} {forward_name}) for how the relationship displays when a subtype is selected.
System vs. world types
Section titled “System vs. world types”- System types are provided by MythTapestry and available to all worlds
- World types are custom types you create for a specific world
- World types can extend or override system types
Categories
Section titled “Categories”Relationship types are grouped into categories for organisation:
- Kinship — family and lineage relationships
- Social — membership, allegiance, friendship
- Political — control, alliance, hostility
- Spatial — location, containment
- Ownership — possession, stewardship
- Religious — worship, devotion
- Origin — creation, founding
- Event — participation, witnessing
Visibility in the graph
Section titled “Visibility in the graph”Relationship types map directly to edges in the knowledge graph:
- Each type gets a distinct visual style
- The arrow direction matches the forward label
- Type filters in the graph toolbar let you show/hide specific types
- Edge labels display the appropriate forward or reverse label based on viewing context