Index: SPARQLBuilderWWW/src/java/org/biohackathon/SPARQLBuilder/OWL/OWLClassGraph.java
===================================================================
--- SPARQLBuilderWWW/src/java/org/biohackathon/SPARQLBuilder/OWL/OWLClassGraph.java (revision 159)
+++ SPARQLBuilderWWW/src/java/org/biohackathon/SPARQLBuilder/OWL/OWLClassGraph.java (revision 161)
@@ -9,8 +9,8 @@
  * @author atsuko
  */
-import java.util.ArrayList;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.ListIterator;
+import java.util.*;
+//import java.util.LinkedList;
+//import java.util.List;
+//import java.util.ListIterator;
 
 public class OWLClassGraph extends LabeledMultiDigraph{
@@ -55,14 +55,13 @@
     public Path[] getPaths(RDFSchemaAnalyzer rdfsa, boolean countLink){
         List<List<ClassLink>> paths = null;
-        paths = searchPaths(rdfsa, countLink);            
-        Path[] patharray = new Path[paths.size()];
+        paths = searchPaths(rdfsa, countLink);
+        NavigableSet<Path> sortedpath = new TreeSet<Path>();
         ListIterator<List<ClassLink>> pit = paths.listIterator();
-        int i = 0;
         while ( pit.hasNext() ){
-            patharray[i] = new Path();
-            patharray[i].setStartClass(startClass);
-            List<ClassLink> path = pit.next();
-            patharray[i].setClassLinks(path);
-            ListIterator<ClassLink> cit = path.listIterator();
+            Path path = new Path();
+            path.setStartClass(startClass);
+            List<ClassLink> crrpath = pit.next();
+            path.setClassLinks(crrpath);
+            ListIterator<ClassLink> cit = crrpath.listIterator();
             int min = Integer.MAX_VALUE;
             while ( cit.hasNext() ){
@@ -72,5 +71,12 @@
                 }
             }
-            patharray[i].setWidth(min);
+            path.setWidth(min);
+            sortedpath.add(path);
+        }
+        Path[] patharray = new Path[paths.size()];
+        Iterator<Path> pait = sortedpath.descendingIterator();
+        int i = 0;
+        while ( pait.hasNext() ){
+            patharray[i] = pait.next();
             i++;
         }
@@ -222,9 +228,4 @@
     }
     */
-    private int getMinCutOfPath(){
-        int min = Integer.MAX_VALUE;
-        //KOKO
-        return min;
-    }
     
 }
Index: SPARQLBuilderWWW/src/java/org/biohackathon/SPARQLBuilder/OWL/Path.java
===================================================================
--- SPARQLBuilderWWW/src/java/org/biohackathon/SPARQLBuilder/OWL/Path.java (revision 133)
+++ SPARQLBuilderWWW/src/java/org/biohackathon/SPARQLBuilder/OWL/Path.java (revision 161)
@@ -14,5 +14,5 @@
  * @version 29.01.2014
  */
-public class Path {
+public class Path implements Comparable<Path>{
 
 	/**
@@ -112,3 +112,9 @@
 	}
 
+    @Override
+    public int compareTo(Path path) {
+        return this.width - path.getWidth();
+        //throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
+    }
+
 }
