1. A processor-implemented method of exploiting a plurality of semantic annotations in executing a keyword query over a collection of data, the method comprising: generating a type system for modeling the semantic annotations; generating an interpretation index for indexing the semantic annotations against the type model; expanding the keyword query into a plurality of intermediate queries; and executing at least one intermediate query to produce a list of data matching the keyword query in terms of the type model.