You describe your entities the way you already think about them — one row per entity. Neo Graphs does the rest. Here's the whole format in five minutes, with the sample sheet as your guide.
The Excel workbook has two tabs. The first (Instructions) is a complete, friendly guide to filling it in. The second (Entities) is where you list your model — and it doubles as the ready-to-run sample. You can also skip Excel entirely and POST a JSON model to the API.
| Column | What goes in it |
|---|---|
| Entity | A singular, PascalCase name — e.g. Employee, EmployeeAsset. Prefix with enum_ to define an enum (e.g. enum_Rating). |
| Fields | Comma-separated type Name pairs, plus relationships (see below). For enums, just list the values. |
| Feature | The module/menu this entity belongs to (e.g. HR). Used to group the navigation and the architecture diagrams. |
| You write | Meaning |
|---|---|
string Name | A scalar property. Use any .NET type: string, int, long, bool, decimal, double, DateTime, Guid. |
int? Rating | Nullable — add ? to any value type. |
byte[] Photo | Binary (image/document). Handled specially and excluded from the graph node. |
Company Company | A foreign key — a link to another entity. Becomes a HAS_COMPANY relationship in Neo4j. |
Employee Employee_Manager | A named link to the same or another entity (here, a self-reference). The suffix becomes the relationship name: HAS_MANAGER. |
… |Team,Employee | A collection: after a single |, list the child entities that reference this one. Generates incoming traversal queries. |
Add a row with the entity name prefixed by enum_ and put the values in the Fields column:
Entity Fields enum_Rating Poor,Fair,Good,Excellent
Entity Fields Feature
Employee string Code, string Name,
Department Department, Team Team,
Employee Employee_Manager, EmployeeType EmployeeType,
int? Rating, decimal? Salary, DateTime JoinedOn, byte[] Photo HR
That single row produces a node model, an async repository, REST + MVC controllers, a sync service, seeder wiring, schema constraints, a TypeScript client, diagram nodes, and native-import CSV headers — all consistent with each other.
Three entry points, same engine, same run report:
The fastest look — run the sample and explore the run report in your browser.
Upload your sheet or paste a model and try every endpoint interactively.
Script it. Submit a job and poll, or generate synchronously in a single request.
curl -F "projectName=MyApp" \
-F "file=@Sample_InputSheet.xlsx" \
https://api.neographs.io/api/generate/graph/from-excel \
-o MyApp-graphdb.zip
curl -X POST https://api.neographs.io/api/generate/graph \
-H "Content-Type: application/json" \
-d '{
"projectName": "MyApp",
"entities": [
{ "entity": "Customer", "fields": "string Name, string Email", "feature": "Sales" },
{ "entity": "Order", "fields": "string Ref, Customer Customer, decimal Total", "feature": "Sales" }
]
}' -o MyApp-graphdb.zip
# 1. Submit — validates synchronously, then queues generation
POST /api/jobs/graph → 202 { "id": "abc123", "status": "Queued" }
# 2. Poll until complete (typically <5 seconds for 50 entities)
GET /api/jobs/{id} → { "status": "Succeeded", "downloadUrl": "/api/jobs/abc123/download" }
# 3. Download the ZIP
GET /api/jobs/{id}/download → MyApp-graphdb.zip (68+ files)
# 4. View the HTML run report
GET /api/jobs/{id}/report → self-contained HTML report
Recent additions to the generation pipeline.
Neo Graphs now auto-generates model-aware Cypher queries alongside the graph layer. Two files are added to your output:
GraphDB/Queries/sample-queries.cypher — 250+ lines of ready-to-run Cypher organized into 6 sections: visualization, per-entity CRUD, relationship traversals, hierarchy walks (for self-referencing FKs), impact analysis (multi-hop), and data quality checks (orphans, degree, duplicates).GraphDB/Queries/GraphQueryRepository.cs — typed C# repository with async methods: Search{Entity}Async, Get{Child}By{Parent}Async, Get{Entity}AncestorsAsync/DescendantsAsync (for hierarchies), GetImpactAsync, GetOrphansAsync, plus node/relationship count queries.Available on Starter plans and above. See plans →
The DemoDataSeeder generates 10 realistic rows per entity with typed values (emails get email formats, dates get contextual dates, names get human names, etc.) and creates all relationships respecting FK topology. Use it to:
Available on Pro plans and above.
Connect directly to a running Neo4j instance and deploy your generated graph layer live — schema (constraints + indexes), node data (via UNWIND batches of 500), and relationships — all through a circuit breaker that handles connection failures gracefully:
SqlId as the sync keyAvailable on Pro plans and above.
Signed-in users can now generate directly from the browser at /app.html:
.xlsx fileSign in with Google to access generation endpoints. Your dashboard shows run history, usage meters, and current plan. Free plan: 3 lifetime runs, max 50 entities/run. View all plans →
Run the sample right now, then point Neo Graphs at your own entity model. No signup required to get started.