Blank Neo4j project
A preconfigured home for governing your Neo4j graph — bring artifacts now or later.
Write down the graph schema MERGE has been inferring for you.
Property graphs accumulate implicit schemas: labels, relationship types, property keys, uniqueness that exists only if someone created a constraint. Documentation is a diagram from last year.
CoreModels imports what the database will actually enforce and what the model files claim, then lets you govern the rest. Generate-back can emit constraints aligned with the definition. GraphRAG grounding uses that definition so retrieval is not guessing node shape.
Use this when the graph is a product surface — search, recommendations, agents — and silent duplicates are more expensive than a missing unique constraint looks.
Recipes
Recipes for Neo4j
A preconfigured home for governing your Neo4j graph — bring artifacts now or later.
Fail the build when your graph drifts from the governed model.
Turn apoc.meta.schema() into a governed model in one upload.
Close the loop: make Neo4j enforce the governed shape.
Stop agents guessing your graph schema — give them the governed model over MCP.
Uses
Articles that explain the gap, then point at the recipe that closes it.
A duplicate-node incident is one of the quietest failures in software. Nothing throws. No log line turns red. A `MERGE (p:Person {email: $email})` runs a few hundred thousand times a day and, for eleven months, does exactly what everyone expects. Then a second ingestion path is added — this one merges on `name`, because that is what the upstream file happened to carry — and the graph starts growing two `Person` nodes where there used to be one. Traversals still return results. Dashboards still render. The number of people in the company just slowly stops being true.
Recipe: GraphRAG Grounding for Agents
OutcomesAdoption stories usually get told as a list of features. This one is easier to tell as an inventory: after a team wires CoreModels to their Neo4j instance, four artifacts exist that did not exist before, and almost everything that changes about the week is downstream of those four.
Recipe: CI Drift Gate for Neo4j · First Governed Import for Neo4j
GovernanceYou can predict how a tool will behave inside your systems by reading which of its operations require which permission. Roles are enforced by code paths; brochures are not.
Recipe: Generate Neo4j Constraints from the Governed Model
EcosystemPick a single entity in your organization — `Customer`, `Patient`, `Instrument`, whatever your domain calls the thing everything else hangs off — and count where it physically lives. In a serious estate the count is rarely below four. It is a label in Neo4j. It is a table in a warehouse. It is a subject in a schema registry. It is a model in a transformation project, a form in a capture system, a class in an application's JSON Schema.
AgentsAsk an agent a question about your graph — "which companies do our top account contacts work for?" — and watch what it has to decide before it can write a single line of Cypher.
Recipe: GraphRAG Grounding for Agents
QuickstartTake a small graph — three labels, a handful of properties, three relationship types. By the end of this article that graph has a governed model in CoreModels and a recorded baseline audit that tells you, in machine-readable form, exactly what is under governance and where the graph is structurally weak. Total effort: two Cypher statements and two HTTP calls.
Recipe: Blank Neo4j project · First Governed Import for Neo4j · Generate Neo4j Constraints from the Governed Model
APITen routes, two surfaces, one rule about who is allowed to write. That is the core HTTP contract for governing a Neo4j estate with CoreModels, and this article documents it exhaustively — payloads, roles, response shapes, and the failure modes you will actually hit.
MCPAn AI agent connected to CoreModels over MCP sees a small, deliberately shaped set of vendor-integration tools. Three of them cannot write anything at all; the fourth requires Admin membership on the project *and* a different endpoint. That shape is the point of this article: an agent can drive the entire Neo4j governance loop — discover, audit, report, generate the fix — while the only mutating step in the loop stays behind an explicit privilege boundary.
Recipe: GraphRAG Grounding for Agents
AutomationMost CI integrations start with an artifact the build already produces. Neo4j does not produce one — there is no compile step for a property graph, no manifest, no migration file that reviewers can read. So the first job in automating Neo4j governance is not writing the gate. It is deciding where `meta_schema.json` comes from in your pipeline.
Recipe: CI Drift Gate for Neo4j
Deep diveCoreModels has one estate model and every vendor parses into it: **datasets** (table-shaped things) with **fields** and normalized **checks**, plus **lineage** edges and **projections**. A dbt project, a warehouse schema, and a schema registry all land in the same shape.