Skip to content

Linked Data Explorer

A React-based SPARQL visualization and query tool for exploring Dutch Government Data (Regels Overheid)

๐ŸŒ Live application: linkeddata.open-regels.nl
๐Ÿงช Acceptance environment: acc.linkeddate.open-regels.nl

Deployed on Azure Static Web Apps TypeScript React Vite Node.js Express License


What is the Linked Data Explorer?

The Linked Data Explorer is a web application for discovering, composing, and executing DMN decision model chains from Dutch government knowledge graphs. It is built as part of the Regels Overheid Nederland (RONL) initiative and connects directly to TriplyDB knowledge graphs and the Operaton DMN execution engine.

Screenshot: Linked Data Explorer main UI showing the Chain Builder with a loaded DMN chain

Linked Data Explorer main UI showing the Chain Builder with a loaded DMN chain

What it does

The Linked Data Explorer lets you work with government decision models end-to-end โ€” from discovery to execution:

  • Discover available DMN decision models published to TriplyDB by government agencies
  • Build chains by drag-and-drop, connecting DMN outputs to DMN inputs across agency boundaries
  • Execute chains sequentially or as unified DRDs, with automatic variable orchestration
  • Query any SPARQL endpoint with syntax highlighting and interactive graph visualisation
  • Model processes with a BPMN 2.0 editor that links directly to DMN decision models
  • Track governance status: see which DMNs have been validated by competent authorities
  • Discover vendor implementations of reference decision models

Ecosystem position

The Linked Data Explorer is one of three components in the RONL ecosystem. Understanding how they relate helps clarify why certain things work the way they do.

graph TB
    CPSV[CPSV Editor<br/>cpsv-editor.open-regels.nl]
    LDE[Linked Data Explorer<br/>linkeddata.open-regels.nl]
    BACKEND[Shared Backend<br/>backend.linkeddata.open-regels.nl]
    TRIPLY[TriplyDB<br/>Knowledge Graph]
    OPERATON[Operaton<br/>DMN Engine]

    CPSV -->|publishes TTL + DMN| TRIPLY
    LDE -->|discovers DMNs via SPARQL| TRIPLY
    LDE -->|executes decisions via REST| OPERATON
    LDE -->|API calls| BACKEND
    BACKEND -->|SPARQL| TRIPLY
    BACKEND -->|REST| OPERATON

The CPSV Editor produces the data โ€” government service definitions and DMN decision models published as Linked Data to TriplyDB. The Linked Data Explorer consumes that data โ€” discovering, chaining, and executing those decisions. The Shared Backend handles orchestration logic that both applications depend on.

See also: CPSV Editor documentation.


Environments and deployment

Frontend Backend
Production linkeddata.open-regels.nl backend.linkeddata.open-regels.nl
Acceptance acc.linkeddata.open-regels.nl acc.backend.linkeddata.open-regels.nl
Branch main / acc main / acc
Platform Azure Static Web Apps Azure App Service (Linux, Node.js 22)

Technology stack

Layer Technology Version
Frontend framework React 19.2.3
Language TypeScript 5.8.x
Build tool Vite 6.2.x
Graph visualisation D3.js 7.9.x
BPMN editor bpmn-js 18.12.0
Form editor @bpmn-io/form-js 1.20.x
Drag-and-drop dnd-kit 6.x / 10.x
Backend framework Node.js + Express 22 / 4.18.x
DMN engine Operaton โ€”
Knowledge graph TriplyDB โ€”
Package structure npm workspaces monorepo

Repository structure

linked-data-explorer/
โ”œโ”€โ”€ packages/
โ”‚   โ”œโ”€โ”€ frontend/                   # React TypeScript SPA
โ”‚   โ”‚   โ”œโ”€โ”€ src/
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ components/
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ ChainBuilder/   # DMN chain builder (main feature)
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ BpmnModeler/    # BPMN 2.0 process editor
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ FormEditor/     # Camunda Form editor (@bpmn-io/form-js)
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ GraphView.tsx   # D3.js SPARQL graph visualisation
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ ResultsTable.tsx
โ”‚   โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ Changelog.tsx
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ services/
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ sparqlService.ts
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ templateService.ts
โ”‚   โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ formService.ts  # localStorage CRUD for Camunda Form schemas
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ utils/
โ”‚   โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ exportService.ts
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ types/
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ changelog.json
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ tutorial.json
โ”‚   โ”‚   โ”œโ”€โ”€ .env.development
โ”‚   โ”‚   โ”œโ”€โ”€ .env.acceptance
โ”‚   โ”‚   โ””โ”€โ”€ .env.production
โ”‚   โ”‚
โ”‚   โ””โ”€โ”€ backend/                    # Node.js/Express orchestration API
โ”‚       โ”œโ”€โ”€ src/
โ”‚       โ”‚   โ”œโ”€โ”€ routes/             # /v1/dmns, /v1/chains, /v1/health
โ”‚       โ”‚   โ”œโ”€โ”€ services/           # SPARQL, Operaton, orchestration
โ”‚       โ”‚   โ”œโ”€โ”€ middleware/
โ”‚       โ”‚   โ””โ”€โ”€ utils/
โ”‚       โ””โ”€โ”€ .env.example
โ”‚
โ”œโ”€โ”€ examples/ttl/                   # Test DMN data (6 models)
โ”œโ”€โ”€ .github/workflows/              # CI/CD pipelines (acc + production)
โ””โ”€โ”€ package.json                    # Workspace root

Licence

EUPL-1.2