public MultiQueryResults(final List<ATermAppl> resultVars, final List<QueryResult> queryResults) { this._resultVars = resultVars; this._queryResults = queryResults; _size = 1; for (final QueryResult result : queryResults) _size *= result.size(); }
public MultiQueryResults(final List<ATermAppl> resultVars, final List<QueryResult> queryResults) { this._resultVars = resultVars; this._queryResults = queryResults; _size = 1; for (final QueryResult result : queryResults) _size *= result.size(); }
public MultiQueryResults(final List<ATermAppl> resultVars, final List<QueryResult> queryResults) { this._resultVars = resultVars; this._queryResults = queryResults; _size = 1; for (final QueryResult result : queryResults) _size *= result.size(); }
/** * {@inheritDoc} */ @Override public int size() { return _queryResult.size(); }
/** * {@inheritDoc} */ @Override public int size() { return _queryResult.size(); }
/** * {@inheritDoc} */ @Override public int size() { return _queryResult.size(); }
private void runRecursively(final Taxonomy<ATermAppl> t, final ATermAppl downMonotonic, final ATermAppl rootCandidate, final ResultBinding binding, final Set<ATermAppl> toDo, final boolean direct, final boolean strict) { final int size = _result.size(); _logger.fine(() -> "Trying : " + rootCandidate + ", done=" + toDo); if (!strict) { toDo.remove(rootCandidate); runNext(binding, Collections.singletonList(downMonotonic), rootCandidate); } if (strict || _result.size() > size) { // final Set<ATermAppl> subs = t.getSFlattenedSubs(rootCandidate, // direct); final Set<ATermAppl> subs = flatten(t.getSubs(rootCandidate, direct)); for (final ATermAppl subject : subs) { if (!toDo.contains(subject)) continue; runRecursively(t, downMonotonic, subject, binding, toDo, false, false); } } else { _logger.fine(() -> "Skipping subs of " + rootCandidate); // toDo.removeAll(t.getFlattenedSubs(rootCandidate, false)); toDo.removeAll(flatten(t.getSubs(rootCandidate, false))); } }
private void runRecursively(final Taxonomy<ATermAppl> t, final ATermAppl downMonotonic, final ATermAppl rootCandidate, final ResultBinding binding, final Set<ATermAppl> toDo, final boolean direct, final boolean strict) { final int size = _result.size(); _logger.fine(() -> "Trying : " + rootCandidate + ", done=" + toDo); if (!strict) { toDo.remove(rootCandidate); runNext(binding, Collections.singletonList(downMonotonic), rootCandidate); } if (strict || _result.size() > size) { // final Set<ATermAppl> subs = t.getSFlattenedSubs(rootCandidate, // direct); final Set<ATermAppl> subs = flatten(t.getSubs(rootCandidate, direct)); for (final ATermAppl subject : subs) { if (!toDo.contains(subject)) continue; runRecursively(t, downMonotonic, subject, binding, toDo, false, false); } } else { _logger.fine(() -> "Skipping subs of " + rootCandidate); // toDo.removeAll(t.getFlattenedSubs(rootCandidate, false)); toDo.removeAll(flatten(t.getSubs(rootCandidate, false))); } }
private void runRecursively(final Taxonomy<ATermAppl> t, final ATermAppl downMonotonic, final ATermAppl rootCandidate, final ResultBinding binding, final Set<ATermAppl> toDo, final boolean direct, final boolean strict) { final int size = _result.size(); _logger.fine(() -> "Trying : " + rootCandidate + ", done=" + toDo); if (!strict) { toDo.remove(rootCandidate); runNext(binding, Collections.singletonList(downMonotonic), rootCandidate); } if (strict || _result.size() > size) { // final Set<ATermAppl> subs = t.getSFlattenedSubs(rootCandidate, // direct); final Set<ATermAppl> subs = flatten(t.getSubs(rootCandidate, direct)); for (final ATermAppl subject : subs) { if (!toDo.contains(subject)) continue; runRecursively(t, downMonotonic, subject, binding, toDo, false, false); } } else { _logger.fine(() -> "Skipping subs of " + rootCandidate); // toDo.removeAll(t.getFlattenedSubs(rootCandidate, false)); toDo.removeAll(flatten(t.getSubs(rootCandidate, false))); } }
private static QueryResult runSingleTest(final Query query) { final Timer t = new Timer("Single _query execution"); t.start(); final QueryResult bindings = QueryEngine.exec(query); _logger.info("Execution time=" + t.getElapsed()); t.stop(); _logger.info("Result size = " + bindings.size()); return bindings; }