Skip to content

CPSV Editor

Generate CPSV-AP 3.2.0 compliant RDF/Turtle files for Dutch government services

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

Deployed on Azure Static Web Apps TypeScript React Create React App Tailwind CSS Node.js License


What is the CPSV Editor?

The CPSV Editor is a React-based web application that simplifies the creation and management of RDF/Turtle files for government services in the Netherlands. It provides a structured form interface for building service definitions that comply with EU CPSV-AP 3.2.0 and Dutch RONL/CPRMV standards, and publishes the result as machine-readable Linked Data.

No RDF knowledge is required to use the editor. Users fill in familiar form fields; the editor generates the correct Turtle syntax, validates it, and can publish it directly to a TriplyDB knowledge graph.

Screenshot: CPSV Editor main UI showing the split-screen layout with the Service tab active on the left and the live TTL preview panel on the right

CPSV Editor main UI showing the split-screen layout with editor and preview panel

Architecture

Application layers

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                       PRESENTATION LAYER                       โ”‚
โ”‚  App.js  โ€ข  Tab components  โ€ข  PreviewPanel                    โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                             โ”‚
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                      BUSINESS LOGIC LAYER                      โ”‚
โ”‚  constants  โ€ข  ttlGenerator  โ€ข  validators  โ€ข  parseTTL        โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                             โ”‚
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                         DATA LAYER                             โ”‚
โ”‚  useEditorState  โ€ข  useArrayHandlers  โ€ข  vocabularies_config   โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Component structure

App.js
  โ”œโ”€โ”€ ServiceTab         โ† Public service metadata
  โ”œโ”€โ”€ OrganizationTab    โ† Competent authority
  โ”œโ”€โ”€ LegalTab           โ† Legal resource (BWB)
  โ”œโ”€โ”€ RulesTab           โ† Temporal rules  [RPP: Rules]
  โ”œโ”€โ”€ ParametersTab      โ† Configuration values  [RPP: Parameters]
  โ”œโ”€โ”€ CPRMVTab           โ† Normative rules  [RPP: Policy]
  โ”œโ”€โ”€ DMNTab             โ† Decision model deployment & testing
  โ”œโ”€โ”€ VendorTab          โ† Vendor implementation metadata
  โ”œโ”€โ”€ IKnowMappingTab    โ† iKnow XML import
  โ”œโ”€โ”€ ChangelogTab       โ† Version history
  โ””โ”€โ”€ PreviewPanel       โ† Live TTL preview (side panel)

Data flow

Import:

TTL file uploaded โ†’ parseTTL() โ†’ extract entities โ†’ populate all tabs

Export:

Tab state โ†’ generateTTL() โ†’ combine sections + namespaces โ†’ download .ttl

Deployment pipeline

Git push โ†’ GitHub Actions โ†’ npm run build โ†’ Azure Static Web Apps โ†’ cpsv-editor.open-regels.nl

Standards

The editor generates Turtle files compliant with the following vocabularies:

Vocabulary Version Purpose
CPSV-AP 3.2.0 EU Core Public Service Vocabulary
CPRMV 0.3.0 Core Public Rule Management Vocabulary (Dutch)
RONL โ€” Regels Overheid Nederland governance vocabulary
ELI โ€” European Legislation Identifier
Dublin Core โ€” Metadata terms (title, description, identifier)
SKOS โ€” Simple Knowledge Organization System
Schema.org โ€” Value and unit definitions
FOAF โ€” Organization homepages
ORG โ€” Organization ontology

Positioning

The CPSV Editor is the authoring tool in a broader semantic mediation architecture. Service definitions created here are published to a TriplyDB knowledge graph where they can be queried by the Linked Data Explorer and consumed by downstream systems. The editor implements the semantic mediation principle of separating citizen-facing vocabulary from internal business domain models โ€” decisions expressed as DMN files are linked to their public service descriptions through structured RDF properties.

See Semantic Mediation Reference Architecture for the full architectural context.