diff --git a/src/fr/inrialpes/exmo/align/impl/edoal/Comparator.java b/src/fr/inrialpes/exmo/align/impl/edoal/Comparator.java
index dc7db1d3cbdc590820965217c934369d61616217..597ffd42e13327bc63671370b54a9d36fcf29f85 100644
--- a/src/fr/inrialpes/exmo/align/impl/edoal/Comparator.java
+++ b/src/fr/inrialpes/exmo/align/impl/edoal/Comparator.java
@@ -28,11 +28,12 @@ import fr.inrialpes.exmo.align.impl.Namespace;
 public class Comparator {
 
     URI uri = null;
+    String sparql = null;
 
     // SHOULD CERTAINLY BE AN ENUM
-    public static Comparator EQUAL = initComparator( Namespace.EDOAL.prefix+"equals", 0 );
-    public static Comparator LOWER = initComparator( Namespace.EDOAL.prefix+"lower-than", -1 );
-    public static Comparator GREATER = initComparator( Namespace.EDOAL.prefix+"greater-than", 1 );
+    public static Comparator EQUAL = initComparator( Namespace.EDOAL.prefix+"equals", 0, "=" );
+    public static Comparator LOWER = initComparator( Namespace.EDOAL.prefix+"lower-than", -1, "<" );
+    public static Comparator GREATER = initComparator( Namespace.EDOAL.prefix+"greater-than", 1, ">" );
 
     public static Comparator getComparator( URI u ) {
 	if ( u.equals( EQUAL.getURI() ) ) {
@@ -49,13 +50,18 @@ public class Comparator {
     }
 
     public Comparator( URI u ) {
-	super();
+	this();
 	uri = u;
     }
 
-    private static Comparator initComparator( String uri, int rank ){
+    public Comparator( URI u, String s ) {
+	this( u );
+	sparql = s;
+    }
+
+    private static Comparator initComparator( String uri, int rank, String sparql ){
 	try {
-	    return new Comparator( new URI( uri ) );
+	    return new Comparator( new URI( uri ), sparql );
 	} catch ( URISyntaxException usex ) {
 	    return new Comparator();
 	}
@@ -65,6 +71,10 @@ public class Comparator {
 	return uri;
     }
 
+    public String getSPARQLComparator() {
+	return sparql;
+    }
+
     public boolean equals ( Object ob ) {
 	if ( ob == this ) return true;
 	else if ( !(ob instanceof Comparator)  ) return false;