1. A method for creating and searching medical ontologies comprising the steps of: providing a semi-structured information source comprising a plurality of articles linked to each other, each article having one or more sections, wherein each article is associated with a concept; creating a directed unlabeled graph representative of said information source, wherein each graph node is associated with a concept and each graph edge is associated with a link between concepts; providing a plurality of labels, and labeling a subset of said edges of said graph; assigning, by a processor, each unlabeled edge an equal probability of being assigned one of said plurality of labels; updating, for each node, the probability of each outgoing edge by smoothing each said probability by an overall probability distribution of labels over all outgoing edges of each node; updating, for each node, the probability of each incoming edge by smoothing each said probability by an overall probability distribution of labels over all incoming edges of each node; and assigning a label with a maximum probability to an edge if said maximum probability is greater than a predetermined threshold to create a labeled graph, wherein said labeled graph represents a new ontology configured to be searched.