1. A computer implemented method of querying a fact repository, performed at a computer system having one or more processors and memory storing one or more programs for execution by the one or more processors, the method comprising: receiving a search query; retrieving at least one fact from the fact repository, the at least one fact corresponding to the received search query and having an attribute and a value, wherein the fact repository includes a plurality of facts associated with objects, wherein a respective fact in the fact repository includes a respective attribute and a respective value, wherein the respective value is a text string, and wherein the plurality of facts are extracted from a plurality of documents; retrieving at least one annotation associated with the at least one fact, the at least one annotation having a value corresponding to the value of the at least one fact, wherein an annotation includes additional information about a fact, and wherein a value of the annotation is indexed to a substring of a fact's value; sending the attribute and value of the retrieved fact in response to the query; and sending the retrieved annotation in response to the query.