Dashboards and Neo4j exploration
Export a model to Neo4j, run Cypher and build organization dashboards.
Dashboard panels query one of two native datasources: the Neo4j read model
(ArchiMate content, exported from PostgreSQL) or ArchiSpark's own PostgreSQL
application database directly — both ArchiMate content (elements,
relationships, views, element_properties) and organization-scoped
business tables such as fournisseurs. Every built-in system dashboard
queries PostgreSQL directly; Neo4j remains available for /explore and for
any workspace-owned dashboard you create. PostgreSQL remains authoritative
for ArchiMate content: export the workspace again whenever it changes if you
build a Neo4j-backed panel.
Prepare the graph
Configure NEO4J_URI, NEO4J_USER, and NEO4J_PASSWORD, then call
POST /api/export/neo4j for the active workspace. For batch imports, use
pnpm import:workspace -- <workspace-uuid> or pnpm import:workspaces.
Every exported node and relationship carries organizationId. Re-exporting a
workspace replaces only that workspace's graph.
Explore (/explore)
The explorer accepts read-only Cypher and JSON parameters. It provides presets, keeps the latest 20 executions in browser storage, renders compatible results as a graph or table, and exports rows to JSON or CSV.
$organizationId is injected by the server. Rows containing a node or
relationship from another organization are removed from the result.
MATCH (element:Element {organizationId: $organizationId})
RETURN element.type AS type, count(element) AS count
ORDER BY count DESCDashboards (/dashboards)
- All organization members can list dashboards and execute panels; a panel
returns
graph,table, ormetrics. - Owners and admins can create and edit dashboards — saving an edit creates an immutable revision, deletion is soft.
- Every workspace sees the same fixed set of system dashboards (marked "System" in the admin list), shared globally rather than copied per workspace. They can be neither edited nor deleted.
- Graph panels provide controls for filtering element and relationship types, choosing the edge style and layout direction, and entering fullscreen (Escape or the minimize control to exit).
- The form uses structured metadata fields and validated JSON for parameters, panels, layouts, and tab groups; identifiers use lowercase kebab-case.
- Every panel query must target a native datasource (
architecture-neo4jCypher, orpostgres-app-dbread-only SQL), reference$organizationId, and select a compatible visualization:core/graph,core/table, orcore/metric. Both datasources supportgraphpanels — a SQLgraphpanel must return anodeIdscolumn (elements.uuidvalues); the server resolves matching node/edge metadata fromelements/relationships. - The dashboard and admin lists show each dashboard's datasource type(s) in
parentheses next to its title — e.g.
(postgres),(neo4j, postgres).
Current limits
- Neo4j is not updated automatically after model edits.
- Dashboard content uses a JSON editor, not a visual panel builder.
- Declared client-side
transformationsare accepted but not yet applied. - Explorer queries are read-only and results may be truncated.
See Architecture for persistence and tenant-isolation details.