Thesaurus and controlled vocabulary browser using SKOS and SPARQL
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
ansible Remove unnecessary, duplicate configuration file Aug 29, 2018
controller Mappings endpoint: Make querying external endpoints optional Jan 30, 2019
model Add a cache to avoid computing language order many times during a req… Feb 15, 2019
plugins adding a simple readme with instructions for enabling plugins, relate… Mar 9, 2016
resource Added text to the feedback form in fi, en & sv Jan 29, 2019
tests Add REST endpoint for mappings Jan 30, 2019
tools fixed extractor script to take into account new lang_name filter in t… Jan 22, 2015
view Merge pull request #847 from NatLibFi/issue836-avoid-duplicate-getpro… Feb 15, 2019
.codeclimate.yml removed references to old configuration files Sep 7, 2018
.gitignore reorder .gitignore Aug 29, 2018
.htaccess adding a directive that prevents access to the ttl files, fixes #555 Oct 5, 2016
.jshintrc fixed the hierarchy sort incorrectly sorting notations with numeric c… Sep 24, 2015
.travis.yml Try to break unit tests by setting LANGUAGE=fr. Part of #816 Nov 20, 2018 Update Sep 13, 2016
Dockerfile Fix Dockerfile by automatically answering yes to apt-get install locales Jun 4, 2018 Create Jun 1, 2016
LICENSE Updating the license years and only showing the license information i… Jun 20, 2016 Update Jan 17, 2017
Vagrantfile Turn off verbose/debug mode for Ansible provisioner Aug 29, 2018
composer.json loading the remaining dependencies that were not managed by composer … Jan 12, 2018
config.ttl.dist Specify skosmos:defaultEndpoint as a resource, not literal. Fixes #786 Aug 28, 2018
docker-compose.yml removed references to old configuration files Sep 7, 2018
entity.php code style cleanup: removing trailing whitespaces Jan 23, 2018
favicon.ico adding a placeholder favicon to please the sensiolabs analyzer Dec 4, 2015
index.php Updating the license years and only showing the license information i… Jun 20, 2016
migrate-config.php Fix config migration of LOG_FILE_NAME=null Oct 5, 2018 copied current code from May 21, 2014
phpunit.xml Report coverage for controllers Jan 18, 2019
rest.php Mappings endpoint: Fix routing Jan 30, 2019
swagger.json support for MARC sources in REST controller Dec 11, 2018

Build Status Test Coverage Code Climate Scrutinizer Code Quality SensioLabsInsight Codacy Badge Average time to resolve an issue Percentage of issues still open


Skosmos is a web-based tool providing services for accessing controlled vocabularies, which are used by indexers describing documents and searchers looking for suitable keywords. Vocabularies are accessed via SPARQL endpoints containing SKOS vocabularies. See for more general information about Skosmos including use cases, current users and publications.

In addition to a modern web user interface for humans, Skosmos provides a REST-style API and Linked Data access to the underlying vocabulary data.

Skosmos is used as a basis for the Finto vocabulary service. The latest development version is also available at

Skosmos is implemented using PHP, with Twig templates and e.g. jQuery and jsTree used to build the web interface, and EasyRdf for SPARQL and RDF data access. We use BrowserStack for making sure Skosmos works consistently with different browsers.

The code is open source under the MIT license. See Installation in the wiki for details on obtaining the source and running your own instance of Skosmos.

For information about released versions, see Release Notes.

Skosmos was formerly known as ONKI Light.

Reporting issues

If you have found a bug please create a new issue using the provided template: Report an issue