public <RESULT> RESULT execute(final String name, final Supplier<RESULT> producer) { if (OpenlletOptions.USE_THREADED_KERNEL) return producer.get(); final Optional<Timer> timer = startTimer(name); try { return producer.get(); } finally { timer.ifPresent(Timer::stop); } }
public KnowledgeBaseImpl() { clear(); _timers = new Timers(); _timers.createTimer("preprocessing"); _timers.createTimer("consistency"); _timers.createTimer("complete"); _state = EnumSet.noneOf(ReasoningState.class); if (OpenlletOptions.USE_INCREMENTAL_DELETION) _dependencyIndex = new DependencyIndex(this); _annotations = new ConcurrentHashMap<>(); }
private void incrementalClassify() { _timers.execute("incrementalClassify", x -> incClassifyAllModStrategy()); }
public void setTimeout(final String name, final long timeout) { getTimer(name).orElseGet(() -> createTimer(name))// .setTimeout(timeout); }
public KnowledgeBase loadData(final String[] dataset) { { final Optional<Timer> timer = _timers.startTimer("parse"); _loader.parse(dataset); _model = _loader.getModel(); System.out.println(); System.out.println("Triples : " + _model.getBaseModel().size()); timer.ifPresent(t -> t.stop()); } final KnowledgeBase kb = _loader.getKB(); _timers.execute("load", x -> _model.prepare()); ProfileUtils.printCounts(kb); _timers.execute("consistency", x -> kb.isConsistent()); ProfileUtils.printCounts(kb.getABox()); if (_classify) { _timers.execute("classify", x -> kb.classify()); } if (_realize) { _timers.execute("realize", x -> kb.realize()); } return kb; }
final double parseTime = _timers.getTimerTotal("parse") / 1000.0; final double consTime = _timers.getTimerTotal("consistency") / 1000.0; _timers.execute("sizeEstimateAll", x -> kb.getSizeEstimate().computeAll()); classifyTime = _timers.getTimerTotal("classify") / 1000.0; System.out.println("Classify : " + classifyTime); realizeTime = _timers.getTimerTotal("realize") / 1000.0; System.out.println("Realize : " + realizeTime); sizeEstimateTime = _timers.getTimerTotal("sizeEstimateAll") / 1000.0; System.out.println("Size Estimate : " + sizeEstimateTime); final Optional<Timer> timer = _timers.startTimer("query"); kb.getTimers().print();
final Timers timers = new Timers(); Timer t = timers.createTimer("First classification"); t.start(); classifier.classify(); t = timers.createTimer("Second classification"); t.start(); classifier.classify(); timers.startTimer("Third classification"); classifier.classify(); timers.stopTimer("Third classification"); for (final Timer timer : timers.getTimers()) if (!timer.isStarted()) System.out.println(timer.getName() + ": " + timer.getTotal() + "ms");
_kb.getTimers().resetAll(); _kb.setTimeout(ABOX_LIMIT * 1000); final Optional<Timer> timer = _kb.getTimers().startTimer("test"); System.out.print(" Prepare " + _kb.getTimers().getTimerTotal("preprocessing")); System.out.print(" Classify " + _kb.getTimers().getTimerTotal("classify")); _kb.getTimers().print();
public void checkTimer(final String name) { getTimer(name).orElseThrow(() -> _doesNotExist.apply(name))// .check(); }
@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; }
public void print(final boolean shortForm) { print(shortForm, "Total"); }
_kb.getTimers().createTimer("classifySub"); _logger.fine("Classes: " + classCount + " Individuals: " + _kb.getIndividualsCount()); _kb.getTimers().execute("taxBuilder.prepare", t -> prepare());
public Timers() { _mainTimer = createTimer("main"); _mainTimer.start(); }
public OpenlletCmdApp() { _options = getOptions(); _appId = getAppId(); _appCmd = getAppCmd(); _inputFiles = new ArrayList<>(); _timers = new Timers(); buildHelp(); }
protected boolean findTarget(final ATermAppl term, final ATermAppl target, final Set<ATermAppl> seen) { final List<ATermAppl> queue = new ArrayList<>(); queue.add(term); while (!queue.isEmpty()) { _kb.getTimers().checkTimer("preprocessing"); final ATermAppl current = queue.remove(queue.size() - 1); if (!seen.add(current)) continue; if (current.equals(target)) return true; final TermDefinition td = getTD(current); if (td != null) { // Shortcut if (td.getDependencies().contains(target)) return true; queue.addAll(td.getDependencies()); } } return false; }
final Optional<Timer> incT = _kb.getTimers().startTimer(IS_INC_CONSISTENT); final Optional<Timer> timer = _kb.getTimers().startTimer(IS_CONSISTENT); _kb.getTimers().execute("complete", timers -> incStrategy.complete(_kb.getExpressivityChecker().getExpressivity()));
final Timers timers = new Timers(); Timer t = timers.createTimer("First classification"); t.start(); classifier.classify(); t = timers.createTimer("Second classification"); t.start(); classifier.classify(); timers.startTimer("Third classification"); classifier.classify(); timers.stopTimer("Third classification"); for (final Timer timer : timers.getTimers()) if (!timer.isStarted()) System.out.println(timer.getName() + ": " + timer.getTotal() + "ms");
_loader.getKB().getTimers().resetAll(); _kb = _loader.createKB(file + ext); _kb.setTimeout(TBOX_LIMIT * 1000); final Optional<Timer> timer = _kb.getTimers().startTimer("test"); System.out.print(" Prepare " + _kb.getTimers().getTimerTotal("preprocessing")); System.out.print(" Classify " + _kb.getTimers().getTimerTotal("classify")); timer.ifPresent(t -> System.out.println(" " + t.getTotal())); _kb.getTimers().print();
public void checkTimer(final String name) { getTimer(name).orElseThrow(() -> _doesNotExist.apply(name))// .check(); }
@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; }