Technical Design Specification

Background and Problem Statement


HTML landing pages currently under:




Bitbucket repo at will hold exported data (CVs) periodically exported from CESSDA


XKOS Links/URIs:


RDF Profile (CVS<>RDF<>DDI-L)


Follow up on

Appendix 1 - Notes and Discussion Trails


BaseURI needs confirmation as:
This needs to change - [11/11]to finalise base URI with Wendy et al**
**consider practicality of DNS resolution re ICPSR


URIs currently use natural language semantics, rather than IDs

Problem: How can we know that these are different versions of the same concept?
Suggest that concept ID is used instead in the URI, for example:
Need to clarify with @Oliver Hopt : is there anything persistent in the database that could be used for the Concept ID?
Also, can we delineate the version number in the URI (rather than underscore concatenation)

[11/11]Oliver to follow up with Sigit on ConceptIDs and segmenting versionumbers.


Which RDF serializations are the priority?


Confirm whether we need a externally available SPARQL endpoint to be made available .
[11/11]Not required in first release


There is not a RESTful API in place by default. Confirm this is OK.
[11/11]Not required in first release



From: Taina Jääskeläinen (TAU) []
Sent: 11 November 2021 08:38
To: Bell, Darren S <>
Subject: RE: DDI CVs and versioning


Hi Darren,

go to this web page and click to open the section +Versioning policy


This applies to source vocabularies which have two-digit version number. i.e. minor and major changes.

The translated vocabularies have a three-digit version number where the first two digits are the source version number (telling the translation of which source version it is), and the third is just a running number indicating any change.

So 3.4.2 version in a translation version means a second language version of the source version 3.4.

When the source version changes, the translations of the previous source versions are frozen and cannot be changed anymore. Any changes to target languages can only be done in the next source version.


The versioning of translations was one of the things we would have liked to simplify before the code base was changed to a new platform. But as we did not know the platform was being changed before the recoding had been done, it was too late.

I still don’t know what would be the best way to ensure that metadata producers learn when the term in their language has changed since ELSST-style publication once a year is not feasible.


Maybe keep the version number the same for all languages (i.e. the source version number) but still leave the current the language specific change history tracking  so that people could be able to see just what has changed in their version??? Don’t think it would be too hard to change the version number assignment in the system.

The risk for metadata producers is that they would not be able to track anymore whether the language version they use is kept up-to-date with the source unless they compare source and target language changes.

In the current system, if the language version is not kept up to date, the latest published version has the version number referring to the previous source version.


Then there would need to be another versioning concerning the whole download/API package (all languages) with version number changing whenever there is a change in any of the languages. I assume this kind of versioning would be needed for systems that have implemented a CV in their system? Even though they might not be interested in that particular language where the change was done. GESIS originally assured me that this separate ‘whole package’ technical versioning would be possible.


I don’t think DDI Alliance thinks that the ‘displayed’ version number of a DDI vocabulary should change if the Greek change one descriptive term. But I may have interpreted things wrong.


It gets complicated when there are the requirements of 1) metadata producers, 2) DDI Alliance, 3) multilingual data catalogues, 4) linked data. And my technical expertise is, as known, not very great.



BTW: We had a meeting yesterday with the Slovak team taking over the CVS technical development.

Resolving issues preventing linked open data and resolvable URIs are important issues. Do you think Carsten and John know what is required re those?


All the best,



From: Bell, Darren S <>
Sent: 10 November 2021 16:10
To: Taina Jääskeläinen (TAU) <>
Subject: DDI CVs and versioning


Hi Taina – as you may be aware,  I’m working with Oliver Hopt at GESIS to make the DDI CVs available as SKOS.   I’m trying to find more detail about how versioning is currently handled in CESSDA CV Manager and what triggers a major or a minor version.  Are there any documents/specifications related to versioning in the CVS that I could get access to?

Best, Darren


From: Wendy Thomas []
Sent: 21 October 2021 16:18
To: Bell, Darren S <>; Hopt, Oliver <>
Subject: Questions regarding support of ddi rdf vocabulary resolution


OK this is really a brain dump of things that made me go hmmm and may or may not be issues that need to be addressed. So first I'd like to know which I don't need to worry about, which will be addressed by your work, and which we need to resolve either within TC or in conjunction with other product groups. 

Thanks, Wendy


Right now this domain is managed by ICPSR(Michael)
Should this be the URL associated with int.ddi? or should each product have its own subagency (ddi.lifecycle, ddi.codebook, ddi.xkos, ddi.cdi, ddi.sdtl)
Does SDTL currently use a URN or just the

RDF namespace:
XKOS documentation:
RDF Turtle file:

Controlled Vocabularies (note that Controlled vocabularies has its own subagency which is actually ""
Short Name:AggregationMethod
Long Name:Aggregation Method
Version Notes:
Canonical URI:urn:ddi-cv:AggregationMethod
Canonical URI of this version:urn:ddi-cv:AggregationMethod:1.0
Location URI:
Alternate format location URI:
Alternate format location URI:

Note that the current URI's are in error and do not/will not resolve
What needs to be done about this? Short term, long term