Running different reasoners and changing memory allocated to reasoner

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Running different reasoners and changing memory allocated to reasoner

booble
I'm trying to reason on large ontologies (Galen, Anatomy, Gene Ontology (and the Yeast subset)) and keep running into stack overflow and heap issues. Is there any way to alter both values to allocate more memories for the reasoning task?

Additionally, is there any plans to add the ELK reasoner to owlready2?

Many thanks.
Reply | Threaded
Open this post in threaded view
|

Re: Running different reasoners and changing memory allocated to reasoner

Jiba
Administrator
Hello,

To increase the Java memory, you can try the following:

import owlready2.reasoning
owlready2.reasoning.JAVA_MEMORY = 2000000 # You can try even higher numbers


You need to find the appropriate number, depending on your ontology and the available memory.

You may also run the reasoner while keeping temporary files, with sync_reasoner(keep_tmp_file = 1), and then copy the Java command line to experiment various memory options like -Xmx, -XX:+AggressiveHeap, etc.

I've looked rapidly to Elk. For supporting it, the main problem is that it only support OWL functional syntax, while Owlready2 cannot write that format. Possibly, Elk could be patched to support other input.output format...

Jiba