Index: BH13SPARQLBuilder/src/org/biohackathon/SPARQLBuilder/OWL/OWLClassGraph.java
===================================================================
--- BH13SPARQLBuilder/src/org/biohackathon/SPARQLBuilder/OWL/OWLClassGraph.java (revision 2)
+++ BH13SPARQLBuilder/src/org/biohackathon/SPARQLBuilder/OWL/OWLClassGraph.java (revision 3)
@@ -14,20 +14,7 @@
     String startClass;
     String endClass;
-    int startNode;
-    int endNode;
     int nsteps;
     int limit;
-    
-    List<OWLEdge> allOWLEdge; 
         
-    public class OWLEdge{
-        String startClass;
-        ClassLink classLink;
-        public OWLEdge(String startClass, ClassLink classLink){
-           this.startClass = startClass; 
-           this.classLink = classLink;
-        }
-    }
-    
     public class LinkAndPath{
         ClassLink classLink;
@@ -39,29 +26,28 @@
     }
     
-    public OWLClassGraph(String p_startClass, String p_endClass){
+    public OWLClassGraph(String startClass, String endClass){
         super();
-        startClass = p_startClass;
-        adjlist.add(new LinkedList<LabeledEdge>());
-        labels.add(startClass);
-        endClass = p_endClass;
-        labels.add(endClass);
-        nsteps = 3;
-        limit = 100;
-        allOWLEdge= new LinkedList<OWLEdge>();
+        this.startClass = startClass;
+        addNode(startClass);
+        this.endClass = endClass;
+        addNode(endClass);
+        nsteps = 2;
+        limit = 1000;
     }
     
-    public void generateGraph(){
-        // atode
+    public void generateGraph(List<List<ClassLink>> paths){
+        
     }
     
     public Path[] getPaths(OWLQueryBuilderImpl qb){
-        List<List<ClassLink>> paths = searchPathsFromOWL(qb);
+        //List<List<ClassLink>> paths = searchPathsFromOWL(qb);
+        List<List<ClassLink>> paths = searchPathsFromInstances(qb);
         Path[] patharray = new Path[paths.size()];
         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();
-            path.remove(0);
             patharray[i].setClassLinks(path);
             i++;
@@ -71,4 +57,12 @@
     
     private List<List<ClassLink>> searchPathsFromOWL(OWLQueryBuilderImpl qb){
+        return searchPathsEngine(qb, 0);
+    }
+    
+    private List<List<ClassLink>> searchPathsFromInstances(OWLQueryBuilderImpl qb){
+        return searchPathsEngine(qb, 1);
+    }
+    
+    private List<List<ClassLink>> searchPathsEngine(OWLQueryBuilderImpl qb, int mode){
         List<List<ClassLink>> paths = new ArrayList<List<ClassLink>>();
         ClassLink crrLink = new ClassLink(null,startClass,Direction.both);
@@ -82,5 +76,11 @@
                   LinkAndPath crrlp = lit.next();
                   if ( crrlp.classLink.getLinkedClassURI().equals(endClass) ){ continue; }
-                  ClassLink[] classLinks = qb.getNextClass(null, crrlp.classLink.getLinkedClassURI(), limit);
+                  ClassLink[] classLinks = null;
+                  // Mode
+                  if ( mode == 0 ){
+                      classLinks = qb.getNextClass(null, crrlp.classLink.getLinkedClassURI(), limit);
+                  }else if ( mode == 1 ){
+                      classLinks = qb.getNextClassViaInstanceLink(null, crrlp.classLink.getLinkedClassURI(), limit);                      
+                  }else{ System.err.println("Mode is not correct."); }
                   for ( int j = 0 ; j < classLinks.length; j++ ){
                       List<ClassLink> crrpath = new LinkedList<ClassLink>(crrlp.path);
@@ -92,7 +92,8 @@
                   }
               }
+              lp = nextlp;
           }
         }catch(Exception e){ System.err.println(e);}
-        return paths;
+        return paths;        
     }
 }
Index: BH13SPARQLBuilder/src/org/biohackathon/SPARQLBuilder/OWL/Path.java
===================================================================
--- BH13SPARQLBuilder/src/org/biohackathon/SPARQLBuilder/OWL/Path.java (revision 2)
+++ BH13SPARQLBuilder/src/org/biohackathon/SPARQLBuilder/OWL/Path.java (revision 3)
@@ -4,5 +4,5 @@
 
 /**
- * 襍ｷ轤ｹ縺ｨ縺ｪ繧九Μ繧ｽ繝ｼ繧ｹ縺九ｉ騾先ｬ｡逧�↓隍�焚繝ｪ繝ｳ繧ｯ縺ｧ邨らせ繝ｪ繧ｽ繝ｼ繧ｹ縺ｾ縺ｧ謗･邯壹＆繧後ｋ荳縺､縺ｮ繝代せ繧定ｨ倩ｿｰ縺吶ｋ
+ * 襍ｷ轤ｹ縺ｨ縺ｪ繧九Μ繧ｽ繝ｼ繧ｹ縺九ｉ騾先ｬ｡逧?↓隍?焚繝ｪ繝ｳ繧ｯ縺ｧ邨らせ繝ｪ繧ｽ繝ｼ繧ｹ縺ｾ縺ｧ謗･邯壹＆繧後ｋ荳?縺､縺ｮ繝代せ繧定ｨ倩ｿｰ縺吶ｋ
  * @author Yamaguchi
  * @since 28.01.2014
@@ -17,5 +17,5 @@
 
 	/**
-	 * 繝代せ縺ｮ襍ｷ轤ｹ縺九ｉ邨らせ縺ｫ蜷代°縺｣縺ｦ騾先ｬ｡逧�↓縺､縺ｪ縺後ｋ繧ｯ繝ｩ繧ｹ髢薙Μ繝ｳ繧ｯ縺ｮ繝ｪ繧ｹ繝�
+	 * 繝代せ縺ｮ襍ｷ轤ｹ縺九ｉ邨らせ縺ｫ蜷代°縺｣縺ｦ騾先ｬ｡逧?↓縺､縺ｪ縺後ｋ繧ｯ繝ｩ繧ｹ髢薙Μ繝ｳ繧ｯ縺ｮ繝ｪ繧ｹ繝?
 	 */
 	private List<ClassLink> classLinks;
@@ -48,5 +48,5 @@
 	}
 	
-	public void setStartClas(String startClass){
+	public void setStartClass(String startClass){
 		this.startClass = startClass;
 	}
