Knowledge graphs

The questions worth asking usually span more than one system. A knowledge graph puts the join in the data model instead of in an application that has to fan out to four APIs and reconcile the results.

Multi-hop questions stay one query

Who else worked on the projects that depend on this service? Which documents reference an entity that a departing employee owned? In a relational model each hop is another join and another index to maintain. In Cypher it is another arrow in the pattern.

Full-text search where the entities already live

Full-text indexes with BM25 ranking run inside the database, so a keyword search returns nodes you can immediately traverse from. Finding the document and then walking to its author, its topics and its dependents is one round trip, not three.

Load from where your data already is

Import runs from object storage, warehouses and streams — S3, Google Cloud Storage, Azure Blob, BigQuery, Snowflake, Postgres, Kafka, Spark, Delta Lake and Iceberg — so building the graph does not start with writing an export pipeline.

Everything connected to an entity, ranked by how directly.cypher
CALL db.index.fulltext.queryNodes('docs', $q) YIELD node, score
MATCH (node)-[:MENTIONS]->(e:Entity)<-[:MENTIONS]-(related:Document)
WHERE related <> node
RETURN related.title, e.name, score
ORDER BY score DESC LIMIT 20

Start 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

Live
  1. Create a free instance

    No card. Ready in about a minute.

  2. Connect your driver

    bolt+ssc:// URI into the driver you already use.

  3. Write two MERGEs

    That's the entire shape of agent memory.

  4. Point an agent at it

    One MCP config block. No integration code.