1. A method comprising: reading a plurality of entity population rules, each entity population rule describing a mapping from an input schema to an output schema, the output schema conforming to an entity declaration, the entity declaration describing an entity including at least one nested entity; compiling the plurality of entity population rules into at least one executable query, wherein compiling the plurality of entity population rules comprises topologically sorting the entities defined by the plurality of entity population rules based on at least one dependency among the plurality of entity population rules and generating a query by traversing from a leaf to a root of the topologically sorted entities; reading a plurality of input records from a first data store, the input records conforming to the input schema; applying a compiled entity resolution rule to the plurality of input records to determine a link between members of the plurality of input records; applying one of the plurality of entity population rules to the plurality of input records to create a plurality of output records complying with the output schema; subsequent to applying one of the plurality of entity population rules, recompiling the plurality of entity population rules; and populating an index of nested entities using the at least one executable query, the index complying with an index declaration, the index declaration describing an index of nested entities, and the index including the link.