Search code examples
ontologyowl-apireasoning

How to determine least common subsumers using the owlapi


Is there an existing way to determine least common subsumers using the OWLAPI?

The least common subsumer of concept descriptions C_1, ...,C_n is the most specific concept description C expressible in the given DL language that subsumes C_1, ..., C_n.


Solution

  • There is no function specifically doing this, but it's possible to normalise a class expression, so a simple algorithm for getting to the least common subsumer (or approximation thereof) is to create a union and normalise it.

    A more sophisticated approach would include a reasoner (e.g., to simplify complex class expressions if it turns out some of them are equivalent between them or if there's a class that already subsumes all the others in the expression).