Index: /SPARQLBuilderWWW/src/java/org/biohackathon/SPARQLBuilder/OWL/OWLClassGraph.java
===================================================================
--- /SPARQLBuilderWWW/src/java/org/biohackathon/SPARQLBuilder/OWL/OWLClassGraph.java (revision 263)
+++ /SPARQLBuilderWWW/src/java/org/biohackathon/SPARQLBuilder/OWL/OWLClassGraph.java (revision 280)
@@ -246,5 +246,5 @@
         this.sparqlEndpoint = sparqlEndpoint;
         visited = new HashSet<Integer>();
-        edgeweight = new LinkedList<Map<Integer,Integer>>();
+        //edgeweight = new LinkedList<Map<Integer,Integer>>();
         nodeweight = new LinkedList<Integer>();
         // setNodes for all classes
@@ -258,5 +258,5 @@
            addNode(classes[i].getClassURI());
            nodeType.add("class");
-           edgeweight.add(new HashMap<Integer,Integer>());
+           //edgeweight.add(new HashMap<Integer,Integer>());
            nodeweight.add(classes[i].getNumOfInstances());
         }
@@ -282,5 +282,5 @@
                         }
                         addEdge(crr, nn, classLinks[j]);
-                        updateWeight(crr, nn, classLinks[j]);
+                        //updateWeight(crr, nn, classLinks[j]);
                     }
                 }catch(Exception e){
@@ -292,4 +292,5 @@
         }
         // cut visited
+        /*
         Iterator<Integer> nit = visited.iterator();
         while(nit.hasNext()){
@@ -302,6 +303,8 @@
             }
         }
-    }       
+        */
+    }
    
+    /*
     private void updateWeight(Integer node1, Integer node2, ClassLink edge){
         Map<Integer, Integer> weight = edgeweight.get(node1);
@@ -326,4 +329,5 @@
         }
     }
+    */
     
     public List<String> getReachableClasses(){
@@ -339,3 +343,31 @@
         return clURIs;
     }
+    
+    public double computePrOfPath(Path path){
+        ListIterator<ClassLink> lit = path.getClassLinks().listIterator();
+        ClassLink prev = lit.next();
+        double prob = 1.0;
+        while( lit.hasNext() ){
+            ClassLink crr = lit.next();
+            double prob2 = 1.0 -
+                    ((double) ( crr.getNumOfOriginClassInstances())/ 
+                    (double) (  nodeweight.get(labelednodes.get(prev.getLinkedClassURI())) ));
+            if ( prob2 > 1.0 ){
+                System.out.println("Prob2 > 1");
+                System.out.println(prev.getLinkedClassURI());
+                //classes[labelednodes.get(prev.getLinkedClassURI())].getNumOfInstances();
+                System.out.println(prev.getPropertyURI());
+            }
+            double prob3 = 1.0 - Math.pow(prob2, (double) prev.getNumOfLinkedClassInstances());
+            if ( prob3 > 1.0 ){
+                System.out.println("Prob3 > 1");
+                System.out.println(prev.getLinkedClassURI());
+                //classes[labelednodes.get(prev.getLinkedClassURI())].getNumOfInstances();
+                System.out.println(prev.getPropertyURI());
+            }
+            prob = prob * prob3 ;
+        }
+        return prob;
+    }
+
 }
