INCATools / ontology-development-kit

Bootstrap an OBO Library ontology
http://incatools.github.io/ontology-development-kit/
BSD 3-Clause "New" or "Revised" License
212 stars 53 forks source link

Add convenience check if customised ROBOT report config is out of date and update default config #998

Closed matentzn closed 4 months ago

matentzn commented 4 months ago

Fixes #552

This PR:

sh run.sh make check_for_robot_updates
....
Missing tests:
equivalent_class_axiom_no_genus
illegal_use_of_built_in_vocabulary
invalid_entity_uri
missing_subset_declaration
missing_synonymtype_declaration
misused_replaced_by
multiple_equivalent_class_definitions
gouttegd commented 4 months ago

I don’t understand the point of this.

Let’s say a new test is added to the ROBOT’s master branch. What good does it do to ODK users to know that a new test is available in a version of ROBOT that is not the version that is included in the ODK, and that may not even be published yet?

matentzn commented 4 months ago

Hmm, it's true that there could be a small lag between master and release, didn't think of that. But I was hoping to make it easier for people who use a custom profile to get notified if ROBOT supports new tests. Already many ontologies I work with use custom profile.txt files, and are 2-6 tests behind what robot has to offer.. maybe you have a better idea of how to make it easy for a user to understand when there are new tests available?

gouttegd commented 4 months ago

Given the current frequencies of ROBOT releases, the lag is likely to be quite substantial (a few months at least).

What I would suggest is to bundle the ROBOT default profile at build time. That is, we store somewhere in the ODK a copy of the ROBOT profile (let’s say in /tools/robot/default_profile.txt), and we compare the profile actually used in the ontology to that.

No need to download anything from the Internet, and this will let people know if there are any tests that are supported by the version of ROBOT available in the ODK that their custom profile does not include.

Of course, when we update ROBOT in the ODK (as we do in point releases), we update the profile accordingly, so that /tools/robot/default_profile always contain the up-to-date list of all the tests that are supported by the version of ROBOT provided with the ODK.

gouttegd commented 4 months ago

Is this what you mean?

Yes, exactly.