[Pellet-users] SWRL rule reasoning problems

Evren Sirin evren at clarkparsia.com
Wed Jun 4 17:54:16 UTC 2008


On 6/3/08 12:16 PM, Andrew McKnight wrote:
> I have a rather complex SWRL rule that I'm trying to get Pellet to use 
> in it's reasoning. I believe it is DL-Safe, because I add individuals 
> for each class involved in the rule. Here's the rule
>
> Person(?a) ^
> hasWeight(?a,?e)
> isPerformedOnBy(?a,?b) ^
> Procedure(?b) ^
> implements(?b,?c) ^
> WeightMeasuringProtocol(?c) ^
> generates(?b,?d) ^
> Datum(?d) ^
> hasValue(?d,?f)
> -->
> hasKG(?e,?f)
>
> When I add this rule to my list of axioms, it has an effect but it 
> doesn't work correctly. When I have one set of facts that satisfy this 
> rule and then ask for the relationships of my Weight individual (using 
> reasoner.getDataPropertyRelatio
> nships(weightInd)) I get { }. I should get { hasKG=["50"^^float] }. 
> And when I have two sets of facts that should satisfy the rule, I get 
> a java.lang.OutOfMemoryError: Java heap space exception. I use no 
> other individuals. I've tried a few combinations, but my current 
> Pellet options are:
>
> PelletOptions.DL_SAFE_RULES = true;
> PelletOptions.IGNORE_UNSUPPORTED_AXIOMS = false;
> PelletOptions.USE_UNIQUE_NAME_ASSUMPTION = true;

Try the option

PelletOptions.USE_CONTINUOUS_RULES = true;

It works faster and has less memory requirements.

>
> Any ideas about what could be going wrong? Does Pellet support all 
> DL-safe rules? Could it have something to do with hasValue and hasKG 
> being data properties? Any help would be greatly appreciated.

Cheers,
Evren

> ------------------------------------------------------------------------
>
> _______________________________________________
> 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