Logo
NeoArc Studio

Graph Diagrams

Create interactive force-directed graph diagrams in three authoring modes: mindmap, conceptual, and graph-db. Graph-db mode adds typed properties with 12 abstract types, 6 key roles, per-property projections, composite constraints, and Cypher DDL export. Includes 18-rule validation, version snapshots, architecture transitions, group and tag filtering, and search. Graph-db mode also serves as the editing canvas for the project model (model.neoarc).

Graph diagrams visualise relationships between concepts using nodes and edges. Unlike traditional diagrams where you manually position every element, graph diagrams use force-directed physics to arrange nodes automatically. Related nodes cluster together naturally, revealing structure without manual layout work.

Dual Purpose: Standalone Diagrams and Project Model

Graph diagrams serve two purposes. As standalone files (.graph-diagram.json), they model graph databases, domain relationships, and dependencies. In graph-db mode, the same editor also serves as the editing canvas for the project model (model.neoarc), which is the single source of truth for your project's data architecture.

Three Authoring Modes

Graph diagrams support three authoring modes, each with different spacing, validation, and property behaviour. Choose the mode that matches your modelling intent.

Mindmap Mode
Loose spacing with no validation. Nodes arrange freely with generous separation. Use mindmap mode for brainstorming, ideation, and early-stage concept exploration where structure is not yet defined.
Conceptual Mode
Balanced spacing with basic checks. Nodes arrange at moderate density. Use conceptual mode for domain modelling, dependency mapping, and relationship diagrams where some structural consistency matters.
Graph-DB Mode
Tight structured spacing with full 18-rule validation. Nodes arrange at high density for data-model-style layouts. Use graph-db mode for formal data modelling with typed properties, key roles, per-property projections, and exportable schemas. Also serves as the editing canvas for the project model (model.neoarc).

Graph-DB Mode

Graph-db mode turns graph diagrams into functional data models with typed properties, constraints, and export capabilities.

FeatureDetails
Property Types12 abstract types: string, number, boolean, date, datetime, integer, float, enum, uuid, json, array, object
Key Roles6 roles: PK (primary key), FK (foreign key), NK (natural key), SK (surrogate key), composite-part, foreign
Composite ConstraintsDefine composite keys from multiple properties. Mark each constituent property with the composite-part role
Per-Property ProjectionsEach property supports projection flags: search (included in search indices), API (included in API responses), persistence (included in persistence layer), and custom projections
Groups (Subdomains)Organise nodes into named groups representing subdomains or bounded contexts. Groups enable filtering and scoped view generation
Edge PropertiesEdges in graph-db mode also support typed properties, modelling relationship attributes (e.g. weight, since-date, role)
Cypher DDL ExportExport the graph model as Cypher DDL statements for direct import into Neo4j. Node labels, properties, constraints, and relationships are all included

Validation

Graph-db mode enforces validation rules across core and search-specific categories to maintain model quality. Conceptual mode runs a subset of the core rules. Mindmap mode runs none.

Use Cases

Example: E-Commerce Data Model

Example: Microservices Dependencies

Example: Insurance Domain Model

Version History and Transitions

Graph diagrams support the same versioning and transition system as standard diagrams.

Lifecycle Tagging
Tag entities as active, planned, or deprecated. Track succession with replaced-by and evolved-from edges. Named versions with auto-generated explanations make it easy to track model evolution over time.
Architecture Transitions
Model multi-phase changes as a sequence of named states. Each transition captures additions, removals, and modifications that distinguish one phase from the next.

Search, Group, and Tag Filtering

Search (Ctrl+F)
Real-time filtering as you type. Matching nodes are highlighted visually and the viewport centres on results. Navigate between matches with forward/back controls.
Tag Filtering
Assign tags to nodes and filter the graph to show only nodes matching selected tags. Non-matching nodes fade out rather than disappear, preserving context.
Group Filtering
Nodes can be organised into groups (subdomains). Filter the graph by group to focus on a specific bounded context or subdomain. The entity picker also supports group-based filtering for targeted node selection.

Links Mode

Graph links are a variant of graph diagrams where each node links to a page or external URL. Nodes become navigation targets rather than data model entities.

Force-Directed Layout

Graph diagrams use physics simulation to position nodes. Each authoring mode applies different simulation parameters.

ParameterMindmapConceptualGraph-DB
Node SpacingLoose (generous separation)Balanced (moderate density)Tight (high density)
Repulsion StrengthHighMediumLow
Edge Spring LengthLongMediumShort
Collision RadiusLargeMediumCompact
Node Repulsion
Nodes repel each other to avoid overlap. Strength varies by authoring mode.
Edge Springs
Edges act like springs, pulling connected nodes together.
Natural Equilibrium
The layout finds a natural balance automatically.
Central Positioning
Heavily-connected nodes move to central positions.

Creating Graph Diagrams

Colour Coding

Use consistent colours to distinguish node types.

ColourSuggested Use
BlueEntry points, gateways, primary entities
GreenServices, processes, active components
PurpleDatabases, storage, persistent state
OrangeQueues, events, asynchronous components
RedExternal systems, third-party integrations
GreyReference data, configuration, static entities

Additional Features

Embedding in Documentation
Graph diagrams embed directly in Content Foundry pages. Diagrams are interactive: readers pan, zoom, and explore node properties.
Schema Lineage
Graph diagram nodes serve as lineage sources for schema fields. Link fields to graph nodes, creating traceable connections between data models.