1. A method for ranking search results comprising: receiving a plurality of search terms; for each of said search terms, forming disambiguated interpretations with respect to an ontology; using said disambiguated interpretations during said search to define a set of results comprising a plurality of documents; and weighting, by a processor, said plurality of documents in accordance with an extent to which each of said plurality of documents is semantically coherent with said disambiguated interpretations; wherein said disambiguated interpretations are derived from a predicate calculus representation.