this.model = ModelFactory.createOntologyModel(PelletReasonerFactory.THE_SPEC);
try {
InputStream in = new FileInputStream(this.path_to_owl); // or any windows path
this.model.read(in, null);
in.close();
} catch (Exception e) {
print_error("Error loading the ontology");
print_error(e.getMessage());
System.exit(1);
}
On 1 Sep 2015 12:02 am, "Fritz Lekschas" <f.lek...@gmail.com> wrote:
>
> I am building a small OWL parser using Jena. To be able to work with Jena 2.13 I got the most current version of Pellet (2.4) from GitHub. Reasoning over the pizza ontology works fine but other ontologies like cell ontology, experimental factor ontology or even the tiny little relations ontology (oborel or ro) never finish. I've tested Pellet in Protege but there doesn't even pop up the dialog box with the progress bar for any of the named ontologies (except the pizza ontology works).
>
> Does anybody know how to debug Pellet to figure out what's really going on?
>
How much memory have you assigned to the heap?
An easy way to profile the reasoning is using jvisualvm, included in all recent JDKs. It will also report on GC time and used memory.
Cheers,
Ignazio
> Thanks for your help.
>
> Below is the code for loading an ontology:
>
> this.model = ModelFactory.createOntologyModel(PelletReasonerFactory.THE_SPEC);
>
> try {
> InputStream in = new FileInputStream(this.path_to_owl); // or any windows path
> this.model.read(in, null);
> in.close();
> } catch (Exception e) {
> print_error("Error loading the ontology");
> print_error(e.getMessage());
> System.exit(1);
> }
>
> --
> You received this message because you are subscribed to the Google Groups "Pellet Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to pellet-users...@googlegroups.com.
> To post to this group, send email to pellet...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/pellet-users/d603f869-8081-4502-9c3a-45cb766e75ab%40googlegroups.com.
On 1 September 2015 at 19:10, Fritz Lekschas <f.lek...@gmail.com> wrote:
> To check if it's an actual problem with Pellet 2.4 I've tried reasoning
> using Pellet 2.3.1 and it also never ends. Sometimes it runs into memory
> issues, no matter how much memory I give to Java and sometimes it just runs
> forever. (Again the ontology I am talking about comes at only 360 KB and
> other reasoners take 1-10s to finish reasoning!)
That's a really interesting ontology, then :-)
Pellet 2.4 (I assume you're referring to the ignazio1977 branch) has
been used with bigger ontologies than that, so its contents must be
hitting some expensive corner cases.
I've tried looking for an OBOrel version online but could not locate
one - do you have a link to the exact version you're using?
Cheers,
Ignazio
Am Dienstag, 1. September 2015 14:24:09 UTC-4 schrieb Ignazio Palmisano:On 1 September 2015 at 19:10, Fritz Lekschas <f.lek...@gmail.com> wrote:
> To check if it's an actual problem with Pellet 2.4 I've tried reasoning
> using Pellet 2.3.1 and it also never ends. Sometimes it runs into memory
> issues, no matter how much memory I give to Java and sometimes it just runs
> forever. (Again the ontology I am talking about comes at only 360 KB and
> other reasoners take 1-10s to finish reasoning!)
That's a really interesting ontology, then :-)
Pellet 2.4 (I assume you're referring to the ignazio1977 branch) has
been used with bigger ontologies than that, so its contents must be
hitting some expensive corner cases.
I've tried looking for an OBOrel version online but could not locate
one - do you have a link to the exact version you're using?
Cheers,
IgnazioThanks for your help! Yes I am basically using your branch. ;-)The following ontologies "reason forever" (until I kill the process), they are sorted by size:Cell Ontology (CL): https://github.com/obophenotype/cell-ontology/blob/master/cl.owl
Error logged
java.lang.StackOverflowError
at shared.SharedObjectFactory.build(SharedObjectFactory.java:224)
at aterm.pure.PureFactory.makeAppl(PureFactory.java:191)
at aterm.pure.PureFactory.makeAppl(PureFactory.java:185)
at aterm.pure.PureFactory.makeAppl(PureFactory.java:223)
at org.mindswap.pellet.utils.ATermUtils.makeAllValues(ATermUtils.java:486)
at org.mindswap.pellet.tableau.blocking.Block2.isBlockedByChain(Block2.java:63)
at org.mindswap.pellet.tableau.blocking.Block2.isBlocked(Block2.java:50)
at org.mindswap.pellet.tableau.blocking.EqualityBlocking.isDirectlyBlockedBy(EqualityBlocking.java:56)
at org.mindswap.pellet.tableau.blocking.Blocking.isDirectlyBlockedByDescendant(Blocking.java:130)
at org.mindswap.pellet.tableau.blocking.Blocking.isDirectlyBlockedByDescendant(Blocking.java:142)
... (line above is repeated a couple of time)