[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