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:



Wir suchen zum nächstmöglichen Zeitpunkt Verstärkung für unser Team


coli-ana integration


We present an API and web interface to look up which DDC classes are contained in a synthesized DDC number


BARTOC is being extended to support unified vocabulary search and browsing.


We released a stable release 1.0.0 of database interface.


Approval of DFG funding for the final phase of project coli-conc (2021/2022)