[Pellet-users] pellet.exceptions.InternalReasonerException XXX is not in the definition order

Evren Sirin evren at clarkparsia.com
Wed Oct 24 17:23:51 UTC 2007


On 10/24/07 11:12 AM, Wolfgang May wrote:
> Hi, 
>
> On Wed, 17 Oct 2007, Evren Sirin wrote:
>
>   
>> Hi Wolfgang,
>>     
>
> [previous Thread: Pellet throws ConcurrentModificationException]
>
>   
>> There were two issues [1, 2] identified as a result of looking at the ontology
>> you sent and both are fixed in the SVN now. But there were also couple of
>> syntax problems in the ontology that goes unnoticed by the loader, does not
>> generate any warnings or errors but produces results different that the
>> intention.
>>     
>
> Thanks for the fix and the hints. We corrected everything and it now 
> works perfectly.
>
> With another example (Win-Move-Game), we now found an
> InternalReasonerException (it disappears when removing the 
> "owl:unionOf" line of the below code). 

That makes sense. The problem is DrawNode is not typed as a class and 
Pellet's heuristics fails to identify it as a class. Adding the type triple

:DrawNode a owl:Class .

would solve the problem. However, I don't get the intended inference you 
mention (:DrawNode2 owl:equivalentClass :DrawNode) and I don't see 
anything in the ontology that would cause this inference.

Cheers,
Evren

> Queries against the
> ontology are answered, but it crashesd when classifying:
>
> ******
> may at s2:~/teaching/SemWeb/RDF$ pellet -r -ifmt N3 -if axioms.n3
> Input file: file:/homewap1/may/teaching/SemWeb/RDF/axioms.n3
> org.mindswap.pellet.exceptions.InternalReasonerException: 
> foo://bla/DrawNode is not in the definition order
>         at 
> org.mindswap.pellet.taxonomy.CDOptimizedTaxonomyBuilder.addToldSubsumer(CDOptimizedTaxonomyBuilder.java:585)
>         at 
> org.mindswap.pellet.taxonomy.CDOptimizedTaxonomyBuilder.addToldRelation(CDOptimizedTaxonomyBuilder.java:511)
>         at 
> org.mindswap.pellet.taxonomy.CDOptimizedTaxonomyBuilder.computeToldInformation(CDOptimizedTaxonomyBuilder.java:244)
>         at 
> org.mindswap.pellet.taxonomy.CDOptimizedTaxonomyBuilder.prepare(CDOptimizedTaxonomyBuilder.java:197)
>         at 
> org.mindswap.pellet.taxonomy.CDOptimizedTaxonomyBuilder.classify(CDOptimizedTaxonomyBuilder.java:117)
>         at 
> org.mindswap.pellet.KnowledgeBase.classify(KnowledgeBase.java:1632)
>         at 
> org.mindswap.pellet.jena.OWLReasoner.classify(OWLReasoner.java:254)
>         at org.mindswap.pellet.Pellet.doClassify(Pellet.java:308)
>         at org.mindswap.pellet.Pellet.run(Pellet.java:461)
>         at org.mindswap.pellet.Pellet.main(Pellet.java:900)
> OWL Species: Full
> DL Expressivity: ALC
> Consistent: Yes
> Exception: org.mindswap.pellet.exceptions.InternalReasonerException: 
> foo://bla/DrawNode is not in the definition order
> *******
>
> ******* axioms.n3 ***********
> @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
> @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
> @prefix owl: <http://www.w3.org/2002/07/owl#>.
> @prefix owl11: <http://www.w3.org/2006/12/owl11#>.
> @prefix : <foo://bla/>.
>
> :edge rdfs:domain :Node; rdfs:range :Node.
> :Node a owl:Class; 
>   owl:equivalentClass [owl:unionOf ( :WinNode :LoseNode :DrawNode )].
> :WinNode a owl:Class; owl:intersectionOf ( :Node
>   [a owl:Restriction; owl:onProperty :edge; owl:someValuesFrom :LoseNode]).
> :LoseNode a owl:Class; owl:intersectionOf ( :Node
>   [a owl:Restriction; owl:onProperty :edge; owl:allValuesFrom :WinNode]).
> :DrawNode2  a owl:Class; owl:intersectionOf ( :Node
>   [a owl:Restriction; owl:onProperty :edge; owl:someValuesFrom :DrawNode2]
>    [a owl:Restriction; owl:onProperty :edge;
>     owl:allValuesFrom [ owl:unionOf (:DrawNode2 :WinNode)]]).
> *************
>
> (intention: to get :DrawNode2 owl:equivalentClass :DrawNode)
>
> Best,
> Wolfgang
>   



More information about the Pellet-users mailing list