@Override public boolean isSubClassOf(final ATermAppl c1, final ATermAppl c2) { if (!_doExplanation) { final Bool isKnownSubClass = isKnownSubClassOf(c1, c2); if (isKnownSubClass.isKnown()) return isKnownSubClass.isTrue(); } if (_logger.isLoggable(Level.FINE)) { final long count = _kb.getTimers().getTimer("subClassSat").map(t -> t.getCount()).orElse(0L); _logger.fine(count + ") Checking subclass [" + ATermUtils.toString(c1) + " " + ATermUtils.toString(c2) + "]"); } final ATermAppl notC2 = ATermUtils.negate(c2); final ATermAppl c = ATermUtils.makeAnd(c1, notC2); final Optional<Timer> timer = _kb.getTimers().startTimer("subClassSat"); final boolean sub = !isSatisfiable(c, false); timer.ifPresent(t -> t.stop()); _logger.fine(() -> " Result: " + sub + timer.map(t -> " (" + t.getLast() + "ms)").orElse("")); return sub; }
@Override public boolean isSubClassOf(final ATermAppl c1, final ATermAppl c2) { if (!_doExplanation) { final Bool isKnownSubClass = isKnownSubClassOf(c1, c2); if (isKnownSubClass.isKnown()) return isKnownSubClass.isTrue(); } if (_logger.isLoggable(Level.FINE)) { final long count = _kb.getTimers().getTimer("subClassSat").map(t -> t.getCount()).orElse(0L); _logger.fine(count + ") Checking subclass [" + ATermUtils.toString(c1) + " " + ATermUtils.toString(c2) + "]"); } final ATermAppl notC2 = ATermUtils.negate(c2); final ATermAppl c = ATermUtils.makeAnd(c1, notC2); final Optional<Timer> timer = _kb.getTimers().startTimer("subClassSat"); final boolean sub = !isSatisfiable(c, false); timer.ifPresent(t -> t.stop()); _logger.fine(() -> " Result: " + sub + timer.map(t -> " (" + t.getLast() + "ms)").orElse("")); return sub; }
private void printStatistics() { if (!_verbose) { return; } _timers.getTimer("explain")// .ifPresent(timer -> { verbose("Subclass relations : " + timer.getCount()); verbose("Multiple explanations: " + _multipleExpCount); verbose("Single explanation "); verbose(" with multiple axioms: " + _multiAxiomExpCount); verbose("Error explaining : " + _errorExpCount); verbose("Average time : " + timer.getAverage() + "ms"); }); }
assertEquals(0, classifyTimer.getCount()); assertEquals(0, realizeTimer.getCount()); assertFalse(kb.isClassified()); assertFalse(kb.isRealized()); assertEquals(1, classifyTimer.getCount()); assertEquals(1, realizeTimer.getCount()); assertEquals(1, classifyTimer.getCount()); assertEquals(1, realizeTimer.getCount()); assertEquals(2, realizeTimer.getCount()); assertEquals(2, classifyTimer.getCount()); assertEquals(3, realizeTimer.getCount());
final long prevCount = graph.getKB().getTimers().getTimer(ABox.IS_INC_CONSISTENT).map(timer -> timer.getCount()).orElse(0L); assertTrue(OpenlletOptions.USE_THREADED_KERNEL || prevCount < graph.getKB().getTimers().getTimer(ABox.IS_INC_CONSISTENT).get().getCount()); assertEquals(0L, (long) graph.getKB().getTimers().getTimer(ABox.IS_INC_CONSISTENT).map(t -> t.getCount()).orElse(0L));
assertTrue(OpenlletOptions.USE_THREADED_KERNEL || graph.getKB().getTimers().getTimer(ABox.IS_INC_CONSISTENT).get().getCount() > 0); assertIteratorValues(model.listIndividuals(), new Resource[] { i1, i2, i3, i4 }); assertTrue(OpenlletOptions.USE_THREADED_KERNEL || graph.getKB().getTimers().getTimer(ABox.IS_INC_CONSISTENT).get().getCount() == 0); assertTrue(OpenlletOptions.USE_THREADED_KERNEL || graph.getKB().getTimers().getTimer(ABox.IS_INC_CONSISTENT).get().getCount() > 0); assertTrue(OpenlletOptions.USE_THREADED_KERNEL || graph.getKB().getTimers().getTimer(ABox.IS_INC_CONSISTENT).get().getCount() == 0); assertTrue(OpenlletOptions.USE_THREADED_KERNEL || graph.getKB().getTimers().getTimer(ABox.IS_INC_CONSISTENT).get().getCount() == 0); assertTrue(OpenlletOptions.USE_THREADED_KERNEL || graph.getKB().getTimers().getTimer(ABox.IS_INC_CONSISTENT).get().getCount() == 0);
assertTrue(OpenlletOptions.USE_THREADED_KERNEL || !OpenlletOptions.USE_INCREMENTAL_CONSISTENCY || graph.getKB().getTimers().getTimer(ABox.IS_INC_CONSISTENT).get().getCount() == 1); assertTrue(OpenlletOptions.USE_THREADED_KERNEL || !OpenlletOptions.USE_INCREMENTAL_CONSISTENCY || graph.getKB().getTimers().getTimer(ABox.IS_INC_CONSISTENT).get().getCount() == 2);
model.prepare(); graph.getKB().getTimers().getTimer(ABox.IS_INC_CONSISTENT).get().getCount() == 1);