bdionne / pellet

Pellet is an OWL 2 reasoner in Java; open source (AGPL) and commercially licensed, commercial support available.
http://clarkparsia.com/pellet
Other
2 stars 1 forks source link

Pellet Plugin for Protege 5.5.0 #47

Open carmenchui opened 5 years ago

carmenchui commented 5 years ago

Hi Bob,

I've been looking around to see if there are any updated versions of the Pellet plugin for Protege and noticed the changes you've made to the NCIEVS pellet repo.

I was wondering if there was, at some point, an updated pellet plugin / .jar file that could work with OWLAPI 4.5.x in Protege 5.x? I believe the last official version from stardog-union was 2.2.0 (https://github.com/stardog-union/pellet).

I think the 2.4.2 version in your repo (https://github.com/bdionne/pellet/tree/master/protege/plugin) only works for OWLAPI 5 or higher, as I'm getting the following error in Protege when trying to load it:

2019-06-12 00:55:08.401 [FelixStartLevel] ERROR FrameworkSlf4jLogger Error starting file:/Applications/Protégé.app/Contents/Java/plugins/pellet-protege-2.4.2.jar org.osgi.framework.BundleException: Unable to resolve com.clarkparsia.pellet.protege [46](R 46.0): missing requirement [com.clarkparsia.pellet.protege [46](R 46.0)] osgi.wiring.package; (&(osgi.wiring.package=org.semanticweb.owlapi.apibinding)(version>=5.1.0)(!(version>=6.0.0))) Unresolved requirements: [[com.clarkparsia.pellet.protege [46](R 46.0)] osgi.wiring.package; (&(osgi.wiring.package=org.semanticweb.owlapi.apibinding)(version>=5.1.0)(!(version>=6.0.0)))] at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4111) ~[org.apache.felix.main.jar:na] at org.apache.felix.framework.Felix.startBundle(Felix.java:2117) ~[org.apache.felix.main.jar:na] at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1371) ~[org.apache.felix.main.jar:na] at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308) [org.apache.felix.main.jar:na] at java.lang.Thread.run(Thread.java:745) [na:1.8.0_121]

This appears to be a similar error for openllet since Protege continues to use OWLAPI 4.x (https://github.com/Galigator/openllet/issues/18).

For reference, I am running

Thanks for your time, Carmen

bdionne commented 5 years ago

Hi @carmenchui, we were using owlapi 4.2.8 before, and had made some changes to it in order to support our work at NCI. At that time we were using a separate server for pellet and needed to make changes to reduce the chattiness of the communication. It wasn't performant otherwise. Also there were a lot of, what I thought were pointless read locks that were contributing to the GUI hanging, so we changed those also.

The current pellet-protege plugin we're using requires owlapi 5.1.6. We've changed course and have abandoned a pellet server. We run pellet in incremental mode within the protege client. It seems to work ok, our content requires at least an 8G machine, which is pretty common these days. We are experiencing some hangs in classification, which we are currently debugging.

In any event it shouldn't be too hard to get a version running with owlapi 4.5.x. Happy to discuss on a call sometime if that helps you.

Cheers,

Bob

carmenchui commented 5 years ago

Hi Bob,

Thanks for the reply!

I was mostly curious about your development work with Pellet when I came across your GitHub repo since I've noticed that newer versions of Protege no longer ships with Pellet. I also had noticed that Stardog Union no longer provides any publicly available updates for the reasoner, so I was wondering if you had made improvements on the reasoner for OWL API 4.5.x.

The project I'm working on deals with loading OWL files from the Financial Industry Business Ontology (FIBO) that contain numerous imports with many individuals and classes -- what I noticed was that Pellet performs quite well at doing an initial reasoning with generating the inferred hierarchy in contrast to HermiT (which hangs/takes too long) and FaCT++ (won't work due to custom datatypes in FIBO). We're only checking the consistency of the ontology by checking the inferred hierarchy and are not doing any other reasoning tasks, so we can stick with version 2.2.0 of Pellet for now... and see what Protege v6 brings.

Regards, Carmen