{"id":27953679,"url":"https://github.com/kbss-cvut/termit","last_synced_at":"2026-02-18T14:01:20.918Z","repository":{"id":37855195,"uuid":"282816203","full_name":"kbss-cvut/termit","owner":"kbss-cvut","description":"An advanced SKOS terminology manager linking concepts to their definitions in documents ","archived":false,"fork":false,"pushed_at":"2026-02-09T12:03:22.000Z","size":19749,"stargazers_count":11,"open_issues_count":6,"forks_count":12,"subscribers_count":5,"default_branch":"master","last_synced_at":"2026-02-09T15:35:42.304Z","etag":null,"topics":["java","rdf","rest","skos","ufo"],"latest_commit_sha":null,"homepage":"http://kbss-cvut.github.io/termit-web","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kbss-cvut.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"license.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-07-27T06:46:26.000Z","updated_at":"2026-02-02T07:48:37.000Z","dependencies_parsed_at":"2025-12-15T14:07:46.765Z","dependency_job_id":null,"html_url":"https://github.com/kbss-cvut/termit","commit_stats":null,"previous_names":[],"tags_count":54,"template":false,"template_full_name":null,"purl":"pkg:github/kbss-cvut/termit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kbss-cvut%2Ftermit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kbss-cvut%2Ftermit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kbss-cvut%2Ftermit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kbss-cvut%2Ftermit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kbss-cvut","download_url":"https://codeload.github.com/kbss-cvut/termit/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kbss-cvut%2Ftermit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29581478,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-18T13:56:48.962Z","status":"ssl_error","status_checked_at":"2026-02-18T13:54:34.145Z","response_time":162,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java","rdf","rest","skos","ufo"],"created_at":"2025-05-07T17:14:25.430Z","updated_at":"2026-02-18T14:01:20.909Z","avatar_url":"https://github.com/kbss-cvut.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TermIt\n\nTermIt is a [SKOS](https://www.w3.org/2004/02/skos/) compliant terminology management tool based on Semantic Web\ntechnologies. It allows managing vocabularies consisting of thesauri and ontologies. It can also manage documents whose\ncontent can be used to seed the vocabularies (e.g., normative documents with definition of domain terminology). In\naddition, documents can also be analyzed to discover occurrences of the vocabulary terms.\n\n## Terminology\n\n#### Asset\n\nAn **asset** is an object of one of the main domain types managed by the system - _Resource_, _Term_ or _Vocabulary_.\n\n## Required Technologies\n\n- JDK 17 or newer\n- Apache Maven 3.6.x or newer\n\n## System Architecture\n\nThe system is split into two projects, [__TermIt__](https://github.com/kbss-cvut/termit) is the backend, [__TermIt\nUI__](https://github.com/kbss-cvut/termit-ui) represents the frontend. Both projects are built separately and can run\nseparately.\n\nSee the [docs folder](doc/index.md) for additional information on implementation, setup, configuration and the\narchitectural decisions record.\n\n## Technologies\n\nThis section briefly lists the main technologies and principles used (or planned to be used) in the application.\n\n- Spring Boot 3, Spring Framework 6, Spring Security, Spring Data (paging, filtering)\n- Jackson Databind\n- [JB4JSON-LD](https://github.com/kbss-cvut/jb4jsonld-jackson) - Java - JSON-LD (de)serialization library\n- [JOPA](https://github.com/kbss-cvut/jopa) - persistence library for the Semantic Web\n- JUnit 5, Mockito 4, Hamcrest 2\n- Jakarta Servlet API 4\n- JSON Web Tokens\n- SLF4J + Logback\n- CORS (for separate frontend)\n- Java bean validation (JSR 380)\n\n### Software Bill of Materials (SBOM)\n\nSBOM for TermIt can be accessed for each instance\nvia [Spring Boot Actuator](https://docs.spring.io/spring-boot/reference/actuator/index.html#actuator) at\n`http://SERVER_URL/PATH/actuator/sbom/application`. It uses the [CycloneDX](https://cyclonedx.org/) format.\n\n## Ontologies\n\nThe ontology on which TermIt is based can be found in the `ontology` folder. It extends the\n_popis-dat_ ontology (http://onto.fel.cvut.cz/ontologies/slovnik/agendovy/popis-dat). TermIt vocabularies and terms\nuse the SKOS vocabulary (http://www.w3.org/TR/skos-reference/skos.rdf).\n\nRelevant ontologies need to be loaded into the repository for proper inference functionality.\nSee [setup.md](doc/setup.md)\nfor more details.\n\n## Monitoring\n\nSpring Boot Actuator is used for monitoring the application and its usage. By default, Prometheus metrics are\navailable on the `/actuator/prometheus`. All actuator endpoints except `/health` and `/sbom` are secured using _basic_\nauthentication. Credentials are configured using the `termit.actuator.username` (default `actuator`)\nand `termit.actuator.password` (randomly generated on startup if not configured) parameters in `application.yml` or as\nenvironment variables (see\nthe [Spring Boot Actuator docs](https://docs.spring.io/spring-boot/reference/actuator/endpoints.html)).\n\n## Documentation\n\nTermIt REST API is available for each instance via [Swagger UI](https://swagger.io/tools/swagger-ui/). It is accessible\nat `http://SERVER_URL/PATH/swagger-ui/index.html`, where `SERVER_URL` is the URL of the server at which TermIt backend\nis running and `PATH` is the context path. A link to the API documentation is also available in the footer of the TermIt\nUI.\n\nBuild configuration and deployment is described in [setup.md](doc/setup.md).\n\n## Docker\n\nThe Docker image of TermIt backend alone can be built by\n`docker build -t termit-server .`\n\nThen, TermIt can be run and exposed at the port 8080 as\n`sudo docker run -e REPOSITORY_URL=\u003cGRAPHDB_REPOSITORY_URL\u003e -p 8080:8080 termit-server`\n\nAn optional argument is `\u003cGRAPHDB_REPOSITORY_URL\u003e` pointing to the RDF4J/GraphDB repository.\n\nTermIt Docker images are also published to [DockerHub](https://hub.docker.com/r/kbsscvut/termit).\n\n## Links\n\n- [TermIt UI](https://github.com/kbss-cvut/termit-ui) - repository with TermIt frontend source code\n- [TermIt Docker](https://github.com/kbss-cvut/termit-docker) - repository with Docker configuration of the whole TermIt\n  system (including the text analysis service and data repository)\n- [TermIt Web](http://kbss-cvut.github.io/termit-web) - contains some additional information and tutorials\n- [TermIt: A Practical Semantic Vocabulary Manager](https://www.scitepress.org/Papers/2020/95637/95637.pdf) - a\n  conference paper we wrote about TermIt\n    - Cite as _Ledvinka M., Křemen P., Saeeda L. and Blaško M. (2020). TermIt: A Practical Semantic Vocabulary\n      Manager.In Proceedings of the 22nd International Conference on Enterprise Information Systems - Volume 1: ICEIS,\n      ISBN 978-989-758-423-7, pages 759-766. DOI: 10.5220/0009563707590766_\n- [TermIt: Managing Normative Thesauri](https://content.iospress.com/articles/semantic-web/sw243547) - a journal paper\n  we wrote about TermIt\n    - Cite as _Křemen P, Med M., Blaško M., Saeeda L., Ledvinka M. and Buzek A. (2024). TermIt: Managing Normative\n      Thesauri’. Semantic Web. DOI: 10.3233/SW-243547_\n- [TermIt: Managing Domain Terminologies](https://ceur-ws.org/Vol-4064/SEMDEV-paper1.pdf) - a short demo paper we\n  wrote about TermIt\n    - Cite as _Ledvinka M., Blaško M., Med M. (2025). TermIt: Managing Domain Terminologies. SEMANTiCS (Posters, Demos,\n      Workshops \u0026 Tutorials)_\n\n## Getting TermIt\n\nDocker images of TermIt backend are available at [DockerHub](https://hub.docker.com/r/kbsscvut/termit).\n\n## License\n\nLicensed under GPL v3.0.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkbss-cvut%2Ftermit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkbss-cvut%2Ftermit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkbss-cvut%2Ftermit/lists"}