kbss-cvut / termit

An advanced SKOS terminology manager linking concepts to their definitions in documents
GNU General Public License v3.0
8 stars 9 forks source link
java rdf rest skos ufo

TermIt

TermIt is a SKOS compliant terminology management tool based on Semantic Web technologies. It allows managing vocabularies consisting of thesauri and ontologies. It can also manage documents whose content can be used to seed the vocabularies (e.g., normative documents with definition of domain terminology). In addition, documents can also be analyzed to discover occurrences of the vocabulary terms.

Terminology

Asset

An asset is an object of one of the main domain types managed by the system - Resource, Term or Vocabulary.

Required Technologies

System Architecture

The system is split into two projects, TermIt is the backend, TermIt UI represents the frontend. Both projects are built separately and can run separately.

See the docs folder for additional information on implementation, setup, configuration and the architectural decisions record.

Technologies

This section briefly lists the main technologies and principles used (or planned to be used) in the application.

Ontology

The ontology on which TermIt is based can be found in the ontology folder. For proper inference functionality, termit-model.ttl, the popis-dat ontology model (http://onto.fel.cvut.cz/ontologies/slovnik/agendovy/popis-dat/model) and the SKOS vocabulary model (http://www.w3.org/TR/skos-reference/skos.rdf) need to be loaded into the repository used by TermIt (see doc/setup.md) for details.

Monitoring

We use JavaMelody for monitoring the application and its usage. The data are available on the /monitoring endpoint and are secured using basic authentication. Credentials are configured using the javamelody.init-parameters.authorized-users parameter in application.yml (see the JavaMelody Spring Boot Starter docs).

Documentation

TermIt REST API is available for each instance via Swagger UI. It is accessible at http://SERVER_URL/PATH/swagger-ui/index.html, where SERVER_URL is the URL of the server at which TermIt backend is running and PATH is the context path. A link to the API documentation is also available in the footer of the TermIt UI.

Build configuration and deployment is described in setup.md.

Docker

The Docker image of TermIt backend alone can be built by docker build -t termit-server .

Then, TermIt can be run and exposed at the port 8080 as sudo docker run -e REPOSITORY_URL=<GRAPHDB_REPOSITORY_URL> -p 8080:8080 termit-server

An optional argument is <GRAPHDB_REPOSITORY_URL> pointing to the RDF4J/GraphDB repository.

TermIt Docker images are also published to DockerHub.

Links

License

Licensed under GPL v3.0.