public String renderInstanceList() { StringBuilder sb = new StringBuilder(); List<OWLClassExpression> queries = m_specification.getQueries(); for (int query : m_algorithm.getAnswers().keySet()) { sb.append("Query " + query + ": " + queries.get(query - 1) + "\n"); sb.append(renderInstanceList(m_algorithm.getAnswers().get(query))); } return sb.toString(); }
public String renderCSVTable(int query, boolean ascending) { final String COL_SEP = "\t"; final String LINE_SEP = ";\n"; Map<Integer, Map<SimilarityValue, Double>> simiDevelopment = m_algorithm.getSimiDevelopment(query, false); StringBuilder sb = new StringBuilder(); // table head sb.append("i"); List<SimilarityValue> sorted = getSortedAnswers(simiDevelopment.get(simiDevelopment.size() - 1), ascending); for (SimilarityValue v : sorted) { sb.append(COL_SEP + getShortForm(v)); } sb.append(LINE_SEP); // table body for (Integer i : simiDevelopment.keySet()) { sb.append(i); for (SimilarityValue v : sorted) { sb.append( COL_SEP + EasyMath.round( simiDevelopment.get(i).get(v), (Integer) m_specification .getParameters() .getValue(GeneralParameters.DECIMAL_ACCURACY))); } sb.append(LINE_SEP); } return sb.toString(); }
public String renderInstanceList(int query) { return renderInstanceList(m_algorithm.getAnswers().get(query)); }
public String renderASCIITable(int query, boolean ascending) { Map<Integer, Map<SimilarityValue, Double>> simiDevelopment = m_algorithm.getSimiDevelopment(query, false); if (simiDevelopment.keySet().size() == 0) return ""; StringBuilder sb = new StringBuilder(); int preLength = (simiDevelopment.keySet().size() + "").length(); for (int i = 0; i < preLength - 1; i++) { sb.append(" "); } sb.append("i"); List<SimilarityValue> sorted = getSortedAnswers(simiDevelopment.get(simiDevelopment.size() - 1), ascending); // determine maximal width of any element per column Map<SimilarityValue, Integer> widths = new HashMap<SimilarityValue, Integer>(); // init with table head for (SimilarityValue v : sorted) { widths.put(v, getShortForm(v).length()); } for (Integer i : simiDevelopment.keySet()) { for (SimilarityValue v : sorted) { double value = simiDevelopment.get(i).get(v); value = EasyMath.round( value, (Integer) m_specification.getParameters().getValue(GeneralParameters.DECIMAL_ACCURACY)); widths.put(v, Math.max((value + "").length(), widths.get(v))); } } int totalWidth = preLength; for (SimilarityValue v : sorted) { totalWidth += 1 + widths.get(v); // +1 for spacing } // continue table-head for (SimilarityValue v : sorted) { int curElemLength = getShortForm(v).length(); for (int i = 0; i <= widths.get(v) - curElemLength; i++) { sb.append(" "); } sb.append(getShortForm(v)); } sb.append("\n"); for (int i = 0; i < totalWidth; i++) { sb.append("-"); } sb.append("\n"); for (int i = 0; i < simiDevelopment.keySet().size(); i++) { for (int j = 0; j < preLength - ("" + i).length(); j++) { sb.append(" "); } sb.append(i); for (SimilarityValue v : sorted) { Double d = EasyMath.round( simiDevelopment.get(i).get(v), (Integer) m_specification.getParameters().getValue(GeneralParameters.DECIMAL_ACCURACY)); for (int j = 0; j <= widths.get(v) - ("" + d).length(); j++) { sb.append(" "); } sb.append(d); } sb.append("\n"); } return sb.toString(); }