- Added new version of fastobo (v0.3.0)
- Added rdflib to Python environment
- Added xlsx2csv command line tool
- New ROBOT (v 1.7.0)
- New owltools (v. 2020-04-06)
- Added SWI Prolog and C. Mungall's sparqlprog tools
- Release artefacts are now annotated with
owl:versionInfo
- run.sh now got the
JAVA_OPTS
parameter which is necessary to set the maximum memory allowed for owltools - Bugs:
- base-modules are now correctly annotated with resource references rather than strings (issue)
- The ODK_VERSION variable in the Makefile was misnamed, which causes a circularity with updating it correctly when the Makefile is updated with a new ODK. This is fixed, but for the fix to kick in, you have to run
sh run.sh make update_repo
twice this time!
- New ROBOT (v. 1.6.0)
- Bugfixes:
- Small fixes to update_repo method
- the sparql query for extracting labeled subsets is now fixed
- Some unneeded files (ontologyterms.txt) are removed from the default template.
- a few more files are added to the .gitignore file
- The catalog file is restructured to preclude Protege from changing it in unwanted ways.
- the license in the ontology metadata is now required to be an IRI rather than a string.
- The odk.py should now be executable in a non-docker context
- JSON versions of imports are not anymore generated. OBO versions are only generated if OBO is used as the edit file serialisation.
- PAT=false now skips pattern download
- Fixes to DOSDP pipeline
- DOSDP tools is updated to version 0.14. This version comes with some great changes, including:
- a mode in which multiple patterns can be compiled at once (batch mode)
- we finally have have optional columns and column values!
- external.txt can now be empty
- instead of abnormalAnatomicalEntity, an example.yaml is added to the default pattern directory
- DOSDP tools is updated to version 0.14. This version comes with some great changes, including:
- Infrastructure (only relevant to ODK developers):
- The test framework for ODK is now more dynamic:
- Travis now correctly builds the ODK from scratch and runs the tests against the new build version
- Instead of adding new tests to the Makefile, you can simply now drop a new YAML file into the tests/ directory.
- ODK Dockerfile has been optimised a bit for size (avoiding superfluous chmod calls)
- the yaml loader in the ODK is now replaced by a safe loader
- The test framework for ODK is now more dynamic:
- switched the Docker base image to ubuntu:18.04
- Added ammonite to the container
- updated ROBOT to version 1.5.0
- base modules now get a special "base module" ontology annotation
- some bug fixes of the makefile process:
- pattern file download
- simple seed now takes into account annotation properties
- subset annotation handling improved
- added functionality to update the repository after changing the yaml config. This feature is still experimental. To make use of this, you need to update your Makefile and copy the file under src/scripts/update_repo.sh in the respective folder of your repository. You should then be able to run
sh run.sh make update_repo
to get your whole repo to the latest state. Be careful though: some files like the Makefile, run.sh and the sparql queries are considered native to ODK; this update routine will overwrite those files. Therefore, check your git diff before committing anything you might not want. - similar to
sh run.sh make IMP=false prepare_release
, it is now possible to skip pattern generation when creating a releasesh run.sh make PAT=false prepare_release
- Bug fix to component pipeline
- Bug fix to report print out
- You can now exclude tautologies from your releases, such as Nothing SubClassOf Nothing or similar. For more information about this brand new ROBOT feature see http://robot.obolibrary.org/reason#excluding-tautologies. You can change the default behaviour by adding
exclude_tautologies: false
orexclude_tautologies: all
to your yaml config. - Bug fix to how external.txt is handled (pattern pipeline)
- Upgrade ROBOT to version 1.4.3
- Minor bug fix in handling temporary file directories
- Bug fix Konclude reasoner invocation
- Bug fix simple seed generation
- Bug fix: main owl release file (ont.owl) now has the correct version IRI
- More debugging output during seeding process
- Updated some of the documentation to be more generic towards GitHub vs GitLab and others
- Highly experimental features (not for production) that allows the use of GitHub api for making a GitHub release programmatically. For an example config see here. This feature is likely to change significantly over time.
- The ODK version is now written into the Makefile, and is printed by default during runs of the ODK
- Bug fix that caused OBO file releases to have broken subset declarations (injection of subset annotation property by default in imports).
- It is now possible to tag releases with the date of release. Use:
release_date: True
in the configuration file
Major revisions of Makefile
- NOTE: for some of the new goals, a tmp directory is required in src/ontology directory (src/ontology/tmp)
- Use ont.Makefile file to extend your default ODK make pipeline (which continues to be in src/ontology/Makefile). See here for an example;
- Use
allow_equivalents: assert-only
orallow_equivalents: none
in your project configuration file (Example). - Integrate components in your projects. A component is a part of your ontology that is managed somewhere outside of the edit file, for example and external file with logical definitions, or a set of xrefs imported from an external file.
components: products: - filename: wbphenotype-equivalent-axioms-subq.owl
- you can now supply a different catalog.xml then the default by adding a line to your config file:
catalog_file: catalog-v001.xml
- You can now run the Konclude reasoner. See here for an integrated example.
- new release artefacts, which are documented here. Note that the simple and basic releases are currently highly experimental; we are working on maturing them.
- it is now possible to skip git related operations during the seeding process:
./seed-via-docker.sh -c --skipgit True -C odkconfig.yaml
. This is useful if the goal is to quickly regenerate the Makefile for example in the context of upgrading a repository. - it is now possible to set dates from the outside of the docker container as a parameter.
- it is now possible to run a OBO validor (see here)
MAJOR OVERHAUL OF FRAMEWORK
This release sees the introduction of project.yaml files (see examples/). Although command line passing of parameters is still supported, the use of a project file is strongly encouraged.
Previously the following commands may be have been passed: -c -d pato -d cl -d ro -t my-ontology myont
Now you can use a yaml file:
id: myont
title: my ontology
import_group:
products:
- id: ro
- id: cl
- id: pato
- project.yaml files can be passed instead of command line settings
- Docker container can now be executed anywhere, no checkout required
- Added README-developers.md for ODK developers
- Docker container tracking ROBOT v1.2
- Previously multiple dependencies:
-d ont1 ont2 ... ontN
, now-d ont1 -id ont2 ... -d ontN
- New command line option
--source
to pass in an existing ontolgy-edit file
- Dockerfile for odkfull now at root directory
- Dockerfile now based on alpine
- Perl script gone; new python script (Python3.6 required)
- Uses Jinja2 templating system, including dynamic file templating
This will be complex BUT the new system will make future development easier.
You MAY want to wait for future incremental releases which will include migration tools. But if you want to forge ahead, we recommend creating a new repo and copying files across manually.
- fixing bug in which running seed-via-docker did not enter interactive mode when no arguments provided
- added convenience wrapper scripts
- New .sh scripts in src/ontology can be directly copied across
- added interactive mode
- added DOSDP support
- odkfull v1.1.2 includes robot 1.1.0
This release adds a new template in the src/patterns
folder. These can be copied across to an existing repo.
Name of repo has changed to ontology-developer-kit
- changing name of docker image to odk
- Upgrade dosdp-tools to release 0.9.
- Make docker commands workable on windows
- Dockerize travis
- Imports automatically generated
- Added python dosdp checker to docker, fixes #55
- use robot not owltools in all places
odklite and odkfull 1.1.1 released. Note that new versions may be released independent of odk
- robot pre-1.1.0
- dosdp-tools 0.9
The docker release includes a pre-release of robot 1.1.0. This is identical to 1.1.0, except for https://github.com/ontodev/robot/commit/928503b1303c139fc1cf4fc1939d64bda0f2ae30
If you built your repo from a previous version of ODK, here is a rough guide to migrating:
- Update your .travis.yml, in order to use Docker (optional but recommended)
- change the name of the docker image to odkfull in your run.sh
- Add a run.sh in the template for Docker