Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

InternalReasonerException: Nominal FunValue(..) is not found in the KB #37

Open
Locke opened this issue Jun 20, 2018 · 0 comments
Open
Labels
bug Developper confirm there is a bug in the product.

Comments

@Locke
Copy link
Contributor

Locke commented Jun 20, 2018

While debugging an inconsistency I stumbled upon an unrelated InternalReasonerException in an ontology which was generated by SearchMinimalBug.

Although that Exception doesn't occur in my real application / ontology I thought it might be worth sharing with you, as it looks like an internal bug that you might want to take a look at. Feel free to just ignore / close this issue report, as it is an arbitrary ontology. I'm using version 2.6.5-SNAPSHOT / 9c5928a.

You can find the ontology here (I flavored the original minimal ontology a bit with a random example so that it is easier to understand): https://gist.github.com/Locke/3b6e316a9efb963fb8d1da82cf539757#file-singleredcarownerinternalreasonerexception-owl

In the ontology is a class Owner. Its subclass SingleRedCarOwner should be someone who has one car, and the color of the car must be red: hasCar exactly 1 (Car and (hasColour value Red)).

When I call kb.realize(); on that ontology an InternalReasonerException is thrown:

openllet.core.exceptions.InternalReasonerException: Nominal FunValue(http://de.athalis.owl.App.main()#Red) is not found in the KB!
        at openllet.core.tableau.completion.rule.SomeValuesRule.applySomeValuesRule(SomeValuesRule.java:210)
        at openllet.core.tableau.completion.rule.SomeValuesRule.apply(SomeValuesRule.java:60)
        at openllet.core.tableau.completion.EmptySRIQStrategy.expand(EmptySRIQStrategy.java:300)
        at openllet.core.tableau.completion.EmptySRIQStrategy.complete(EmptySRIQStrategy.java:156)
        at openllet.core.boxes.abox.ABoxImpl.lambda$isConsistent$12(ABoxImpl.java:1417)
        at openllet.core.utils.Timers.execute(Timers.java:118)
        at openllet.core.boxes.abox.ABoxImpl.isConsistent(ABoxImpl.java:1417)
        at openllet.core.boxes.abox.ABoxImpl.isSatisfiable(ABoxImpl.java:621)
        at openllet.core.taxonomy.CDOptimizedTaxonomyBuilder.checkSatisfiability(CDOptimizedTaxonomyBuilder.java:757)
        at openllet.core.taxonomy.CDOptimizedTaxonomyBuilder.classify(CDOptimizedTaxonomyBuilder.java:804)
        at openllet.core.taxonomy.CDOptimizedTaxonomyBuilder.classify(CDOptimizedTaxonomyBuilder.java:266)
        at openllet.core.taxonomy.CDOptimizedTaxonomyBuilder.classify(CDOptimizedTaxonomyBuilder.java:211)
        at openllet.core.KnowledgeBaseImpl.classify(KnowledgeBaseImpl.java:1919)
        at openllet.core.KnowledgeBaseImplFullSync.classify(KnowledgeBaseImplFullSync.java:385)
        at openllet.core.KnowledgeBaseImpl.realize(KnowledgeBaseImpl.java:1938)
        at openllet.core.KnowledgeBaseImplFullSync.realize(KnowledgeBaseImplFullSync.java:391)

As a workaround I added another definition: hasCar only (Car and (hasColour value Red)), see https://gist.github.com/Locke/3b6e316a9efb963fb8d1da82cf539757#file-singleredcarowner-owl

With this additional definition present the InternalReasonerException isn't thrown. That seems to support my theory of an internal bug.

@Galigator Galigator added the bug Developper confirm there is a bug in the product. label Jul 3, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Developper confirm there is a bug in the product.
Projects
None yet
Development

No branches or pull requests

2 participants