public void fixResolvedClasses() { for (Concept con : model.getConcepts()) { if (con.getResolvedAs() != Concept.Resolution.NONE) { if (con.getChosenProperties().size() > 0) { // This is very likely an extension/restriction of the original concept, so we need to // redefine it String extPack = model.getDefaultPackage() + "." + con.getPackage(); model.removeConcept(con); Concept original = con.clone(); original.getSubConcepts().clear(); original.getSubConcepts().add(con); con.getSuperConcepts().clear(); con.addSuperConcept(original); con.setChosenSuperConcept(original); con.setPackage(extPack); URI xuri = NameUtils.packageToNamespaceURI(extPack); con.setNamespace(xuri.toASCIIString()); con.setIri(IRI.create(NameUtils.separatingName(xuri.toASCIIString()) + con.getName())); model.addConcept(con); model.addConcept(original); } } } }