Open jamesaoverton opened 4 years ago
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..
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...
I'm not sure if it's possible, but I think it's worth spending an hour to try this out.
I think we probably need to publish a shaded version that renames the ELK packages to keep them separate.
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.
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?
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.
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.