- Docker and Docker Compose installed
- Project cloned locally
Navigate to the project directory and run:
docker-compose up -dThis will start:
- PostgreSQL database on port
5432 - Apache Jena Fuseki triplestore on port
3030
Check that both containers are healthy:
docker-compose psYou should see both ismd-postgres-dev and fuseki containers running.
- Open pgAdmin4
- Add a new server with these settings:
- Host:
localhost - Port:
5432 - Database:
ismd_tool_db - Username:
ismd_user - Password:
ismd_password
- Host:
Connect directly via psql:
docker exec -it ismd-postgres-dev psql -U ismd_user -d ismd_tool_dbConnect using any PostgreSQL client (DBeaver, DataGrip, etc.) with:
- Host:
localhost:5432 - Database:
ismd_tool_db - Username:
ismd_user - Password:
ismd_password
- Open your browser and go to: http://localhost:3030
- Login with:
- Username:
admin - Password:
admin123
- Username:
- Dataset Name:
ismd-tool-dataset - SPARQL Query Endpoint: http://localhost:3030/ismd-tool-dataset/sparql
- SPARQL Update Endpoint: http://localhost:3030/ismd-tool-dataset/update
- Graph Store Protocol: http://localhost:3030/ismd-tool-dataset/data
Make sure your Spring Boot application is configured to connect to these services:
spring:
datasource:
url: jdbc:postgresql://localhost:5432/ismd_tool_db
username: ismd_user
password: ismd_passwordfuseki:
endpoint: http://localhost:3030/ismd-tool-datasetdocker-compose downdocker-compose down -v# View all logs
docker-compose logs
# View specific service logs
docker-compose logs postgres
docker-compose logs fusekidocker-compose restartConnection refused:
- Check if port 5432 is already in use:
lsof -i :5432 - Wait for the health check to pass (may take 30-60 seconds on first start)
Permission denied:
- Check Docker has permission to create volumes
- Try
docker-compose down -vanddocker-compose up -d
Fuseki not accessible:
- Check if port 3030 is available:
lsof -i :3030 - Verify the configuration file
fuseki-config.ttlexists - Check logs:
docker-compose logs fuseki
Dataset not found:
- The dataset
ismd-tool-datasetis automatically configured - Check the Fuseki admin interface at http://localhost:3030
Services won't start:
# Check Docker daemon is running
docker --version
# Check docker-compose file syntax
docker-compose config
# Check available resources
docker system df- PostgreSQL data is persisted in the
postgres_dataDocker volume - Fuseki/TDB2 data is persisted in the
./data/tdb2directory - Both will survive container restarts unless explicitly removed
- Start services:
docker-compose up -d - Run your Spring Boot application
- Upload ontologies through your application
- Query data via Fuseki web interface or SPARQL endpoints
- View metadata in PostgreSQL via pgAdmin