[Pellet-users] PRONTO: usage in applications

Pavel Klinov pklinov at clarkparsia.com
Thu May 15 15:32:27 UTC 2008


Rob,

It seems to me that the problem is in the URIs. More precisely, classes 
mentioned in your probabilistic part can't be found in the classical 
part (due to wrong URIs) which automatically makes all of them 
unsatisfiable (from the point of view of Pellet).
Unfortunately, the released version of Pronto doesn't check that. I 
noted that problem a while ago and the new version (being prepared) will 
check and report any problems like that on loading.

To verify my conjecture you can stop the debugger after loading the PKB 
and see if  classical KB (available through: 
pkb.getPTBox().getClassicalKnowledgeBase()) contains classes in your 
conditional constraints (calling isSatisfiable() should be enough). Let 
me know if I'm wrong.

Hope that helps,
--pavel

robocop wrote:
> Hi all,
> I'm trying to use pronto in a sample java application, so I tried to 
> redo the examples in the Pronto release package through java code 
> (below) but I always got ontology inconsistency:
> Exception in thread "main" 
> com.clarkparsia.pronto.exceptions.ProbabilisticInconsistencyException: 
> Ontology is generally inconsistent
>         at 
> com.clarkparsia.pronto.ProntoLexicographicReasoner.tightLexicographicEntailment(ProntoLexicographicReasoner.java:270)
>         at 
> com.clarkparsia.pronto.ProntoLexicographicReasoner.subsumptionEntailment(ProntoLexicographicReasoner.java:126)
>         at it.robocop.pronto.Demo.main(Demo.java:51)
>
> The ontologies (classical and probabilistic) are the same one of the 
> examples (I have only changed the uri reference in the owl:import due to 
> the path change). Clearly, the example batch fine work fine and I got 
> the results. Why?
>
> I report the important code in my main:
> ProbKnowledgeBase pkb = new KBStandaloneLoader().load(FILE_PREFIX + 
> "cancer_cc.owl");
> ProntoLexicographicReasoner reasoner = new 
> ProntoLexicographicReasoner(new PSATSolverImpl());
>
> reasoner.subsumptionEntailment(pkb, ATermUtils.makeTermAppl(URI_PREFIX + 
> "AshkenaziJewishWoman"), ATermUtils.makeTermAppl(URI_PREFIX + 
> "WomanWithBRCInLongTerm"));
> System.out.println(reasoner.explainLastEntailment());
>
> reasoner.membershipEntailment(pkb, ATermUtils.makeTermAppl(URI_PREFIX + 
> "Helen"), ATermUtils.makeTermAppl(URI_PREFIX + 
> "WomanUnderTripleIncreasedBRCRisk"));
> System.out.println(reasoner.explainLastEntailment());
>
> Any help?
> Rob
> _______________________________________________
> 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