Skosify Release Notes

v2.0.1 - 2017-11-20

This release does not change functionality of the command line client (except support of options output, to_format, log, and debug in config files). It comes with a major refactoring of internal source code and add unit tests.

  • Make parts of the functionality available as module
  • Drop internal object Skosify
  • Drop support of rdflib < 3.0.0
  • Separate command line client and core library
  • Add unit tests and documentation
  • Implemented SPARQL hooks for input data (#46)
  • Add –set-modified option to set dct:modified timestamp on ConceptScheme (#42)
  • Add option to eliminate hierarchical redundancy (#40)
  • Generated ConceptScheme URI now defaults to namespace, not ns:conceptscheme

v1.0 - 2014-01-14

See also the release anouncement.

  • Support both Python 2.x and 3.x with the same code (#35)
  • PEP 8 coding style conformance (#39)
  • Enable mapping of relations to inverse properties (#32)
  • Enable mapping of types, literals and relations to multiple values (#34)
  • Remove bundled SetStore in favor of rdflib 4.x, where it’s included (#33)
  • Add enrich_mappings option, making mapping inferences optional (#29)
  • Add mark_top_concepts option, making top concept marking optional (#31)
  • Fixes for conversion of FinnONTO ontologies (e.g. #30)
  • More deterministic RDF and logging output

v0.6 - 2013-01-29

  • Release with mostly minor improvements to the code to improve robustness and correct more problems found in SKOS vocabularies in the wild.
  • Deterministic cycle breaking, also for top level cycles (#26)
  • Correct SKOS S14 (no >1 prefLabels per language) for all resources (#24)
  • Don’t break on literal inScheme values (#25)
  • Correct missing language tag and extra whitespace for rdfs:label (#27)
  • Better support for multiple concept schemes (#3)
  • SKOS inferences for mapping relations (#28)
  • SKOS inferences for hasTopConcept/topConceptOf and inScheme (#23)
  • Make some cleanups optional and off by default (#22)
  • Easier to read –help output with grouped options (r140)
  • Added sparqldump utility script (r137, r138)

v0.5 - 2012-05-04

  • Online version (#16)
  • Optionally correct unlabeled concept schemes (#13)
  • Detect referred concept schemes and add rdf:type (#14)
  • Clean up transitive/narrower relationships (#15)
  • Make cycle removal optional (#17)
  • Make cleanup of related relationships optional (#18)
  • Support different prefLabel policies (#20)
  • Switch meaning of -i/-I options (r106)
  • Use standard Python logging module (r97)
  • Support –log option to specify a log file (r107)
  • Catch parsing errors properly (r108)


  • Intermediate version. Not really released.

v0.3 - 2012-02-16

New features (with issue numbers):

  • Automatically detect vocabulary namespace (#8).
  • Setting language for labels and documentary notes without language tag (#10).
  • Better sanitizing of Concept-specific properties on Collections (#11)
  • Support multiple input files (issue #12)
  • Support .nt file extension (n-triples format)
  • Slightly better usage message for –help (show input file parameters)

v0.2 - 2011-11-17

* Added support for property skosext:candidateLabel. Label properties mapped to this will be converted to skos:prefLabel if one doesn’t exist, but skos:altLabel if a prefLabel already exists (for the same concept, in the same language). This makes it possible to prefer some kind of labels, or labels from a particular source, when there may be many sources of labels. This is useful for combined ontologies such as TERO and LIITO, where the “same” concept may have different prefLabels from the different source vocabularies.

v0.1 - 2011-05-25

  • First public version.