coli-conc Logo

Open Source web applications for Knowledge Organization Systems

coli-conc report 7

2016-08-31

https://doi.org/10.5281/zenodo.61262 CC-BY-SA

Jakob Voß <jakob.voss@gbv.de> (Verbundzentrale des GBV (VZG))

This report gives an overview about Open Source web applications to create, manage, and publish Knowledge Organization Systems (KOS).

Background

To manage concordances between Knowledge Organization Systems (KOS) in project coli-conc, access to each of these KOS is required. To access and manage KOS there are several tools, as listed in a first report [@ColiConcTR2]. This new report contains an update of this list, narrowed down to web applications. The collection only contains applications with main focus on KOS management. More application exist to make use of controlled vocabularies as part of another task, [1] but their evaluation would require a much larger study.

Open Source web applications for KOS

The list given in coli-conc report 2 has been updated with information about KOS editing and API features, source code repository, year of last update, and rough number of contributors.

Name and LinkEditorAPILanguageLicenseSourceUpdateContributors
Semantic MediaWikiyesyesPHPGPLGitHub201650
WikibaseyesyesPHPGPLWikimedia201630
TemaTresyesyesPHPGPLGitHub20163
iQvocyesyesRubyApacheGitHub201612
SKOS EditoryesyesJavaLGPLGitHub20167
GincoyesyesJavaCeCILLGitHub20169
VocBenchyesnoJava?Bitbucket20164
Web Protégéyes?JavaBSDGitHub20154
SKOSjsyesnoJavaScriptApacheGitHub20144
VoColyesnoJavaScriptMITGitHub20165
OpenSKOSnoyesPHPGPLGitHub201610
Django C.V.[2]nonoPythonBSDGitHub20164
SkosmosnoyesPHPMITGitHub20164
SKOS PlaynonoJavaCC-BY-SABitbucket20161
SISSVocnoyesXSLTApacheGitHub20156
ASKOSIno?JavaGPLArchive20111

Software development

The updated list contains 16 web applications for knowledge organization systems, written in six different programming languages (Java: 7, PHP: 5, JavaScript: 2, Ruby/Python/XSLT: 1 each). All applications except SISSVoc and Django Controlled Vocabularies also use JavaScript for their web interface. All projects except ASKOSI use git for version control, mainly hosted at GitHub. At least half of the applications implement a web API to query or modify KOS content in machine-readable form.

ASKOSI and SKOSjs will be excluded from the following evaluation because they have not been updated since more then two years. All remaining projects except SISSVoc have been updated in the last nine month, showing active development. The number of contributors gives a rough estimate of the developer community.

Typology of KOS applications

The applications can be grouped by several criteria for further evaluation.

KOS tools vs. general ontology tools

Semantic MediaWiki, Wikibase, and Web Protégé are no KOS applications in a stricter sense but they aim at the creation and management of ontologies, semantic neworks, or knowledge bases. It is possible to use them for KOSs but more serious work requires some configuration, usage guidelines, and additional tools or extensions [@Voss2016].

KOS editors vs. KOS publishing tools

KOS editors can be used to create and modify taxonomies, thesauri, glossaries or other kinds of KOS. Nine applications (including the general ontology tools) can be used as KOS editor and five only provide read access. For instance VocBench provides advanced editing capabilities with workflow and user management but it recommends a SKOS Browser such as Skosmos to provide public access to the resulting systems. KOS editors can further be grouped into simple KOS editors and tools for KOS management. The latter include an editorial workflow with user roles (e.g. editors and publishers) and publication states (e.g. new, suggested, published, and deleted concepts).

Resulting categories

The analysis of Open Source KOS web application types results in four categories. KOS management tools and editors can mostly be used also for KOS publishing but with less access-oriented features.

typeapplications
Ontology editorSemantic MediaWiki, Wikibase, Web Protégé
KOS managementiQvoc, TemaTres, VocBench, Ginco
KOS editorSKOS Editor, VoCol
KOS publishingOpenSKOS, Skosmos, SKOS Play, SISSVoc, Django Controlled Vocabularies

Two applications should be sorted out before evaluation because of their specialized use case:

Evaluation

An in-deep evaluation would first require definition of criteria and goals. This report only gives an overview and recommendations for project coli-conc. The project does not include editing KOS but creation of uniform access methods to KOS information from multiple sources in JSKOS format [@JSKOS]. For each KOS applications the question is whether to

ASKOSI, SKOSjs, SKOS Play and VoCol have been selected to be ignored. For ontology editors it neither makes sense to create a dedicated JSKOS API. A wrapper to convert Wikidata (based on Wikibase) to JSKOS has already been started instead.[3] Focus on most used programming languages also makes iQVoc (Ruby), Django Controlled Vocabularies (Python), and SISSVoc (XSLT) candidates for more wrappers instead of adding features to them.

Engagement in developer community should be considered for six projects to natively support an API for querying KOS information in JSKOS format: TemaTres, Skosmos, OpenSKOS (PHP) and SKOS Editor, Ginco, VocBench (Java). A PHP framework for JSKOS processing and access is already being developed as part of project coli-conc to build on.[4]

Summary

This report collected information about sixteen Open Source web applications for Knowledge Organization Systems (KOS). The applications can be grouped in four categories (ontology editor, KOS management, KOS editor, KOS publishing). The report does not include a detailed evaluation but recommendations for project coli-conc. Three PHP-based projects and three Java-based projects have been identified for possible collaboration in software development.

References


  1. For instance Annotation applications such as Annot. ↩︎

  2. Django Controlled Vocabularies ↩︎

  3. See https://github.com/gbv/jskos-php-examples ↩︎

  4. See https://github.com/gbv/jskos-php ↩︎

2020-09-29

Our new website is now live!

2020-08-25

DDC/SDNB notation handling and small fixes

2020-08-24

Webanwendung zur Anreicherung der Sacherschließung durch Mappings

2020-06-30

Docker, refactoring, and more

2018-11-29

Vorhandene Mappings zwischen GND und anderen Vokabularen

2018-05-31

An update on the architecture of Cocoda