INCATools / INCATools/ontology-development-kit
Review release artefacts
- Dominant language
- Dockerfile
- Stars
- 375
- Forks
- 69
- Avg merge
- 3d 5h
- Merged PRs (30d)
- 7
Description
Now that the Makefile template has been reformatted, it is somewhat easier to see the differences between the workflows that produce the different release artefacts.
The following table is a synthetic view of those differences. I believe it could be useful to review those workflows and, in particular, to make sure that they match the [descriptions given in the OBOOK](https://oboacademy.github.io/obook/reference/release-artefacts/) (or that the descriptions given in the OBOOK match the workflows, depending on the side you want to see the issue from).
| | Base | Baselite | Full | Non-classified | Simple | Simple-non-classified | Basic |
|--|------|----------|------|----------------|--------|-----------------------|-------|
| Merge components | :white_check_mark: yes | :white_check_mark: yes | :white_check_mark: yes | :white_check_mark: yes | :white_check_mark: yes | :white_check_mark: yes | :white_check_mark: yes |
| Merge imports | :white_check_mark: yes | :x: no | :white_check_mark: yes | :white_check_mark: yes | :white_check_mark: yes | :x: no | :white_check_mark: yes |
| Reason | :black_square_button: optionally | :x: no | :white_check_mark: yes | :x: no | :black_square_button: optionally | :x: no | :black_square_button: optionally |
| Materialize OPs | :black_square_button: optionally | :x: no | :black_square_button: optionally | :x: no | :x: no | :x: no | :x: no |
| Relax | :white_check_mark: yes | :x: no | :white_check_mark: yes | :x: no | :white_check_mark: yes | :x: no | :white_check_mark: yes |
| Filter 1 | :x: no | :x: no | :x: no | :x: no | remove EQ axioms, filter on `simple seed`¹ **with trimming** | remove EQ axioms | remove EQ and DX axioms, all relations except BFO:0000050², filter on `simple seed` **with trimming** |
| Reduce | :black_square_button: optionally³ | :x: no | :white_check_mark: yes | :x: no | :black_square_button: optionally³ | :black_square_button: optionally⁴ | :white_check_mark: yes |
| Filter 2 | remove non-base entities **without trimming** | :x: no | :x: no | :x: no | :x: no | filter on `simple seed` **with trimming** | :x: no |
| Postprocessing | add `dc:type = IAO:8000001` ontology annotation⁵ | :x: no | :x: no | :x: no | normalize subset and synonym type declarations | :x: no | :x: no |
¹ The `simple seed` is essentially: all annotation and object properties, all subset declarations, all synonym type declarations, and all terms in the ontology’s own namespace.
² Configurable in the `keeprelations.txt` file.
³ Enabled by the same option that enables reasoning during release (`release_use_reasoner`).
⁴ In the `simple-non-classified` product, the `release_use_reasoner` option enables the reducing operation but does _not_ enable the reasoning operation.
⁵ `IAO:800001` is the “[base ontology module](http://purl.obolibrary.org/obo/IAO_8000001)” type of data entity.
Contributor guide
Research direction
Start with the reformatted Makefile template and the release workflows that produce the listed artefacts. Compare their behavior with the OBOOK release-artefacts description, including the keeprelations.txt and release_use_reasoner references. Done means the workflows and documentation agree for every artefact and discrepancy is addressed.
Written by the indexing model from the issue text.
Assessment
- Domain
- build-system, documentation, release
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 50/100