liveontologies / elk-reasoner

A Java-based OWL 2 EL reasoner
Apache License 2.0
94 stars 25 forks source link

Release ELK with support of OWL API 5 #48

Open matentzn opened 6 years ago

matentzn commented 6 years ago

I am not sure whether it is a bad on my end, but is there an integration of ELK with OWL API 5 yet? ELK 0.5 still seems to depend on an oldish version of OWLAPI 4 (the snapshot integrated via MAVEN).

ykazakov commented 2 years ago

@balhoff I do not think I have any particular issue to check now. However, once I merge the incremental-query branch, I will ask you to check #28 (we also had an email communication regarding this) as I believe this issue is now resolved. I did not merge this branch because I wanted to make some final checks. Also, I need to fix the snapshot builds since they stopped working after travis gave up on open source projects. Maybe I will do this over Christmas.

matentzn commented 2 years ago

Hey @ykazakov - just wondering if there is any timeline to make Elk 0.6?

ykazakov commented 2 years ago

@matentzn the work on ELK is mostly finished. I am working on a new version of PULi on which ELK depends for explanation support, which needs to be released fist. Do you want me to skip the version 0.5?

matentzn commented 2 years ago

Since elk 0.5 dev is so different from your new version, maybe 0.6 is less confusing for communication?

ykazakov commented 2 years ago

Which 0.5 dev? The unofficial release of au.csiro?

matentzn commented 2 years ago

Yeah we have been using that in curation for a few years now. This one.

On Tue, 10 May 2022 at 18:48, Yevgeny Kazakov @.***> wrote:

Which 0.5 dev? The unofficial release of au.csiro?

— Reply to this email directly, view it on GitHub https://github.com/liveontologies/elk-reasoner/issues/48#issuecomment-1122567843, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABV6HJ7KEZGEQRZIVVYDG6DVJKALZANCNFSM4EM2IYNQ . You are receiving this because you were mentioned.Message ID: @.***>

ykazakov commented 2 years ago

OK, could as well name it 0.6.

matentzn commented 1 year ago

@ykazakov Happy New Year! Any updates on the Elk 0.6 release?

ykazakov commented 1 year ago

@matentzn Happy New Year! Yes, I should find some time to finish the ELK release. Will look at it ASAP.

matentzn commented 1 year ago

@ykazakov Happy summer :) Hope all is well. Any chance for a.. release this year? Thank you! And i do understand: No time! No problem. Just checking in saying: we are still interested.

ykazakov commented 7 months ago

FYI: I am planning to change the ELK version and groupId as follows:

<artifactId>elk-ore-parent</artifactId>
<groupId>com.github.liveontologies</groupId>
<version>5.0.0-SNAPSHOT</version>

The version is changed to use more version qualifiers. I think this is now a more modern approach. ;-) The domain elk.semanticweb.org is no longer under our control, which could cause problems for deploying to maven central.

I hope these changed do not cause any confusion or disruption.

I hope to make a release soon, or at least restore the provision of snapshots from maven central.

ykazakov commented 7 months ago

I have just re-enabled the snapshot repository. Please test and report if you encounter any problems!

matentzn commented 7 months ago

@ykazakov thank you!

Which changes can we expect in this new release? Is there a new release? Can you make some release notes?

Maybe make a proper Github release (even of a pre-release) so we see what to expect. https://github.com/liveontologies/elk-reasoner/releases :)

Then we will assign someone for testing! Thank you! Very exciting!

reckart commented 7 months ago

Please post releases to Maven Central to facilitate actually using them.

matentzn commented 6 months ago

Hello @ykazakov! We are thinking of updating all our stacks to the new Elk version, but its a bit inconvenient to do it from the snapshot repo without proper versioning. Are there any plans to create a proper Maven release or do you prefer someone else to do it? Also, can we get a list of changes you did for the new version to estimate the impact on our 100 ontologies using Elk during builds?

ykazakov commented 6 months ago

Hi @matentzn! By all means feel free to create a fork and make the release! Who knows when I have time to work on this again. Particularly, describing all changes made for the last 8 years is not done in an instant. Do you know any automated tool that generates release logs from commits? Also, not sure how would it help to estimate the impact on ontologies - you probably use tons of non-EL features and changes in unsupported cases like #61 would not be described in release log anyway.

reckart commented 6 months ago

Do you know any automated tool that generates release logs from commits?

git log v0.4.3..master --pretty=format:"%s (by %an)" --abbrev-commit | sort | uniq

What is nicer though is for projects that consistently use pull requests for all changes, GitHub has a nice feature for auto-generating a changes report from the PRs. You can find that here and then go on to draft a new release.

matentzn commented 6 months ago

I agree with @reckart very much :) Thanks @reckart! I would very much endorse doing a github release now so we all know the version we are on.

@ykazakov if you like, you can make me a co-owner of this repo and I can do such releases. We can have an understanding that I am not allowed to merge any functional changes to the repo, but having the official ELK repo being "community-driven" would help us immensely while we are evolving our technology stacks.

Also, we are having some internal debates how to interpret your new version 5.0.0 - I thought we were in 0.5.0, so I would have thought your new release should be 0.6.0. Can you confirm that?

ykazakov commented 6 months ago

Thanks @reckart, the git command indeed produces a usable draft. Of course, the list of changes is too long (and a bit cryptic) for release notes. Generating the GitHub report, however, does not work as we did not use any PRs.

@matentzn doing a (maven) release should not take much time. Everything should be already configured. In principle, I could do a release from the current version on the GitHub in one day.

The main problem is to sort the remaining things out. Like the dependency mess caused by the outdated version of Protege (the old versions of Guava and log4j have security vulnerabilities, which you probably do not want to pull together with ELK). I was in a process of fixing these problems, but I had to interrupt. There is also some code in other branches which needs to be merged. I think there is also one snapshot-dependency which should be also released (or removed) for a maven release.

Regarding the version number, as mentioned above, being able to use all qualifiers gives more flexibility in choosing versions. I thought you wanted to differentiate from version 0.5.0, which the version 5.0.0 also does. However, if you prefer version 0.6.0, I am also fine with that.

How about the following proposal: I make a release of whatever is currently in git under a pre-release version like 0.6.0-rc1, without writing release notes. Would it work for you?

matentzn commented 6 months ago

How about the following proposal: I make a release of whatever is currently in git under a pre-release version like 0.6.0-rc1, without writing release notes. Would it work for you?

Ok! Thank you!

It would be great if we could get this soon. Can we also create a Github tag with the exact same release version so we can make diffs and comparisons in the future?

balhoff commented 6 months ago

@ykazakov if you can make a release that would be great! I had started looking at putting up a release under a different org, but if you are able to do it I think that would be even better.

balhoff commented 6 months ago

@ykazakov we have tested your 0.6-SNAPSHOT in Protege and ROBOT and it seems to fix the issues we had with 0.5. Thanks for making that release! Is it possible to put the same release on Maven Central as 0.6.0, or as an RC?

ykazakov commented 6 months ago

@balhoff Excellent! I decided to make a proper release (not RC). Currently fixing last problems. I hope I can publish to Maven Central this week. Will let you know!

matentzn commented 6 months ago

Hey @ykazakov just to let you know the OBO community its holding its breath waiting for your release :P :

  1. Protege (https://github.com/protegeproject/protege)
  2. ROBOT (https://github.com/ontodev/robot)
  3. ODK (https://github.com/INCATools/ontology-development-kit)

(and probably more projects). Since we have thoroughly tested last weeks SNAPSHOT, can you tell us:

  1. ETA of the Maven Central release
  2. Where there any possibly breaking changes between last weeks snapshot and the upcoming Maven Central release?
ykazakov commented 6 months ago

Hi @matentzn @balhoff I am very sorry for the delay. There have been a few last-minute issues that stopped me from making the release. The most significant one is that the plugins install via the Protege UI may only contain one jar. And ELK needs to use a shared library puli to provide proof-based explanations. This library cannot be provided just by the proof-explanation plugin since the reasoner should also work without this plugin. I have now (hopefully) fixed this problem by removing references to puli from the reasoning classes. Currently I finishing things up (updating the README etc), I hope I can do the release tomorrow, if nothing else pops up. I hope this answers your first question.

Regarding the breaking changes, I do not think there is any, but feel free to check how the latest snapshot is working for you. Note that the grouId has changed to io.github.liveontologies and the snapshot repository is now https://s01.oss.sonatype.org/content/repositories/snapshots. I am not keeping up with updating the wiki (will do that later after the release).

ykazakov commented 5 months ago

So, I just released ELK 0.6 to maven central. I hope it should be available soon (if not already). I will publish the artifacts on github later.

matentzn commented 5 months ago

Aweeesome! Thank you!

balhoff commented 5 months ago

Thanks @ykazakov!