Index: /SPARQLBuilderWWW/src/java/org/biohackathon/SPARQLBuilder/OWL/LabeledMultiDigraph.java
===================================================================
--- /SPARQLBuilderWWW/src/java/org/biohackathon/SPARQLBuilder/OWL/LabeledMultiDigraph.java (revision 133)
+++ /SPARQLBuilderWWW/src/java/org/biohackathon/SPARQLBuilder/OWL/LabeledMultiDigraph.java (revision 201)
@@ -21,4 +21,12 @@
         String label;
         Direction direction;
+        Integer ntriples;
+        
+        public LabeledEdge(Integer node, String label, Direction direction, Integer ntriples){
+            this.node = node;
+            this.label = label;
+            this.direction = direction;
+            this.ntriples = ntriples;
+        }
     }
     
@@ -30,7 +38,16 @@
     
     public void addNode(String label){
+        labelednodes.put(label, labels.size());
         labels.add(label);
         adjlist.add(new LinkedList<LabeledEdge>());
     }
     
+    public void addEdge(Integer node1, Integer node2, String elabel, Direction direction, Integer ntriples){
+        if ( labels.size() < node1 || labels.size() < node2 ){
+            System.err.println("Error for Edge Addition: No Node for the Edge");
+            return;
+        }
+        LabeledEdge edge = new LabeledEdge(node2, elabel, direction, ntriples);
+        adjlist.get(node1).add(edge);
+    }
 }
Index: /SPARQLBuilderWWW/src/java/org/biohackathon/SPARQLBuilder/OWL/OWLClassGraph.java
===================================================================
--- /SPARQLBuilderWWW/src/java/org/biohackathon/SPARQLBuilder/OWL/OWLClassGraph.java (revision 197)
+++ /SPARQLBuilderWWW/src/java/org/biohackathon/SPARQLBuilder/OWL/OWLClassGraph.java (revision 201)
@@ -53,6 +53,4 @@
         limit = 1000;
         prunecut = 100;
-        
-        // constructing subgraph
         
     }
@@ -90,5 +88,5 @@
         return patharray;
     }
-        
+    
     private List<List<ClassLink>> searchPaths(RDFSchemaAnalyzer rdfsa, boolean countLinks){
         List<List<ClassLink>> paths = new ArrayList<>();
@@ -235,10 +233,29 @@
     */
       
-   private void setGraph(RDFSchemaAnalyzer rdfsa, boolean countLink){
-       // BFS
-       
-       
-       //ClassLink[] classLinks = rdfsa.getNextClass(null, crrlp.classLink.getLinkedClassURI(), limit, countLinks);
+   public void setWholeGraph(RDFSchemaAnalyzer rdfsa){
+       // setNodes
+       SClass[] classes = null;
+       try{
+           classes = rdfsa.getOWLClasses(null, null, null, true);
+       }catch(Exception e){
+           System.err.println(e); return;
+       }
+       for (int i = 0 ; i < classes.length; i++){
+           addNode(classes[i].getClassURI());
+       }
+       // setEdges
+       for (int i = 0 ; i < classes.length; i++){
+           try{
+               ClassLink[] classLinks = rdfsa.getNextClass(null, classes[i].getClassURI(), limit, true);
+               for (int j = 0 ; j < classLinks.length; j++){
+                   addEdge(i, labelednodes.get(classLinks[j].getLinkedClassURI()),
+                           classLinks[j].getPropertyURI(),
+                           classLinks[j].getDirection(),
+                           classLinks[j].getNumOfLinkedInstances());
+               }
+           }catch(Exception e){
+               System.err.println(e);
+           }
+       } 
    }
-    
 }
Index: /SPARQLBuilderWWW/src/java/org/biohackathon/SPARQLBuilder/OWL/ClassLink.java
===================================================================
--- /SPARQLBuilderWWW/src/java/org/biohackathon/SPARQLBuilder/OWL/ClassLink.java (revision 171)
+++ /SPARQLBuilderWWW/src/java/org/biohackathon/SPARQLBuilder/OWL/ClassLink.java (revision 201)
@@ -297,5 +297,5 @@
 		
         private String getLinkedClassLabel(SClass[] classes){
-            return QueryPathGenerator.getClassLabel(linkedClassURI, classes);
+            return QueryPathGenerator.getClassLabelfromList(linkedClassURI, classes);
         }
 	
Index: /SPARQLBuilderWWW/src/java/org/biohackathon/SPARQLBuilder/OWL/QueryPathGenerator.java
===================================================================
--- /SPARQLBuilderWWW/src/java/org/biohackathon/SPARQLBuilder/OWL/QueryPathGenerator.java (revision 197)
+++ /SPARQLBuilderWWW/src/java/org/biohackathon/SPARQLBuilder/OWL/QueryPathGenerator.java (revision 201)
@@ -45,4 +45,5 @@
         //SClass[] cl = qpg.getClasses(null);
         
+        /*
         long start1 = System.currentTimeMillis();
         Path[] path1 = qpg1.getPaths(sc, ec, false);
@@ -60,4 +61,5 @@
         System.out.println(path1.length);
         System.out.println(path2.length);
+        */
     }
     
@@ -119,22 +121,27 @@
     }
     
-    public static String getClassLabel(String classURI, SClass[] classes){
+    public static String getClassLabelfromList(String classURI, SClass[] classes){
         if ( classURI == null ){
                     return "";
         }
+        SClass sclass = null;
         for ( int i = 0 ; i < classes.length; i++ ){
             if ( classURI.equals(classes[i].getClassURI()) ){
-                Label[] labels = classes[i].getLabels();
-                for ( int j = 0 ; j < labels.length; j++ ){
-                    if ( labels[j].getLanguage() == null ){
-                        return labels[j].getLabel();
-                    }else if ( labels[j].getLanguage().equals("en") ){
-                        return labels[j].getLabel();
-                    }
-                }
-                break;
+                return getClassLabelfromClass(classes[i]);
             }                    
         }
-        String[] url = classURI.split("/");
+        return "";
+    }
+    
+    public static String getClassLabelfromClass(SClass sclass){
+        Label[] labels = sclass.getLabels();
+        for ( int i = 0 ; i < labels.length; i++ ){
+            if ( labels[i].getLanguage() == null ){
+                return labels[i].getLabel();
+            }else if ( labels[i].getLanguage().equals("en") ){
+                return labels[i].getLabel();
+            }
+        }
+        String[] url = sclass.getClassURI().split("/");
         String tmplabel = url[url.length-1];
         String[] tmplabel2 = tmplabel.split("#");
Index: /SPARQLBuilderWWW/src/java/org/biohackathon/SPARQLBuilder/OWL/Path.java
===================================================================
--- /SPARQLBuilderWWW/src/java/org/biohackathon/SPARQLBuilder/OWL/Path.java (revision 167)
+++ /SPARQLBuilderWWW/src/java/org/biohackathon/SPARQLBuilder/OWL/Path.java (revision 201)
@@ -74,5 +74,5 @@
 		String json_str="";
 		json_str+="{\"startClassURI\":\""+ startClass+"\",";
-                json_str+="\"startClassLabel\":\""+QueryPathGenerator.getClassLabel(startClass, classes)+"\",";
+                json_str+="\"startClassLabel\":\""+QueryPathGenerator.getClassLabelfromList(startClass, classes)+"\",";
 		if (classLinks != null && classLinks.size() != 0) {
 			json_str+="\"classLinks\":[";
