Skip to Content
ShapeRelationships

Relationships

A relationship type is a kind of connection, named in capitals: SUPPORTS, RELATES_TO, SPEAKS_TO. It connects particular pairs of node types, in a direction. One relationship type can connect several pairs: SUPPORTS might run Source → Concept and Thinker → Concept. Each pair is a connection, drawn as one line.

Drawing one

Hover a card and drag its gold handle:

  • Onto another card. The target card lifts and rings gold while you’re over it, and a dashed line with an arrowhead shows where it will go. Let go and a small form appears.
  • Back onto the same card. A self-loop: Concept → Concept.
  • Onto empty canvas. A ghost card marked “New type” follows the pointer; let go and a new type is created there, connected. After you name the relationship, the new card’s name field is focused.

The form shows the two ends with their colours, a RELATIONSHIP_NAME field (whatever you type is upper-cased with underscores: relates to becomes RELATES_TO), a Both ways checkbox (not for a self-loop), and chips under Or reuse listing existing relationship types that could connect these two, narrowed as you type. Press Return or click Add.

Reusing a name is how one relationship type comes to connect more pairs: drag Thinker → Concept, type SUPPORTS, and the existing SUPPORTS gains the new connection.

How lines are drawn

  • A one-way connection has a small port dot where it starts and an arrowhead where it ends.
  • A two-way connection (A → B and B → A both allowed) is one line with an arrowhead at each end.
  • Several connections between the same two cards fan out side by side; self-loops drop below the card, stacked.
  • The name sits in a capsule at the line’s middle. A dashed capsule border means the connection isn’t in the database yet (the shape has an issue to fix first).
  • The selected line and its name turn gold. Click a name to select that connection; the whole relationship type lights when selected as a whole in the inspector.

Direction

Three ways to change which way a connection runs:

  1. Right-click the line’s name › Direction: Concept → Source, Source → Concept, or Concept ↔ Source (both ways). A self-loop offers One way and Both ways.
  2. In the inspector’s Connects list, click the arrow between the two chips: it cycles one way → both ways → the other way → both ways…
  3. Tick Both ways when creating it.

Turning a direction off when the graph holds connections that way asks first: “Its 7 connections the other way between Concept and Source are deleted from your graph.”

For a type connected to itself, “both ways” is a mark on the shape (the database is the same either way); it means a link from one node to another means the same as one back, so it’s drawn without a direction and the AI is told to match it undirected.

The inspector for a relationship

Select a line or a relationship to see:

  • Its NAME (editable; renaming to the name of another relationship type merges the two, unless both already exist in the database, in which case the app says “There’s already a relationship called X”).
  • Connects: one row per connection, from chip · arrow button · to chip, with an × to remove that connection when there’s more than one. Removing a connection that holds data asks first. A relationship type loses its last connection and goes with it.
  • Properties: the same editor as a node type’s: kinds, title, embedding, show on graph, defaults. A relationship’s title shows on the line in place of its name.
  • Delete relationship: removes the type and every connection it makes, asking first when connections hold data.

Renaming

Double-click a line’s name, or edit it in the inspector. What you type is normalised: speaks to → SPEAKS_TO. A name that is a Cypher keyword (CONTAINS) is stored as CONTAINS_ and shown as CONTAINS.

The AI, Raw Cypher and the MCP tools all use the database name, which the Cypher completion dropdown and the get_shape tool list. The shape’s own rendering for the AI marks two-way connections “so match it without direction”.