-
Notifications
You must be signed in to change notification settings - Fork 26
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
NullPointer while classifying the EL fragment of galen #38
Comments
Hi & thanks for reporting! Can you paste the log output of ELK? Are there any warning / error messages? Also, can you try to pinpoint which exactly axiom addition triggers the error? As I can see from the stack trace, it is triggered when an equivalence axiom is being added. I need to know which one. Ideally, could you provide a small example like the one here (with concrete ontology and class expressions) that triggers the problem in your case? |
Hi Nadeschda,
Do you by chance create such expressions? Although it is not a valid OWL 2 expression, OWL API allows to create expressions like this (probably to be backward compatible with the previous version of OWL). |
Hi Yevgeny, indeed this was the cause. Thank you for looking into it. Nadeschda |
Reopening this to avoid similar problems in the future. |
I am working with ELK (elk-distribution-0.4.3-owlapi-library) on the EL fragment of some version of galen. I added and subsequently removed several axioms that introduce fresh concept symbols as a shortcut for conjunctions built from subconcepts of that ontology. I get the following exception with the following stack trace:
Exception in thread "main" java.lang.NullPointerException
at org.semanticweb.elk.util.collections.ArrayHashMap.get(ArrayHashMap.java:203)
at org.semanticweb.elk.util.collections.chains.AbstractChain$1.next(AbstractChain.java:105)
at org.semanticweb.elk.util.collections.chains.AbstractChain$1.next(AbstractChain.java:101)
at org.semanticweb.elk.util.collections.chains.AbstractChain.find(AbstractChain.java:42)
at org.semanticweb.elk.reasoner.indexing.hierarchy.IndexedSubClassOfAxiom$ThisCompositionRule.removeFrom(IndexedSubClassOfAxiom.java:162)
at org.semanticweb.elk.reasoner.indexing.hierarchy.DifferentialIndex.add(DifferentialIndex.java:172)
at org.semanticweb.elk.reasoner.indexing.hierarchy.IndexedSubClassOfAxiom.updateOccurrenceNumbers(IndexedSubClassOfAxiom.java:85)
at org.semanticweb.elk.reasoner.indexing.hierarchy.MainAxiomIndexerVisitor$AxiomOccurrenceUpdateFilter.update(MainAxiomIndexerVisitor.java:384)
at org.semanticweb.elk.reasoner.indexing.hierarchy.MainAxiomIndexerVisitor$AxiomOccurrenceUpdateFilter.visit(MainAxiomIndexerVisitor.java:394)
at org.semanticweb.elk.reasoner.indexing.hierarchy.MainAxiomIndexerVisitor$AxiomOccurrenceUpdateFilter.visit(MainAxiomIndexerVisitor.java:373)
at org.semanticweb.elk.reasoner.indexing.hierarchy.MainAxiomIndexerVisitor.indexSubClassOfAxiom(MainAxiomIndexerVisitor.java:148)
at org.semanticweb.elk.reasoner.indexing.hierarchy.AbstractElkAxiomIndexerVisitor.visit(AbstractElkAxiomIndexerVisitor.java:166)
at org.semanticweb.elk.reasoner.indexing.hierarchy.AbstractElkAxiomIndexerVisitor.visit(AbstractElkAxiomIndexerVisitor.java:63)
at org.semanticweb.elk.owlapi.wrapper.ElkEquivalentClassesAxiomWrap.accept(ElkEquivalentClassesAxiomWrap.java:61)
at org.semanticweb.elk.owlapi.wrapper.ElkClassAxiomWrap.accept(ElkClassAxiomWrap.java:51)
at org.semanticweb.elk.reasoner.indexing.hierarchy.DelegatingElkAxiomVisitor.visit(DelegatingElkAxiomVisitor.java:103)
at org.semanticweb.elk.reasoner.indexing.hierarchy.DelegatingElkAxiomVisitor.visit(DelegatingElkAxiomVisitor.java:74)
at org.semanticweb.elk.owlapi.wrapper.ElkEquivalentClassesAxiomWrap.accept(ElkEquivalentClassesAxiomWrap.java:61)
at org.semanticweb.elk.owlapi.wrapper.ElkClassAxiomWrap.accept(ElkClassAxiomWrap.java:51)
at org.semanticweb.elk.reasoner.indexing.hierarchy.ChangeIndexingProcessor.visit(ChangeIndexingProcessor.java:57)
at org.semanticweb.elk.owlapi.OwlOntologyChangeProcessorVisitor.visit(OwlOntologyChangeProcessorVisitor.java:78)
at org.semanticweb.elk.owlapi.OwlOntologyChangeProcessorVisitor.visit(OwlOntologyChangeProcessorVisitor.java:39)
at org.semanticweb.owlapi.model.AddAxiom.accept(AddAxiom.java:76)
at org.semanticweb.elk.owlapi.OwlChangesLoader.load(OwlChangesLoader.java:90)
at org.semanticweb.elk.reasoner.stages.AxiomLoadingStage.executeStage(AxiomLoadingStage.java:121)
at org.semanticweb.elk.reasoner.stages.AbstractReasonerStage.execute(AbstractReasonerStage.java:165)
at org.semanticweb.elk.reasoner.stages.AxiomLoadingStage.execute(AxiomLoadingStage.java:45)
at org.semanticweb.elk.reasoner.stages.LoggingStageExecutor.execute(LoggingStageExecutor.java:53)
at org.semanticweb.elk.reasoner.stages.AbstractStageExecutor.complete(AbstractStageExecutor.java:55)
at org.semanticweb.elk.reasoner.stages.AbstractReasonerState.complete(AbstractReasonerState.java:145)
at org.semanticweb.elk.reasoner.stages.AbstractReasonerState.loadAxioms(AbstractReasonerState.java:306)
at org.semanticweb.elk.reasoner.stages.AbstractReasonerState.isInconsistent(AbstractReasonerState.java:284)
at org.semanticweb.elk.reasoner.stages.AbstractReasonerState.getTaxonomy(AbstractReasonerState.java:324)
at org.semanticweb.elk.owlapi.ElkReasoner.precomputeInferences(ElkReasoner.java:942)
at simplification.ConceptMinimizer.computeConjunctions(ConceptMinimizer.java:254)
Nadeschda
The text was updated successfully, but these errors were encountered: