[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