[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