Fix to thea2 for saving in plsyn format

The thea2 library enables reading, analysis and writing of ontology files in a variety of formats. A particularly useful format is plsyn which is a succinct format (sort of Manchester meets Functional style). However, for some reason in the current git download of the thea libraries, the save_axioms hook in the file doesn’t save to file, but instead dumps to screen.

The following fix in the predicate owl2_io:save_axioms_hook/3 will alleviate that. I essentially mirrored the code from the similar file

owl2_io:save_axioms_hook(File,plsyn,Opts) :-
        (       nonvar(File)
        ->      tell(File)
        ;       true

Thanks. Added after a small rewrite using setup_call_cleanup/3.

Hi Jan – just quickly checking: is the correct repository to start contributing to? I’m just asking because the updates that you kindly added for me from the comments in this forum don’t seem to be in there. I would like to become a contributor, but I’m not sure which repo to request that of.



1 Like

Good you ask. The place is now

The version there has quite a few fixes compared to the one you refer to. The original project is mostly sleeping. I revived it a little as I needed some of its functionality in a project (concepts in motion). Chris Mungall knows about this. He says he is working on a replacement of thea following a quite different design.


Thanks, Jan. Can I request contributor access for Github user RdR1024 (me)? I tried to push a fix (i.e. create a pull request), but it tells me I don’t have the correct access rights.

Or is there another way you would prefer I use?

The usual way in Github is that you fork the repo on Github, clone your fork, edit and commit, then push to your fork and create a pull request. Now that you already have a clone of the original, you can do

  • Fork on github
  • In your local clone, do git remote add myfork url-of-your-fork
  • git push myfork

And create the pull request

Given that you seem to be happily hacking in Thea, I’m happy to give you access to the repo.

(correction). I didn’t setup the organization and it seems I do not have admin rights to the repo. Will check with the owners.

Thanks, Jan – it would simplify things. I’ll await the answer.

@jan I ended up deleting the clone from conceptsinmotion and first forking into my own account, and syncing that fork with the original repo from conceptsinmotion (don’t know if that is strictly necessary, but github recommends this to ensure updates from the original are sync’d in the fork).

I then created a fix-branch in the fork, according to your earlier suggestion, and committed the changes. I then pushed to origin, and went to the provided link to create a pull request. The github page kindly already sets the pull request up as a fork-to-upstream request. I added some notes and submitted the PR.

Hopefully all goes well to get the change into the conceptsinmotion/thea repo and I’ll continue adding to it.



1 Like

Thanks! Merged. I contacted the owners to grant you write access to the repo as well.

1 Like

@jan a quick question on protocol: should I still let you know about pull requests here, or do you automatically receive notice via github?

I get them through github.

1 Like