public IncrementalQueryPlan(final Query query) { super(query); QuerySizeEstimator.computeSizeEstimate(query); _explored = new Stack<>(); _atoms = query.getAtoms(); _size = _atoms.size(); _cost = new QueryCost(query.getKB()); reset(); }
public IncrementalQueryPlan(final Query query) { super(query); QuerySizeEstimator.computeSizeEstimate(query); _explored = new Stack<>(); _atoms = query.getAtoms(); _size = _atoms.size(); _cost = new QueryCost(query.getKB()); reset(); }
public IncrementalQueryPlan(final Query query) { super(query); QuerySizeEstimator.computeSizeEstimate(query); _explored = new Stack<>(); _atoms = query.getAtoms(); _size = _atoms.size(); _cost = new QueryCost(query.getKB()); reset(); }
public CostBasedQueryPlanNew(final Query query) { super(query); QuerySizeEstimator.computeSizeEstimate(query); _index = 0; _size = query.getAtoms().size(); _cost = new QueryCost(query.getKB()); _sortedAtoms = null; if (_size == 0) return; else if (_size == 1) _sortedAtoms = query.getAtoms(); else { final double minCost = chooseOrdering(new ArrayList<>(query.getAtoms()), new ArrayList<QueryAtom>(_size), new HashSet<ATermAppl>(), false, Double.POSITIVE_INFINITY); if (_sortedAtoms == null) throw new UnsupportedQueryException("No safe ordering for query: " + query); if (_logger.isLoggable(Level.FINE)) _logger.log(Level.FINE, "WINNER : Cost=" + minCost + " ,atoms=" + _sortedAtoms); } }
public CostBasedQueryPlanNew(final Query query) { super(query); QuerySizeEstimator.computeSizeEstimate(query); _index = 0; _size = query.getAtoms().size(); _cost = new QueryCost(query.getKB()); _sortedAtoms = null; if (_size == 0) return; else if (_size == 1) _sortedAtoms = query.getAtoms(); else { final double minCost = chooseOrdering(new ArrayList<>(query.getAtoms()), new ArrayList<QueryAtom>(_size), new HashSet<ATermAppl>(), false, Double.POSITIVE_INFINITY); if (_sortedAtoms == null) throw new UnsupportedQueryException("No safe ordering for query: " + query); if (_logger.isLoggable(Level.FINE)) _logger.log(Level.FINE, "WINNER : Cost=" + minCost + " ,atoms=" + _sortedAtoms); } }
public CostBasedQueryPlanNew(final Query query) { super(query); QuerySizeEstimator.computeSizeEstimate(query); _index = 0; _size = query.getAtoms().size(); _cost = new QueryCost(query.getKB()); _sortedAtoms = null; if (_size == 0) return; else if (_size == 1) _sortedAtoms = query.getAtoms(); else { final double minCost = chooseOrdering(new ArrayList<>(query.getAtoms()), new ArrayList<QueryAtom>(_size), new HashSet<ATermAppl>(), false, Double.POSITIVE_INFINITY); if (_sortedAtoms == null) throw new UnsupportedQueryException("No safe ordering for query: " + query); if (_logger.isLoggable(Level.FINE)) _logger.log(Level.FINE, "WINNER : Cost=" + minCost + " ,atoms=" + _sortedAtoms); } }