HERITRACE
HERITRACE is a web-based semantic data editor. It lets users enrich and edit RDF metadata through a web interface, without requiring knowledge of the Semantic Web. It handles provenance and change tracking, validates data against SHACL schemas, and connects to existing triplestores with no data transformation needed.
Prerequisites
Section titled “Prerequisites”- Docker and Docker Compose installed
- Modern web browser
This method uses official Docker images published to Docker Hub and GitHub Container Registry. All configuration is done through environment variables in the docker-compose.yml file.
1. Download the compose file
Section titled “1. Download the compose file”Create a new directory for HERITRACE and download the configuration:
mkdir heritrace && cd heritrace && \curl -o docker-compose.yml https://raw.githubusercontent.com/opencitations/heritrace/main/docker-compose.yml2. Launch
Section titled “2. Launch”docker compose upThe compose file includes two Virtuoso databases and the web application. Once the databases pass their health checks, the application starts automatically.
HERITRACE runs in demo mode by default (FLASK_ENV=demo) for immediate testing without authentication setup.
To use your own databases instead, edit docker-compose.yml: remove the dataset-db, provenance-db, and networks blocks, remove depends_on and networks from the web service, then set DATASET_DB_URL and PROVENANCE_DB_URL to your database endpoints.
Access the application
Section titled “Access the application”Open your browser and navigate to:
http://127.0.0.1:5000Configuration
Section titled “Configuration”HERITRACE requires two configuration files:
- SHACL schema (
.ttl): Defines the data model, classes, and properties. See SHACL configuration. - Display rules (
.yaml): Controls how entities appear in the interface. See Display rules configuration. - Custom components (
default_components/): URI generator and counter handler implementations. See Application settings.
The example_configurations/ directory contains examples to use as a starting point, including one based on the OpenCitations Data Model (OCDM).
What’s next?
Section titled “What’s next?”Now that HERITRACE is running, you can:
- Explore the interface: Navigate through the metadata management features with the preconfigured data model
- Production setup: Configure ORCID authentication and security settings for production use
- Configure schemas: Customize the SHACL schema for your data model
- Set display rules: Modify the YAML display rules for your interface
Stopping the application
Section titled “Stopping the application”Press Ctrl+C in the terminal running docker compose, or run:
docker compose downTroubleshooting
Section titled “Troubleshooting”Port already in use
Section titled “Port already in use”If you get a port conflict on 5000, check what is using it:
ss -tulpn | grep ':5000\s'netstat -an | grep ':5000\s'Get-NetTCPConnection | Where-Object {$_.LocalPort -eq 5000}Need help?
Section titled “Need help?”- Review configuration options for advanced setup
- Use
docker compose logsto check application logs for specific errors - Visit the GitHub repository for issues and support