Anybody using git for ontology versioning?

20 views
Skip to first unread message

Andrea Splendiani

unread,
Jun 2, 2022, 10:43:11 AM6/2/22
to BioHackathon
Hi,
curious to know...
with some proper serialization approach, and (some work required) some tweak to diff algorithms , it would be an interesting viable solution.

Any experience?

best,
Andrea

Egon Willighagen

unread,
Jun 2, 2022, 10:48:47 AM6/2/22
to biohac...@googlegroups.com

Hi Andrea,

we have been doing this for some time now in the eNanoMapper project: https://github.com/enanomapper/ontologies

Egon

--
You received this message because you are subscribed to the Google Groups "BioHackathon" group.
To unsubscribe from this group and stop receiving emails from it, send an email to biohackathon...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/biohackathon/cdf4c9cd-e5b4-4421-9cd5-f8ab7f377dbdn%40googlegroups.com.


--
----
Super happy with this new eLife paper describing an Open Science project where we discuss 260 thousand natural products and where they came from, all 700 thousand pairs linked to their primary literature: "The LOTUS initiative for open knowledge management in natural products research", https://doi.org/10.7554/elife.70780 

-----
E.L. Willighagen
Department of Bioinformatics - BiGCaT
Maastricht University (http://www.bigcat.unimaas.nl/)

Andrea Splendiani

unread,
Jun 2, 2022, 11:02:48 AM6/2/22
to BioHackathon
how did you get a predictable serialization? in principle, no standard serialization is. Maybe turtle come close.

Chris Mungall

unread,
Jun 2, 2022, 11:03:32 AM6/2/22
to biohac...@googlegroups.com
This is standard for pretty much all OBO ontologies

You can use ODK (https://github.com/INCATools/ontology-development-kit/) to seed a new project repo, that will give you lots of goodies for free:

- github actions that will check PRs using a reasoner and robot report
- a standard release procedure using the github release mechanism
- standard workflows for many operations orchestrated via a Makefile and run via docker
- much more

It should work with some tweaking for ontologies that don't conform to OBO conventions

There is a lot of material about this in the OBO training documentation https://oboacademy.github.io/obook/

Note that most serialization issues have been solved in the OWL API since this post in 2014. If you are using a non-Protege ODE that doesn't use the OWLAPI then you may need to normalize the output first.

You can reach for help on the issue tracker, there is also an active support community on the OBO slack https://join.slack.com/t/obo-communitygroup/shared_invite/zt-1aesusou8-84k8uwzZHXUG3NqPBs9jew

--

Egon Willighagen

unread,
Jun 2, 2022, 11:06:52 AM6/2/22
to biohac...@googlegroups.com

Yeah, good point. Generally we do not and that is not pretty but fairly workable (but also because we tended to edit hands with plain text editors). I am looking forward to serialization standardizations.

Egon

Chris Mungall

unread,
Jun 2, 2022, 11:12:05 AM6/2/22
to biohac...@googlegroups.com
This has been solved for some time if you are using OWL: https://github.com/owlcs/owlapi/issues/273

But many ontologies are moving away from keeping the bulk of the source as RDF or OWL, and instead using TSVs or YAML via robot/linkml to compile. But if your source is in OWL it pretty much works fine now (there were historically occasional quirks when switching versions of the owlapi when using more advanced constructs). Even if hand-editing I'd recommend a normalization step, just as you'd do for python code with black

Egon Willighagen

unread,
Jun 2, 2022, 11:16:25 AM6/2/22
to biohac...@googlegroups.com
On Thu, 2 Jun 2022 at 17:12, Chris Mungall <cjmu...@lbl.gov> wrote:
This has been solved for some time if you are using OWL: https://github.com/owlcs/owlapi/issues/273

What OWLAPI version is the first to do this? Our eNanoMapper Slimmer is still at 5.1.17. Well, I need to update that to 5.1.20 anyway, I guess.

Just curious :)

Egon

Chris Mungall

unread,
Jun 2, 2022, 11:20:43 AM6/2/22
to biohac...@googlegroups.com
Some time way back in the 4.x series!

--
You received this message because you are subscribed to the Google Groups "BioHackathon" group.
To unsubscribe from this group and stop receiving emails from it, send an email to biohackathon...@googlegroups.com.

Egon Willighagen

unread,
Jun 2, 2022, 11:25:38 AM6/2/22
to biohac...@googlegroups.com

Ah, I guess that explains :)

Egon

Andrea Splendiani

unread,
Jun 3, 2022, 7:44:10 AM6/3/22
to BioHackathon
Hi,
thanks. This looks interesting, I'll have a deeper look.

As for serializations, I don't think there are serializations issues per se. Just some aspect of OWL/RDF serialization (say, the order) doesn't have a reason to be deterministic, in a way which is a bit different from standard code.

best,
Andrea

Reply all
Reply to author
Forward
0 new messages