public void absorb() { _subLogger.fine("Absorption started"); _subLogger.fine(() -> "Tg.size was " + _termhash.size() + " _Tu.size was " + _tbox._Tu.size()); final Collection<TermDefinition> terms = _termhash.values(); // _termhash.clear(); FIXME : why is this doesn't work ? // _termhash = new HashMap<>(); _termhash = CollectionUtils.makeIdentityMap(); for (final TermDefinition def : terms) { _kb.getTimers().checkTimer("preprocessing"); for (final ATermAppl subClassAxiom : def.getSubClassAxioms()) { final ATermAppl c1 = (ATermAppl) subClassAxiom.getArgument(0); final ATermAppl c2 = (ATermAppl) subClassAxiom.getArgument(1); absorbSubClass(c1, c2, _tbox.getAxiomExplanation(subClassAxiom)); } for (final ATermAppl eqClassAxiom : def.getEqClassAxioms()) { final ATermAppl c1 = (ATermAppl) eqClassAxiom.getArgument(0); final ATermAppl c2 = (ATermAppl) eqClassAxiom.getArgument(1); absorbSubClass(c1, c2, _tbox.getAxiomExplanation(eqClassAxiom)); absorbSubClass(c2, c1, _tbox.getAxiomExplanation(eqClassAxiom)); } } _subLogger.fine(() -> "Tg.size is " + _termhash.size() + " _Tu.size is " + _tbox._Tu.size()); _subLogger.fine("Absorption finished"); }
public void absorb() { _subLogger.fine("Absorption started"); _subLogger.fine(() -> "Tg.size was " + _termhash.size() + " _Tu.size was " + _tbox._Tu.size()); final Collection<TermDefinition> terms = _termhash.values(); // _termhash.clear(); FIXME : why is this doesn't work ? // _termhash = new HashMap<>(); _termhash = CollectionUtils.makeIdentityMap(); for (final TermDefinition def : terms) { _kb.getTimers().checkTimer("preprocessing"); for (final ATermAppl subClassAxiom : def.getSubClassAxioms()) { final ATermAppl c1 = (ATermAppl) subClassAxiom.getArgument(0); final ATermAppl c2 = (ATermAppl) subClassAxiom.getArgument(1); absorbSubClass(c1, c2, _tbox.getAxiomExplanation(subClassAxiom)); } for (final ATermAppl eqClassAxiom : def.getEqClassAxioms()) { final ATermAppl c1 = (ATermAppl) eqClassAxiom.getArgument(0); final ATermAppl c2 = (ATermAppl) eqClassAxiom.getArgument(1); absorbSubClass(c1, c2, _tbox.getAxiomExplanation(eqClassAxiom)); absorbSubClass(c2, c1, _tbox.getAxiomExplanation(eqClassAxiom)); } } _subLogger.fine(() -> "Tg.size is " + _termhash.size() + " _Tu.size is " + _tbox._Tu.size()); _subLogger.fine("Absorption finished"); }