Robotics, hardware & the edge
A fleet of robots, gateways and sensors shares one world — assets, zones, tasks, components and the relationships between them. Keeping that world in a graph makes it queryable: any device, or an agent acting on its behalf, asks what's connected to what right now instead of stitching together four inventories.
A shared world model the fleet can query
Model robots, sensors, zones, tasks, parts and assets as nodes, and 'can reach', 'depends on', 'located in', 'assigned to' as edges. A device — or an on-device agent connecting over Bolt or MCP — reads the neighbourhood it needs with a traversal, bounded by relevance rather than the whole fleet state, so the query stays cheap and real-time.
Impact analysis when hardware fails
Components, dependencies and the systems that rely on them are edges, so "what's affected if this part fails" is `[:DEPENDS_ON*1..]` — the whole downstream cone in one query. The same traversal answers which robots can still cover a zone, or which tasks are blocked, without a person tracing a wiring diagram.
A graph per fleet, site or robot
Isolation is cheap: an instance per site, per fleet or per experiment, provisioned in about a minute and billed by the second. A robot's context can be its own graph, born when a job starts and deleted when it's done — a low resource footprint by construction, not by tuning.
MATCH (z:Zone {id: $zone})<-[:CAN_REACH]-(r:Robot)
WHERE r.status = 'online'
OPTIONAL MATCH (r)-[:HAS_COMPONENT]->(c:Component {status: 'fault'})
WITH r, count(c) AS faults
WHERE faults = 0
RETURN r.id, r.battery, r.location
ORDER BY r.battery DESCOther use cases
Graph memory for AI agents
Give an agent a graph it can traverse instead of a transcript it has to re-read. One instance per agent, per session, or per tenant.
MATCH (a:Agent)-[:REMEMBERS]->(f:Fact)Read moreKnowledge graphs
Model people, documents, systems and the relationships between them, then answer questions that span all of them at once.
MATCH (d:Document)-[:MENTIONS]->(e:Entity)Read moreMulti-tenant graph applications
Give every tenant a real database instead of a tenant_id column. Isolation you can point at, and cost that scales with what each one uses.
CREATE (t:Tenant {id: $tenant})Read moreDependency & impact analysis
Model what depends on what — services, data, teams — and answer "if this breaks or changes, what's affected?" as a traversal instead of a spreadsheet.
MATCH (s:Service)<-[:DEPENDS_ON*1..]-(affected)Read moreReal-time recommendations
Compute "people like you also chose" live from the behaviour graph at request time — so a purchase a second ago changes the next suggestion.
MATCH (u)-[:BOUGHT]->(p)<-[:BOUGHT]-(peer)Read moreRobotics, hardware & the edge
Model the world a fleet shares — robots, devices, assets, tasks and their dependencies — as one graph the whole fleet can query in real time.
MATCH (r:Robot)-[:CAN_REACH]->(z:Zone)<-[:LOCATED_IN]-(a:Asset)Read moreStart now
~98.7%
token efficiency at 2,000 entities — see the footnotes above
Put your first graph up in a minute.
A free instance takes about a minute and no card. Write two MERGE statements, read them back, and you have a living graph — with provenance on every fact.
First-graph path
LiveCreate a free instance
No card. Ready in about a minute.
Connect your driver
bolt+ssc:// URI into the driver you already use.
Write two MERGEs
That's the entire shape of agent memory.
Point an agent at it
One MCP config block. No integration code.