robot icon indicating copy to clipboard operation
robot copied to clipboard

Consider adding `--reasoner elk5`

Open jamesaoverton opened this issue 5 years ago • 7 comments

There are some compatibility problems with ELK 0.5 that I don't fully understand. What about packaging both ELK 0.4.x and ELK 0.5.x in ROBOT? We would keep ELK 0.4.x as --reasoner elk and add ELK 0.5.x as --reasoner elk5.

The JARs might just conflict too much, but I think we should try.

jamesaoverton avatar Mar 26 '20 21:03 jamesaoverton

What kind of compatibility issues are you facing? I would love elk5 as a reasoner alongside elk, but I would be a bit surprised if you could make it work. All the man classes like ElkReasonerFactory and so on I believe still have the same path..

matentzn avatar Mar 26 '20 22:03 matentzn

We could of course have two ODK docker containers, one with a branch of robot that is built using Elk5. Of course this is not optimal for many people, but the groups that need to be running tests (uberon, go, ...) are already using odk.

I realize I am the blocker here, I added many high level constraints in various ontologies a while ago, these introduced cryptic incoherencies that are only resolved using Elk5, rolling out Elk5 universally now would cause a lot of problems...

cmungall avatar Mar 26 '20 22:03 cmungall

I'm not sure if it's possible, but I think it's worth spending an hour to try this out.

jamesaoverton avatar Mar 26 '20 22:03 jamesaoverton

I think we probably need to publish a shaded version that renames the ELK packages to keep them separate.

balhoff avatar Mar 26 '20 22:03 balhoff

As a last resort, Chris suggestion is also ok. It would allow us to switch between elk and elk5 without changing our often quite complex makefiles, so it has some benefits as well. I would still like to see James little experiment first. Elk5 Parameter would be nice.

matentzn avatar Mar 26 '20 22:03 matentzn

I am wondering if its time now.. The "cryptic incoherencies" for GO and Uberon have been resolved.. Unfortunately we still do not know if there is soon going to be an ELK 0.6 with even more advanced features.

What are the feeling all around - maybe create for now a branch with ELK 0.5, add it as a robot-dev command to ODK, play with it for 6 months and then discontinuing our support for ELK 0.43 altogether?

matentzn avatar May 07 '22 05:05 matentzn

You can check out the branch and run:

mvn clean package
bin/robot reason -I http://purl.obolibrary.org/obo/go/extensions/go-plus.owl --reasoner elk -o test.owl

To see whats up. It looks safe, but will require serious testing obviously.

matentzn avatar May 07 '22 05:05 matentzn