This repository contains web services for SGoV workspace tools:
- user management
- user authentication
- workspace validation
There is a web service for validating Semantic Government Vocabulary (SGoV). It includes checking consistency and compliance of glossaries and models according to predefined rules. These rules check:
- glossaries - e.g. "each glossary concept at least one skos:prefLabel"
- models - e.g. OntoUML relationships like "each Role concept must (transitively) inherit from a Kind concept"
- interplay between glossaries and models - e.g. "each glossary concept should be used in the model"
The project consists of the following modules:
- validator - the actual validation logic. It consists of SHACL rules and a simple wrapper to evaluate them over a Jena model.
- server - web service for workspace validation. It connects to a remote SPARQL endpoint and validates vocabulary data in a workspaces by loading them first in memory and running the validator.
The best way to propose validation rule changes is to:
- create a new issue using template 'Validation Change Request' template. Describe (i) why a you request to change validation (to add a new rule/change an existing one), (ii) describe use-case/example. The issue is given a number
- create a new branch of the form '-'
- implement the changes and create a pull request. If the pull request passes all automatic checks, ask one of the maintainers to approve.
- Once approved, merge PR into master
You can specify host/port of the validated RDF4J repository in server/src/main/resources/application.yml
gradle bootRun
Create the JAR using
gradle bootJar
Now you can run the server like
java -jar server/build/libs/sgov-server.jar
To manage source code it is recommended to install plugins:
Static code analysis rules are defined in file ./config/checkstyle/checkstyle.xml
. In order to set up this checkstyle
in Intellij Idea IDE following steps are recommended:
- Import the file into project checkstyle scheme using
Settings/Editor/Code Style/Java/Import Scheme/Checkstyle configuration
. - Install checkstyle plugin CheckStyle-IDEA
- Configure the plugin by adding
checkstyle.xml
intoSettings/Other Settings/Checkstyle/Configuration file