Graviola CRUD EDB Framework
Schema-getriebenes Framework für Linked Data Management mit formularbasierten Benutzeroberflächen
Über das Projekt
Das Graviola CRUD Framework ist eine umfassende Lösung für die Entwicklung von Anwendungen, die Linked Data über intuitive formularbasierte Oberflächen verwalten. Ursprünglich für Kulturerbe- Institutionen entwickelt, ist es heute ein generisches Datenmanagement-Framework für komplexe Anwendungen mit semantischen Webtechnologien.
Das Graviola Framework entstand als spezialisierte Lösung für die Verwaltung von Metadaten in Kulturerbe-Institutionen unter Verwendung semantischer Webtechnologien. Der Fokus lag auf Aufführungen, Ausstellungen und Sammlungen mit geo-räumlichen ereigniszentrierten Entitäten und Normdaten-Mappings. Inzwischen hat es sich zu einem ausgereiften, generischen Framework entwickelt, das für eine Vielzahl von Anwendungen geeignet ist. Das Framework folgt einem "Convention over Configuration"-Ansatz und bietet maximale Flexibilität für Webanwendungen mit komplexen Datenmodellen. Anwender können wahlweise nur die Form-Renderer mit eigener Storage-Schicht nutzen oder vollständige Frontend-Anwendungen mit SPARQL-Endpoints aufbauen. Backend-Entwickler haben die Wahl zwischen Triple Stores oder anderen Speicheroptionen wie Prisma mit JSON-Schema, wobei stets valides JSON-LD produziert wird.
Kernfunktionen
Schema-Driven Development
Define your data model once in JSON Schema and automatically generate forms, validation, queries, and more
Linked Data Management
Seamlessly work with RDF data using familiar JSON structures
Flexible Storage Options
Use in-memory stores for development or connect to any SPARQL 1.1 endpoint, Prisma-based relational databases, or custom REST backends
Composable UI Components
Build rich interfaces with specialized form renderers and components
Client-First Architecture
Run entirely in the browser or with optional server integration
Norm Data and Secondary Data Sources
Support for norm data and secondary data sources to enrich the data model and link to entities in public linked data repositories (Wikidata, GND, DBpedia, etc.)
Declarative Mapping
Support for declarative mapping to map data from secondary data sources to the current data model
Backend-Independent Form Generation
Automatic generation of forms independent of the backend system used
Technologien
frontend
semantic web
backend storage
build tools
Architektur
Modular monorepo structure with independently usable packages
core packages
- • core-types: TypeScript type definitions
- • core-utils: Common utility functions
- • sparql-schema: JSON Schema to SPARQL conversion
- • state-hooks: React state management hooks
- • json-schema-utils: JSON Schema utilities
form rendering
- • semantic-json-form: Main form component with JSON Schema support
- • basic-renderer: Core form field renderers
- • color-picker-renderer: Color picker components
- • layout-renderer: Advanced layout renderers
- • linked-data-renderer: Renderers for linked data
- • map-libre-gl-renderer: Map integration
- • markdown-renderer: Markdown editor and preview
components
- • basic-components: Fundamental UI components
- • advanced-components: Complex UI components
- • table-components: Data table components
- • virtualized-components: Performance-optimized list components
data management
- • data-mapping: Utilities for data transformation
- • entity-finder: Components for entity search and selection
- • sparql-db-impl: SPARQL database implementation
- • prisma-db-impl: Relational database implementation with Prisma ORM
- • simple-local-data-store: In-memory data store
- • rest-store-provider: REST interface for arbitrary backend implementations
- • local-oxigraph-store-provider: Client-side Oxigraph implementation in WebWorker
Kenntnisse & Fähigkeiten
Anwendungsfälle
- •Metadata management for cultural heritage institutions
- •Digital exhibition catalogs
- •Knowledge bases with complex data models
- •Geo-spatial event-centered applications
- •Authority data-supported data collection
- •SPARQL-based data management systems
- •Low-code platforms for semantic databases
- •Linked Open Data portals
Besonderheiten
Convention over Configuration
Minimal configuration effort through intelligent conventions
Multi-Backend Capability
Same code for different storage backends (SPARQL, SQL, REST)
Isomorphic Architecture
Same code runs in the browser and on the server
Schema-First Approach
JSON Schema as the single source of truth for the entire system
Semantic Web Standards
Full compatibility with W3C Semantic Web standards
Developer Experience
Comprehensive Storybook documentation, TypeScript type safety, Hot Module Replacement
Projektpartner
SLUB Dresden
Co-development and production deployment
2024-2025
Einsatz
- •Foundation for various knowledge base projects
- •Framework for semantic metadata management systems