Step 1: Define Your Entity Types and Attributes
Before entering any data, decide what types of entities you need to track and what attributes matter for each. A minimal useful schema includes:
- Person: Full name, aliases, date of birth (if known), nationality, current role/position, contact information, notes.
- Organization: Legal name, trading names, jurisdiction of incorporation, registration number, type (public company, private company, trust, foundation, non-profit, government entity), industry, status (active, dormant, dissolved).
- Asset: Type (real estate, equity stake, intellectual property, tangible asset), description, estimated value, location, owning entity.
- Document: Type (contract, report, filing, correspondence), date, parties, summary, file location.
Step 2: Define Your Relationship Types
The power of a graph-structured system comes from explicitly typed relationships. Common relationship types include:
- Person-to-Organization: Director, officer, employee, shareholder, beneficial owner, advisor, consultant, client.
- Organization-to-Organization: Parent-subsidiary, joint venture partner, supplier, customer, competitor, co-investor.
- Person-to-Person: Colleague, family relation, business partner, reported association.
- Asset-to-Organization: Owned by, managed by, leased to.
- Document-to-Entity: Mentions, concerns, is evidence for, is signed by.
Step 3: Build Incrementally, Link as You Go
The most common mistake is trying to build the complete dataset before using it. Instead:
- Start with the entities you know well — your own organization, key clients, known competitors.
- Add new entities as they become relevant — a company mentioned in a news article, a person who appears in a meeting.
- For each new entity, immediately link it to existing entities using the defined relationship types.
- Attach source documents as you go — link the news article, meeting note, or filing that prompted the entry.
This incremental approach means the graph is always useful, even when incomplete. The value compounds as connections accumulate.
Step 4: Use the Graph for Discovery, Not Just Storage
A graph-structured database is not just a storage mechanism — it is an analysis tool. Regular exploration habits reveal insights:
- When you add a new person, check: are they already connected to anyone in the database through a different path?
- When you add a new company, expand its connections: who are the directors, and where else do those directors appear?
- Periodically review dense connection clusters: a group of entities with many interconnections often represents something significant — a corporate group, a supply chain, an investment network.
Step 5: Maintain Source Attribution
Every entity, relationship, and attribute should have a source: a document, a public record, a news article, a personal communication. This source trail is what distinguishes an intelligence database from a collection of assumptions. When a connection turns out to be important, you can trace back to the evidence that established it.
Tooling: Why Local-First Matters
The entity-relationship database you build is itself a sensitive asset — it reveals what you are tracking and why. ONS Data Terminal provides entity management, typed relationships, document linking, and interactive graph visualization — all running on your local machine with data stored in your own PostgreSQL database. There is no cloud dependency, and the graph data never leaves your hardware.