diff --git a/src/fr/inrialpes/exmo/align/impl/eval/AveragePRGraphEvaluator.java b/src/fr/inrialpes/exmo/align/impl/eval/AveragePRGraphEvaluator.java index fde5972ee838cc7208de25f728249ad57169374c..9409b9c0484cd29fb6c88de803b5be0559113a22 100644 --- a/src/fr/inrialpes/exmo/align/impl/eval/AveragePRGraphEvaluator.java +++ b/src/fr/inrialpes/exmo/align/impl/eval/AveragePRGraphEvaluator.java @@ -129,6 +129,7 @@ public class AveragePRGraphEvaluator extends GraphEvaluator { initCellSet(); if ( align2 == null ) return; //no increase of precisions for ( Cell c : align2 ) { + if ( invalid && c.getStrength() != 1. && c.getStrength() != 0. ) invalid = false; cellSet.add( new EvalCell( c, isCorrect( c, align1 ) ) ); } diff --git a/src/fr/inrialpes/exmo/align/impl/eval/GraphEvaluator.java b/src/fr/inrialpes/exmo/align/impl/eval/GraphEvaluator.java index f2611e2fa7c123227bf635ad0f23f6f27ee511bb..9fe2a6a5a91ed90bf28c5c827f53e2a3cc54cb28 100644 --- a/src/fr/inrialpes/exmo/align/impl/eval/GraphEvaluator.java +++ b/src/fr/inrialpes/exmo/align/impl/eval/GraphEvaluator.java @@ -67,6 +67,9 @@ public abstract class GraphEvaluator { protected SortedSet<EvalCell> cellSet = null; public Vector<Pair> points; + // By default result is invalid + public boolean invalid = true; + /** * Returns the points to display in a graph */ @@ -141,10 +144,13 @@ public abstract class GraphEvaluator { // Set the found cells in the sorted structure if ( al == null ) return; for ( Cell c : al ) { + if ( invalid && c.getStrength() != 1. && c.getStrength() != 0. ) invalid = false; cellSet.add( new EvalCell( c, isCorrect( c, ref ) ) ); } } + public boolean isValid() { return !invalid; } + public int nbCells() { if ( cellSet == null ) return 0; else return cellSet.size(); diff --git a/src/fr/inrialpes/exmo/align/util/GenPlot.java b/src/fr/inrialpes/exmo/align/util/GenPlot.java index f7c2752179cc188c5cac45a3410ce3bf57c3b127..e1a5e01947201f48d0b9edac1656dbc8f4eb8359 100644 --- a/src/fr/inrialpes/exmo/align/util/GenPlot.java +++ b/src/fr/inrialpes/exmo/align/util/GenPlot.java @@ -27,7 +27,6 @@ package fr.inrialpes.exmo.align.util; import org.semanticweb.owl.align.Alignment; import fr.inrialpes.exmo.align.impl.eval.GraphEvaluator; -import fr.inrialpes.exmo.align.impl.eval.PRGraphEvaluator; import fr.inrialpes.exmo.align.impl.eval.Pair; import fr.inrialpes.exmo.ontowrap.OntologyFactory; @@ -367,7 +366,7 @@ public class GenPlot { public void printPGFTex( Vector<Vector<Pair>> result ){ int i = 0; String marktable[] = { "+", "*", "x", "-", "|", "o", "asterisk", "star", "oplus", "oplus*", "otimes", "otimes*", "square", "square*", "triangle", "triangle*", "diamond", "diamond*", "pentagon", "pentagon*"}; - String colortable[] = { "black", "red", "green", "blue", "cyan", "magenta", "yellow" } ; + String colortable[] = { "black", "red", "green", "blue", "cyan", "magenta" } ; output.println("\\documentclass[11pt]{book}"); output.println(); output.println("\\usepackage{pgf}"); @@ -390,8 +389,11 @@ public class GenPlot { output.println("\\draw (-0.3,5) node[rotate=90] {$"+ylabel+"$}; "); output.println("\\draw (-0.3,10) node {1.}; "); output.println("% Plots"); + i = 0; for ( String m : listAlgo ) { - output.println("\\draw["+colortable[i%7]+"] plot[mark="+marktable[i%19]+"] file {"+m+".table};"); + output.print("\\draw["+colortable[i%6] ); + if ( !listEvaluators.get(i).isValid() ) output.print(",dotted"); + output.println("] plot[mark="+marktable[i%19]+"] file {"+m+".table};"); //,smooth i++; } @@ -399,10 +401,12 @@ public class GenPlot { output.println("% Legend"); i = 0; for ( String m : listAlgo ) { - output.println("\\draw["+colortable[i%7]+"] plot[mark="+marktable[i%19]+"] coordinates {("+((i%3)*3+1)+","+(-(i/3)*.8-1)+") ("+((i%3)*3+3)+","+(-(i/3)*.8-1)+")};"); + output.print("\\draw["+colortable[i%6] ); + if ( !listEvaluators.get(i).isValid() ) output.print(",dotted"); + output.println("] plot[mark="+marktable[i%19]+"] coordinates {("+((i%3)*3+1)+","+(-(i/3)*.8-1)+") ("+((i%3)*3+3)+","+(-(i/3)*.8-1)+")};"); //,smooth - output.println("\\draw["+colortable[i%7]+"] ("+((i%3)*3+2)+","+(-(i/3)*.8-.8)+") node {"+m+"};"); - output.printf("\\draw["+colortable[i%7]+"] ("+((i%3)*3+2)+","+(-(i/3)*.8-1.2)+") node {%1.2f};\n", listEvaluators.get(i).getGlobalResult() ); + output.println("\\draw["+colortable[i%6]+"] ("+((i%3)*3+2)+","+(-(i/3)*.8-.8)+") node {"+m+"};"); + output.printf("\\draw["+colortable[i%6]+"] ("+((i%3)*3+2)+","+(-(i/3)*.8-1.2)+") node {%1.2f};\n", listEvaluators.get(i).getGlobalResult() ); i++; } output.println("\\end{tikzpicture}"); @@ -442,7 +446,7 @@ public class GenPlot { } } - // 2010: THIS IS ONLY FOR TSV ET CA NE MARCHE PAS A + // 2010: THIS IS ONLY FOR TSV AND THIS DOES NOT WORK // IT IS SUPPOSED TO PROVIDE // List of algo // List of STEP + points