coli-conc Logo

Cocoda Technical Architecture

coli-conc Technical Report 11

2018-05-31 CC-BY-SA

Jakob Voß <> (Verbundzentrale des GBV (VZG))

This report gives an update on the architecture of Cocoda, a mapping tool for concordances between library knowledge organization systems that is being developed at the head office of GBV Common Library Network (VZG). A new implementation or Cocoda has been started from scratch.


The aim of project coli-conc is an infrastructure to facilitate management and exchange of concordances between library knowledge organization systems. In particular this includes a web application to manage, create, and evaluate mappings. Since its beginning in 2015, the technical and organizational background of the project and its mapping tool have evolved. After some attempts with a monolithical Java application we revisited our original plan of a modularized web application. Based on experiences with two prototypes and the mapping data collected so far we started with a new implementation in May 2018. This report supersedes the Cocoda primer [@tr1] with an overview of the current technical architecture.

JSKOS Data Format

The core of the concordances infrastructure turned out to be the JSKOS data format for knowledge organization systems. In short this format is an application profile of JSON-LD [@JSONLD] for SKOS [@SKOS] extended by support of mappings, concordances, usage statistics, and optional closed world statements [@JSKOS]. The specification has reached a stable state with only minor additions to be discussed.

Cocoda Web Application

The new version of Cocoda is build as singe page web application using the Vue JavaScript framework instead of AngularJS. We had some good experiences with the latter [@code4lib] but Vue turned out to be more manageable. The application can be broken down into four main components:

concept browserbased on a hierarchical navigation and a detailled display of selected concepts
mapping editorto create, modify, and annotate mappings
mapping browserto show existing mappings and mapping recommendations from multiple sources
occurrences tableto show the number of times selected concepts are used in library catalogs

These components shall also be usable independently from Cocoda for instance to provide hierarchical browsing in one classification. Additional parts of the application for interaction with backend services may be pubished as npm modules which can also be used for server side applications.

The web application is developed publically at with technical documentation published at We use a Kanban board at for project management and travis-ci for continuous integration.

Backend Web Services

The web application communicates with independent backend services, mainly in JSKOS format:

Additional Data Processing

Backend services and additional data processing pipelines are implemented with different technologies. In particular we use and contribute to:


Mehr Beiträge


Der Abschlussbericht der letzten Entwicklungsphase des Projekts coli-conc ist von der DFG genehmigt und nun veröffentlicht worden.


Introduces tagging mismatch reasons and non-indexing concepts


Improves display of concept information, and many other small changes


Adds support for new filters, suggestions via catalog co-occurrences, and additional vocabulary APIs


Sacherschließungsdaten des K10plus-Katalog als Open Data veröffentlicht


The software library cocoda-sdk can be used to access terminologies from various sources