[Pellet-users] Small ontology kill Pellet (OutOfMemory)

Evren Sirin evren at clarkparsia.com
Mon Feb 4 15:35:40 UTC 2008


There are couple of different things going wrong with these ontologies. 
Although these ontologies are quite small in size, the combination of 
constructs used (rules, enumerations, inverses, cardinality 
restrictions) is quite hard to handle for the general case. The modeling 
in the ontology (specifically excessive use of union classes) makes 
things even more complicated. Here are some more concrete suggestions:

1) It is pretty much impossible to handle the rules in bundle-rules.owl 
using Pellet 1.5.1. The rules support in Pellet 1.5.1 is quite 
simplistic and rather non-optimized. We have been working on 
improvements to the rules support which would probably help. Until the 
improved version of rules support is ready to use, the only suggestion  
I can give is to avoid reasoning with those rules using Pellet.

2) Even without the rules reasoning with the other two ontologies is 
slow and requires a lot of memory. You need to increase the maximum Java 
memory to at least 1GB but I would suggest something more (I used 
-Xmx1536m). Let me mention that some recent improvements we have done 
recently reduces memory requirements considerably (setting the max 
memory to 0.3GB seems to be enough in that version). With Pellet 1.5.1 
and 1.5GB memory, I get 30sec classification on my machine.

3) Changing the modeling to use less number of unions would improve the 
overall performance and I think would be better modeling anyway. Getting 
rid of enumerations (owl:oneOf) would also improve the reasoning time 
but might cause you to lose some inferences. I found out that commenting 
out even one enumeration (TelephonyAccessType owl:oneOf (isdn_telephony 
pstn_telephony)) has a significant impact. Removing that just one axiom 
reduced the classification time to 18sec.

4) Realization can only be completed if you set the configuration option 
REALIZE_INDIVIDUAL_AT_A_TIME to false. You can do it either through the 
pellet.properties file or in Java code modifying the corresponding field 
in PelletOptions class. After this change, realization took 17sec on my 
machine.

Hope this helps,
Evren


On 1/22/08 1:56 PM, Serge Libotte wrote:
> Dears,
>
> We've modeled an ontology and now it cannot be parsed by Pellet anymore when
> it's time to classify (from Protégé or from Java using OWLAPI)
> I could suspect the ontology to be the cause of the problem. Probably there
> is an undetected wrong assertion in it that makes Pellet going crazy?
>
> The owls are attached to this post so if someone is kind enough to take a
> look...
> The top owl is bundle-rules.owl but only classifying bundle.owl is enough to
> get the error.
>
> Regards,
>
> Serge
>   
> ------------------------------------------------------------------------
>
> _______________________________________________
> Pellet-users mailing list
> Pellet-users at lists.owldl.com
> http://lists.owldl.com/mailman/listinfo/pellet-users
> _______________________________________________
>
> Sponsored by Clark & Parsia, LLC http://clarkparsia.com/



More information about the Pellet-users mailing list