ELK error

80 views
Skip to first unread message

Lasitha Wattaladeniya

unread,
Oct 20, 2013, 3:15:12 AM10/20/13
to elk-reasone...@googlegroups.com
Hi folks, 

I was working in a Ontology project with a .owl file size of about 20MB and elk owl api. When the reasoner was initiated, it automatically stops with the following log message. 

"ERROR org.semanticweb.elk.reasoner.saturation.ClassExpressionSaturationFactory  - Some submitted saturation jobs were not processed!" 

I can't identify what is the error here. Please help

Yevgeny Kazakov

unread,
Oct 20, 2013, 3:52:15 AM10/20/13
to elk-reasone...@googlegroups.com
Dear Lasitha,

sorry if you have experienced problems with ELK. Do you receive this
error repeatedly or you have received it only once?
Please create a ticket using the link below and describe which steps
lead you to the problem, as well as which operation system / Java
version / OWL API version you use:

https://code.google.com/p/elk-reasoner/issues/list

We will probably also need your ontology in order to being able to
reproduce the problem ourselves.

Best regards,

Yevgeny
> --
> You received this message because you are subscribed to the Google Groups
> "elk-reasoner-discussion" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to elk-reasoner-disc...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.

Lasitha Wattaladeniya

unread,
Oct 20, 2013, 11:11:12 AM10/20/13
to elk-reasone...@googlegroups.com, yevgeny...@uni-ulm.de, ykaza...@gmail.com
Hello Yevgeny, 

The earlier problems was removed when I change the code line "reasoner.precomputeInferences(InferenceType.CLASS_ASSERTIONS,InferenceType.OBJECT_PROPERTY_ASSERTIONS);" to
"reasoner.precomputeInferences()". But now I'm getting an exception, 

Exception in thread "elk-reasoner-thread-2" 169021 [main] INFO  org.semanticweb.elk.reasoner.stages.LoggingStageExecutor  - Consistency Checking finished in 113827 ms
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
java.lang.OutOfMemoryError: GC overhead limit exceeded

This is the ontology that i'm working : https://github.com/SELCHI/TravelProfiling/blob/master/SelchiLocationOntology_New.owl, it is not populated in the given link.

My ontology in OWL 2 syntax, is it necessary it to be in OWL 2 EL format to use with ELK reasoner? if yes, how can I convert my existing ontology to that format ?

Yevgeny Kazakov

unread,
Oct 21, 2013, 1:35:48 AM10/21/13
to Lasitha Wattaladeniya, elk-reasone...@googlegroups.com
Dear Lasitha,

On Sun, Oct 20, 2013 at 11:11 PM, Lasitha Wattaladeniya
<wat...@gmail.com> wrote:
> Hello Yevgeny,
>
> The earlier problems was removed when I change the code line
> "reasoner.precomputeInferences(InferenceType.CLASS_ASSERTIONS,InferenceType.OBJECT_PROPERTY_ASSERTIONS);"

ELK does not currently support the computation of object property
assertions and should throw an UnsupportedOperationException exception
in this case. But it *does* support computation of class assertions.
Perhaps when both tasks are executed together, the first one gets
"killed" because of the exception in the second. Could you, please,
paste the full stack trace that you get in this case?

> to
> "reasoner.precomputeInferences()". But now I'm getting an exception,
>
> Exception in thread "elk-reasoner-thread-2" 169021 [main] INFO
> org.semanticweb.elk.reasoner.stages.LoggingStageExecutor - Consistency
> Checking finished in 113827 ms
> Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
> java.lang.OutOfMemoryError: GC overhead limit exceeded

Well, that is a different error, which probably means there is not
enough memory given to the jvm. How much memory you give?

Judging that it took 113 seconds to do consistency checking, I guess
you have quite a lot of assertions in your ontology. How many?

Yevgeny
>> > email to elk-reasoner-disc...@googlegroups.com.

Lasitha Wattaladeniya

unread,
Oct 21, 2013, 1:57:33 AM10/21/13
to elk-reasone...@googlegroups.com, Lasitha Wattaladeniya, yevgeny...@uni-ulm.de
Hello Yevgeny, 

I can say there are lot of assertions. We have populated the ontology as in wikitravel, with relations such as Region hasRegion Region (eg: Florida hasRegion Miami) , Region hasQualifier Qualifier (eg Miami hasQualifier Surfing), Region hasPlace Place (eg: Florida hasPlace Museum). The file has grown to a 12 MB file, we have many more to populate too. I have attached the dump.txt file which has the full output of the program. 

is it because of the size of the ontology i'm getting this java.lang.OutOfMemoryError ? 
dump.txt

Yevgeny Kazakov

unread,
Oct 21, 2013, 2:12:09 AM10/21/13
to Lasitha Wattaladeniya, elk-reasone...@googlegroups.com
On Mon, Oct 21, 2013 at 1:57 PM, Lasitha Wattaladeniya
<wat...@gmail.com> wrote:
> Hello Yevgeny,
>
> I can say there are lot of assertions. We have populated the ontology as in
> wikitravel, with relations such as Region hasRegion Region (eg: Florida
> hasRegion Miami) , Region hasQualifier Qualifier (eg Miami hasQualifier
> Surfing), Region hasPlace Place (eg: Florida hasPlace Museum). The file has
> grown to a 12 MB file, we have many more to populate too. I have attached
> the dump.txt file which has the full output of the program.
>
> is it because of the size of the ontology i'm getting this
> java.lang.OutOfMemoryError ?

It is either because of the number of assertions or the heap limit of
java. It could also mean that ELK derives lots of new assertions,
e.g., if you hasRegion is declared as transitive, it will compute the
whole transitive closure of region parts.

How do you run your (main) program? Which parameters you set to JVM,
e.g., -Xmx? How much main memory is available in your system? Can you
try to increase the heap size, e.g., set -Xmx8G -Xms1G (assuming you
have 8 GBytes of ram available)?

If you can share your dataset (assertions) with us, we can investigate
the problem better.

Yevgeny
>> >> > email to elk-reasoner-disc...@googlegroups.com.

Lasitha Wattaladeniya

unread,
Oct 21, 2013, 2:20:24 AM10/21/13
to elk-reasone...@googlegroups.com, Lasitha Wattaladeniya, yevgeny...@uni-ulm.de
Hello Yevgeny, 


These are the parameters I have set in intellij idea, I have 4GB of RAM. 

-Xms1300m
-Xmx2048m
-XX:MaxPermSize=350m
-XX:ReservedCodeCacheSize=96m

I'm thinking of moving to SPARQL queries since using inference model takes so much time :/. 

Yevgeny Kazakov

unread,
Oct 21, 2013, 3:47:08 AM10/21/13
to Lasitha Wattaladeniya, elk-reasone...@googlegroups.com
Dear Lasitha,

On Mon, Oct 21, 2013 at 2:20 PM, Lasitha Wattaladeniya
<wat...@gmail.com> wrote:
> Hello Yevgeny,
>
Are you sure this is the full ontology that you use? For me, it looks
it is 179KB large, you mention that your ontology is 20MB in size. I
can load and classify this ontology in Protege (with ELK) in
essentially no time.


>
> These are the parameters I have set in intellij idea, I have 4GB of RAM.
>
> -Xms1300m
> -Xmx2048m
> -XX:MaxPermSize=350m
> -XX:ReservedCodeCacheSize=96m

Does the same happen if you set, say, 3GB of RAM?

Yevgeny
>> >> >> > email to elk-reasoner-disc...@googlegroups.com.

Lasitha Wattaladeniya

unread,
Oct 21, 2013, 5:31:56 AM10/21/13
to Yevgeny Kazakov, elk-reasone...@googlegroups.com
On the previous message I have sent the correct ontology, check the size in github it says 19729.533 kb  I uploaded it to  https://dl.dropboxusercontent.com/u/8558459/SelchiLocationOntology_New.owl 


With Regards,

Lasitha Wattaladeniya
Department of Computer Science and Engineering
University of Moratuwa
Sri Lanka.

Lasitha Wattaladeniya

unread,
Oct 21, 2013, 6:00:39 AM10/21/13
to Yevgeny Kazakov, elk-reasone...@googlegroups.com
I forgot to answer, 

>
> These are the parameters I have set in intellij idea, I have 4GB of RAM.
>
> -Xms1300m
> -Xmx2048m
> -XX:MaxPermSize=350m
> -XX:ReservedCodeCacheSize=96m

Does the same happen if you set, say, 3GB of RAM?

Yep Same thing happens.  

Yevgeny Kazakov

unread,
Oct 21, 2013, 9:17:38 AM10/21/13
to elk-reasone...@googlegroups.com
Dear Lasitha,

I have now managed to try your ontology (the github indeed shows me
20MB size, but when I clone the repository, I get only small files,
but the dropbox link works fine).
As I suspected, the main problem is caused by the transitive object
properties (there are 6 such axioms, if I comment them out, the
ontology is processed very quickly). Essentially, ELK computes the
whole transitive closure of the location graph. I managed to process
your ontology with 5GB of RAM given to java (but 4GB may work as well
since ELK shows me that it uses about 3.5GB of memory). This was done
using the command line client - for OWL API one probably needs to
allocate a little bit more memory.
Anyway, your ontology looks interesting, and given the statistics I
obtained, I think ELK should be able to do it within reasonable memory
limits. We will look at your ontology more closely if we can optimize
the memory consumption. Meanwhile, I suggest you to try a machine with
more memory.

You said this is only a part of your dataset? What size is your full
dataset? Can you share it with us?

Best regards,

Yevgeny

On Mon, Oct 21, 2013 at 6:00 PM, Lasitha Wattaladeniya

Lasitha Wattaladeniya

unread,
Oct 21, 2013, 9:58:46 AM10/21/13
to elk-reasone...@googlegroups.com
Hello Yevgeny, 

Thank you very much for your support :). I will try out the things you highlighted and will let you know if anything goes wrong. 

You said this is only a part of your dataset? What size is your full
dataset? Can you share it with us?
This is the maximum ontology we have currently. We hope to update the ontology from the data extracted from social media  in real time (that's the application we are working on to build). Then it will grow with time.  
You received this message because you are subscribed to a topic in the Google Groups "elk-reasoner-discussion" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/elk-reasoner-discussion/DfXecBSC5iI/unsubscribe.
To unsubscribe from this group and all its topics, send an email to elk-reasoner-disc...@googlegroups.com.

Yevgeny Kazakov

unread,
Feb 28, 2014, 1:40:55 PM2/28/14
to elk-reasone...@googlegroups.com
Dear Lasitha,

FYI: we have recently implemented some optimizations in ELK for
handling of transitive object properties and object property chains,
and I have now tried your ontology, and it seems that ELK can process
it without problems. You can try the latest nightly build of ELK. See
here:
https://code.google.com/p/elk-reasoner/wiki/GettingElk
Let me know if any of the issues remained.

Best regards,

Yevgeny

On Mon, Oct 21, 2013 at 3:58 PM, Lasitha Wattaladeniya
Reply all
Reply to author
Forward
0 new messages