owlcs / owlapi

OWL API main repository
813 stars 314 forks source link

getDescriptionLogicName does not return DL names #1144

Open ckindermann opened 3 weeks ago

ckindermann commented 3 weeks ago

Hi,

the implementation of getDesriptionLogicName currently does not return DL names. Instead, a concatenation of the set of constructors used in the ontology is returned (see here in version 4 and here in version 5).

For example, the current output on http://purl.obolibrary.org/obo/ro.owl is RRESTRCUCINTUNIVRESTREROIF(D).

Using

DLExpressivityChecker checker = new DLExpressivityChecker(onts);
Collection<Languages> languages = checker.expressibleInLanguages();

as suggested in a workaround, the language can be determined to be ALCROIFD. A downside of this workaround is that the string representation of Languages does not follow conventions such as placing D in brackets.

Also, http://purl.obolibrary.org/obo/ro.owl contains transitive property axioms. So, ALCROIFD is not correct. It should be (at least) SROIF(D).