Protege Pellet Reasoner with error but not HermiT

373 Views Asked by At

I used the HermiT Reasoner for some time but wanted to try the Pellet Reasoner. But Pellet throws an error on startup. The Log is not helpful:

  ERROR  22:28:49  An error occurred during reasoning: null.
java.lang.UnsupportedOperationException: null
    at com.clarkparsia.pellet.datatypes.types.text.RestrictedTextDatatype.applyConstrainingFacet(RestrictedTextDatatype.java:93) ~[na:na]
    at com.clarkparsia.pellet.datatypes.DatatypeReasonerImpl.getDataRange(DatatypeReasonerImpl.java:440) ~[na:na]
    at com.clarkparsia.pellet.datatypes.DatatypeReasonerImpl.containedIn(DatatypeReasonerImpl.java:303) ~[na:na]
    at com.clarkparsia.pellet.datatypes.DatatypeReasonerImpl.isSatisfiable(DatatypeReasonerImpl.java:704) ~[na:na]
    at com.clarkparsia.pellet.datatypes.DatatypeReasonerImpl.isSatisfiable(DatatypeReasonerImpl.java:665) ~[na:na]
    at org.mindswap.pellet.Literal.checkClash(Literal.java:339) ~[na:na]
    at org.mindswap.pellet.Literal.addType(Literal.java:261) ~[na:na]
    at org.mindswap.pellet.tableau.completion.CompletionStrategy.addType(CompletionStrategy.java:438) ~[na:na]
    at com.clarkparsia.pellet.rules.ContinuousRulesStrategy.addType(ContinuousRulesStrategy.java:95) ~[na:na]
    at org.mindswap.pellet.tableau.completion.rule.AllValuesRule.applyAllValues(AllValuesRule.java:175) ~[na:na]
    at org.mindswap.pellet.tableau.completion.rule.SimpleAllValuesRule.applyAllValues(SimpleAllValuesRule.java:68) ~[na:na]
    at org.mindswap.pellet.tableau.completion.CompletionStrategy.addType(CompletionStrategy.java:469) ~[na:na]
    at com.clarkparsia.pellet.rules.ContinuousRulesStrategy.addType(ContinuousRulesStrategy.java:95) ~[na:na]
    at org.mindswap.pellet.tableau.completion.rule.UnfoldingRule.applyUnfoldingRule(UnfoldingRule.java:98) ~[na:na]
    at org.mindswap.pellet.tableau.completion.rule.UnfoldingRule.apply(UnfoldingRule.java:61) ~[na:na]
    at org.mindswap.pellet.tableau.completion.rule.AbstractTableauRule.apply(AbstractTableauRule.java:64) ~[na:na]
    at com.clarkparsia.pellet.rules.ContinuousRulesStrategy.complete(ContinuousRulesStrategy.java:311) ~[na:na]
    at org.mindswap.pellet.ABox.isConsistent(ABox.java:1423) ~[na:na]
    at org.mindswap.pellet.ABox.isConsistent(ABox.java:1260) ~[na:na]
    at org.mindswap.pellet.KnowledgeBase.consistency(KnowledgeBase.java:1987) ~[na:na]
    at org.mindswap.pellet.KnowledgeBase.isConsistent(KnowledgeBase.java:2061) ~[na:na]
    at org.mindswap.pellet.KnowledgeBase.ensureConsistency(KnowledgeBase.java:2075) ~[na:na]
    at org.mindswap.pellet.KnowledgeBase.classify(KnowledgeBase.java:2083) ~[na:na]
    at com.clarkparsia.pellet.owlapiv3.PelletReasoner.precomputeInferences(PelletReasoner.java:1067) ~[na:na]
    at org.protege.editor.owl.model.inference.OWLReasonerManagerImpl$ClassificationRunner.precompute(OWLReasonerManagerImpl.java:447) ~[na:na]
    at org.protege.editor.owl.model.inference.OWLReasonerManagerImpl$ClassificationRunner.run(OWLReasonerManagerImpl.java:388) ~[na:na]
    at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_121]

I think I missed the point to just go back and redo all changes. So what can I do?

I don't Know why, but the reasoner does not like

PAT_GNAME only xsd:string[maxLength 30] 

but

PAT_FAMSTAND only xsd:string[maxLength 2]

is okay.

I tried to use

PAT_GNAME only string[maxLength 30]

as mentioned in the manchester syntax but protege does not like it.

So either protege or pellet does not like it.

Conclusion: I had a problem with my testdata, since i found it withe the help of your comments everything is working fine. Both PAT_GNAME and PAT_FAMSTAND work properly. Thanks!

0

There are 0 best solutions below