Skip to content

Incorrect implementation of OWLAxiomKeywordCostsEstimator.getNumOccurrences(ManchesterOWLSyntax keyword, OWLLogicalAxiom axiom) for Syntax - based Repair Preference Order

Ontology Repairs whose measure is computed according to a Syntax-based (more precisely a Manchester-Syntax-keyword-based) Preference Function does not correctly count the number of keyword occurrences in OWLAxioms.

E.g. The method *getNumOccurrences *in org.exquisite.core.costestimators.OWLAxiomKeywordCostsEstimator counting the occurrences of keywords in an OWLAxiom like

Landing_Strip SubsetOf Airport

correctly counts 1 for SubsetOf but incorrectly counts 1 for and and 1 for or since they are simple substrings in the two classes.

A correct implementation of this method must traverse the OWLAxiom and analyse it's parts it is composed of.