ℹ Note: This repository is a fork of the original SHACTOR demo repository. It was created and extended by Dominic Leidenfrost as part of a Bachelor's thesis at TU Wien.
Extensions include:
- ShEx (Shape Expressions) functionality - Added support for ShEx schema generation alongside SHACL
- Docker image - Pre-built Docker Hub image for easy deployment
- Environment variable configuration - Flexible configuration via environment variables
- Various quality-of-life improvements - Enhanced usability and documentation
Read the paper: https://dl.acm.org/doi/10.1145/3555041.3589723 or visit our website for more details: https://relweb.cs.aau.dk/qse/shactor/
Please cite us if you use the code in your project or publication
@inproceedings{DBLP:conf/sigmod/RabbaniLH23,
author = {Kashif Rabbani and
Matteo Lissandrini and
Katja Hose},
title = {{SHACTOR:} Improving the Quality of Large-Scale Knowledge Graphs with
Validating Shapes},
booktitle = {{SIGMOD} Conference Companion},
pages = {151--154},
publisher = {{ACM}},
year = {2023}
}This readme contains all the necessary configuration to run the demo:
- DOCKER.md - Complete Docker setup guide (recommended for quick start)
- SETUP.md - Manual setup instructions and detailed configuration
The easiest way to run SHACTOR is using our pre-built Docker image:
docker pull dleidenfrost/shactor-app:latest
docker run -d \
--name shactor \
-p 8080:8080 \
--add-host=host.docker.internal:host-gateway \
-e SPARQL_ENDPOINT_URL=http://host.docker.internal:7200/ \
-e SPARQL_REPOSITORY=LUBM-ScaleFactor-1 \
dleidenfrost/shactor-app:latestThen open http://localhost:8080 in your browser.
For detailed Docker setup instructions, see DOCKER.md.
For detailed manual setup instructions, see SETUP.md.
The project is a standard Maven project. To run it from the command line,
type mvnw (Windows), or ./mvnw (Mac & Linux), then open
http://localhost:8080 in your browser.
You can also import the project to your IDE of choice as you would with any Maven project. Read more on how to import Vaadin projects to different IDEs (Eclipse, IntelliJ IDEA, NetBeans, and VS Code).
To create a production build, call mvnw clean package -Pproduction (Windows),
or ./mvnw clean package -Pproduction (Mac & Linux).
This will build a JAR file with all the dependencies and front-end resources,
ready to be deployed. The file can be found in the target folder after the build completes.
Once the JAR file is built, you can run it using
java -jar target/demoshactor-1.0-SNAPSHOT.jar
The project includes comprehensive unit tests to ensure code quality and functionality. You can run tests using Maven:
# Windows
mvnw test
# Mac & Linux
./mvnw test# Run a specific test class
mvnw test -Dtest=DynamicUITerminologyTest
# Run tests in a specific package
mvnw test -Dtest="shactor.utils.formatters.*"mvnw clean test jacoco:reportMainLayout.javainsrc/main/javacontains the navigation setup (i.e., the side/top bar and the main menu). This setup uses App Layout.viewspackage insrc/main/javacontains the server-side Java views of your application.viewsfolder infrontend/contains the client-side JavaScript views of your application.themesfolder infrontend/contains the custom CSS styles.src/test/javacontains unit tests organized by package structure.
- Read the documentation at vaadin.com/docs.
- Follow the tutorials at vaadin.com/tutorials.
- Watch training videos and get certified at vaadin.com/learn/training.
- Create new projects at start.vaadin.com.
- Search UI components and their usage examples at vaadin.com/components.
- View use case applications that demonstrate Vaadin capabilities at vaadin.com/examples-and-demos.
- Build any UI without custom CSS by discovering Vaadin's set of CSS utility classes.
- Find a collection of solutions to common use cases at cookbook.vaadin.com.
- Find add-ons at vaadin.com/directory.
- Ask questions on Stack Overflow or join our Discord channel.
- Report issues, create pull requests in GitHub.
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 4.0 International License.
