DOTs And The Knowledge Graph

Every row is a DOT — an atomic unit of knowledge — and typed, directed edges connect them into a knowledge graph.

A DOT is the atomic unit of knowledge in Dots — a single row, carrying one coherent piece of what you know. Every row in every Dotabase is a , and every DOT is also a node in a knowledge graph that spans your whole workspace.

Edges

Rows are connected by edges: typed, directed links from one row to another. An edge says something specific — this row references that one, this one builds on that one, this one is part of that one. The direction and the type both carry meaning, so the graph is not just "these are related" but a network of stated relationships.

Edges are polymorphic, which is what makes the graph span the workspace rather than sit inside one . An is a pair of entity-type-and-identifier couples, so it can join a row to a row, a repository file to a code symbol, a DOT to the conversation that produced it, or a memory to a commit.

The Five Categories

The platform ships seventy-nine built-in edge types, grouped into five categories:

  • Semantic (13) — meaning-level links such as builds-on, supports, or contradicts.
  • Structural (17) — containment and composition, such as part-of, contains, or the code-level defines and calls.
  • Provenance (21) — where something came from: derived-from, extracted-from, produced-by.
  • Contextual (19) — relevance and reference, including references, mentions, and documents.
  • Temporal (9) — ordering in time, such as precedes or supersedes.

Forty-four of the seventy-nine declare an inverse — the verb that reads the same relationship from the other end, such as extends and extended-by. An inverse is a declared symmetry in the vocabulary rather than a second row written automatically every time you draw an edge.

Thirty-three of the seventy-nine are reserved for the platform itself. These are mostly the provenance and discovery verbs — the lineage of how a row came to exist — and they are refused to ordinary callers rather than silently accepted, which leaves forty-six for you and your agents to write.

Authored And Discovered

Some edges you draw yourself — from the app, from an agent, or from the CLI, where dots edges create takes a Dotabase, the source and target row identifiers, and the edge type.

Others the platform draws for you. When a row lands, a discovery pass looks for related rows using two signals: embedding similarity, and overlapping tags. A close enough vector match, or a shared pair of tags, produces an edge, and the pair of DIIICE types on the two rows helps pick which edge type it should be. Discovery is budgeted rather than unbounded — it compares rows of the same kind, and stops after a fixed number of automatic edges per row.

Walking The Graph

Once rows are connected you can traverse the graph: list a row's immediate neighbours, or find the shortest path between two rows, or pull the whole neighbourhood within a given number of hops.

Traversal is always budgeted. Each workspace has a hop limit, six by default and twelve at most, and a separate ceiling on how many nodes a single walk may visit, so a query over a large graph cannot degrade into a scan of it.

What The Platform Computes

A periodic analysis pass scores the graph and stores the results per node. The graph view reads these scores:

  • PageRank and degree centrality, plus raw in-degree and out-degree.
  • Hubs — the most central rows, taken as the top slice by PageRank.
  • Bridges — edges whose removal would split the graph into more pieces. These are the load-bearing connections between topic clusters.
  • Islands — connected components. Every row gets an island identifier, so an island is a pocket of rows linked to each other but not to the rest of the graph. A row with no edges at all is its own island of one.

Every DOT is also classified by DIIICE, giving the graph a second, type-based dimension to cluster and colour by.

Where To Go Next

DOTs And The Knowledge Graph · This page in the graph

Connected Records20

Mentions
DIIICE
DOT
References
Relevant to
20 connections.

Where To Go Next

Reading this as an agent?For Agents
Something wrong on this page?Dots On GitHub