https://github.com/sgort/ttl-editor
https://github.com/sgort/ttl-editor
Last synced: 24 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/sgort/ttl-editor
- Owner: sgort
- License: eupl-1.2
- Created: 2025-10-10T11:46:11.000Z (8 months ago)
- Default Branch: acc
- Last Pushed: 2026-05-15T11:38:21.000Z (about 1 month ago)
- Last Synced: 2026-05-15T13:31:28.427Z (about 1 month ago)
- Language: JavaScript
- Size: 2.17 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# CPSV Editor
[](https://semiceu.github.io/CPSV-AP/)
[](LICENSE)
๐ **Production:** [cpsv-editor.open-regels.nl](https://cpsv-editor.open-regels.nl)
๐งช **Acceptance:** [acc.cpsv-editor.open-regels.nl](https://acc.cpsv-editor.open-regels.nl)
---
## Documentation
As of February 21, 2026, all documentation for the CPSV Editor has moved to the **IOU Architecture documentation site**, which is maintained in the [iou-architectuur](https://git.open-regels.nl/showcases/iou-architectuur) repository and published at:
**[iou-architectuur.open-regels.nl/cpsv-editor](https://iou-architectuur.open-regels.nl/cpsv-editor)**
This covers user guides, developer docs, reference material, and architecture documentation. The `docs/` directory has been removed from this repository.
---
## Overview
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.
---
## 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](https://iou-architectuur.open-regels.nl/cpsv-editor/reference/semantic-mediation-architecture/) for the full architectural context.
---
## Getting started
```bash
npm install
npm start # development server at http://localhost:3000
npm run build # production build โ build/
```
---
## License
EUPL-1.2 โ see [LICENSE](LICENSE).