INCATools / INCATools/ontology-development-kit

Review release artefacts

Open
#1,369 4 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.