An agent that can only SELECT sees a table at a time. The questions that decide things — who else does this supplier touch, what is five hops from this account, which of these are the same company — are traversals. Declare a graph over the tables you already have and your agent can walk them: no graph store to load, nothing to sync, writes still ordinary SQL with transactions.
CREATE GRAPH builds a compact adjacency artifact pinned at a specific table version and serves traversals from it. It rebuilds itself when the edge table drains or compacts — and when you need the newest writes before that happens, a 'strong' read merges them into the traversal at query time.
nodes/edges tables ──CREATE GRAPH──► adjacency artifact @ version V
│ │
│ writes (SQL INSERT/DELETE) ├── default read: artifact as-is
▼ │
write-ahead log ────────'strong' read────────┴── artifact ∪ un-drained writesgraph_khopk-hop expansion from a start nodegraph_neighborsdirect neighbours, 'out' / 'in' / 'both'graph_shortest_pathshortest path, unweighted BFSgraph_pagerankPageRank over the whole graphgraph_componentsweakly connected componentsgraph_bfsleveled breadth-first searchBecause the graph lives in the same engine as the rows, a traversal is just another relation. No round trip to a second database, no stitching two result sets together in application code.
-- total deal value across an account's 5-hop corporate family
SELECT SUM(amount) FROM deals
WHERE account_id IN (SELECT node FROM graph_khop('accts', 1, 5));The shapes below are stable — the surface is deliberately narrow, and we would rather you knew the edges before you build on them.