owlprotegepellet

How do I fix this AbstractMethodError when I try to get Pellet working with OWL API?


I'm getting this error:

Exception in thread "main" java.lang.AbstractMethodError
at org.semanticweb.owlapi.OWLAPIServiceLoaderModule.lambda$loadFactories$1(OWLAPIServiceLoaderModule.java:97)
at java.util.ArrayList.forEach(Unknown Source)
at org.semanticweb.owlapi.OWLAPIServiceLoaderModule.loadFactories(OWLAPIServiceLoaderModule.java:95)
at org.semanticweb.owlapi.OWLAPIServiceLoaderModule.configure(OWLAPIServiceLoaderModule.java:52)
at com.google.inject.AbstractModule.configure(AbstractModule.java:62)
at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:340)
at com.google.inject.spi.Elements.getElements(Elements.java:110)
at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:138)
at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:104)
at com.google.inject.Guice.createInjector(Guice.java:99)
at com.google.inject.Guice.createInjector(Guice.java:73)
at com.google.inject.Guice.createInjector(Guice.java:62)
at org.semanticweb.owlapi.apibinding.OWLManager.createInjector(OWLManager.java:104)
at org.semanticweb.owlapi.apibinding.OWLManager.getOWLDataFactory(OWLManager.java:63)
at OntController.<init>(OntController.java:86)
at Driver.main(Driver.java:9)

whenever I try to use OWLManager, i.e. df = OWLManager.getOWLDataFactory(); or manager = OWLManager.createOWLOntologyManager();.

I've noticed that this error started appearing ever since I imported Pellet via maven. This is the dependency tag in my pom.xml:

<dependency>
    <groupId>com.github.ansell.pellet</groupId>
    <artifactId>pellet-owlapiv3</artifactId>
    <version>2.3.3</version>
</dependency>

Is there a way to get Pellet and the latest version of OWL API working? I'm not sure how to resolve this error.


Solution

  • You are running Pellet with OWLAPI 5. Pellet has no releases compatible with owlapi 5, you need to use the latest Openllet release.