A method performed by a data processing apparatus, comprising: maintaining a database of data records with a knowledge graph, wherein the knowledge graph comprises a main stem graph and a plurality of child graphs, wherein the main stem graph is configured to receive and maintain general information which can be replicated to each of the child graphs, and wherein each child graph adds their own overlays on top of the main stem graph that are not shared with other child graphs; receiving a stream of real-time data that includes data records; and from time to time as the stream of real-time data is received: identifying, based on the stream of real-time data, a set of one or more attributes associated with a real-time event represented by one of the data records received; generating a query, based on the one or more attributes, to identify a precedent that is consistent with the one or more attributes of the real-time event; processing the generated query to determine whether there is one or more precedents in the knowledge graph that satisfy the generated query, wherein the one or more precedents include one or more event-outcome pairs, wherein processing the generated query is performed at one or more particular child graphs of the knowledge graph corresponding to a portion of the knowledge graph; identifying, based on the one or more attributes, a data record in the knowledge graph representing an event-outcome pair; determining whether an event of the event-outcome pair has historically been associated with triggering an outcome of the event-outcome pair; and in response to determining that the event of the event-outcome pair has historically been associated with triggering the outcome in the event-outcome pair, executing a set of rules defining logic associated with the event-outcome pair that is configured to generate one or more parameter values that specify that the outcome will occur at a time that is subsequent to a time in which the one of the data records is received. maintaining a database of data records with a knowledge graph, wherein the knowledge graph comprises a main stem graph and a plurality of child graphs, wherein the main stem graph is configured to receive and maintain general information which can be replicated to each of the child graphs, and wherein each child graph adds their own overlays on top of the main stem graph that are not shared with other child graphs; receiving a stream of real-time data that includes data records; and from time to time as the stream of real-time data is received: identifying, based on the stream of real-time data, a set of one or more attributes associated with a real-time event represented by one of the data records received; generating a query, based on the one or more attributes, to identify a precedent that is consistent with the one or more attributes of the real-time event; processing the generated query to determine whether there is one or more precedents in the knowledge graph that satisfy the generated query, wherein the one or more precedents include one or more event-outcome pairs, wherein processing the generated query is performed at one or more particular child graphs of the knowledge graph corresponding to a portion of the knowledge graph; identifying, based on the one or more attributes, a data record in the knowledge graph representing an event-outcome pair; determining whether an event of the event-outcome pair has historically been associated with triggering an outcome of the event-outcome pair; and in response to determining that the event of the event-outcome pair has historically been associated with triggering the outcome in the event-outcome pair, executing a set of rules defining logic associated with the event-outcome pair that is configured to generate one or more parameter values that specify that the outcome will occur at a time that is subsequent to a time in which the one of the data records is received. identifying, based on the stream of real-time data, a set of one or more attributes associated with a real-time event represented by one of the data records received; generating a query, based on the one or more attributes, to identify a precedent that is consistent with the one or more attributes of the real-time event; processing the generated query to determine whether there is one or more precedents in the knowledge graph that satisfy the generated query, wherein the one or more precedents include one or more event-outcome pairs, wherein processing the generated query is performed at one or more particular child graphs of the knowledge graph corresponding to a portion of the knowledge graph; identifying, based on the one or more attributes, a data record in the knowledge graph representing an event-outcome pair; determining whether an event of the event-outcome pair has historically been associated with triggering an outcome of the event-outcome pair; and in response to determining that the event of the event-outcome pair has historically been associated with triggering the outcome in the event-outcome pair, executing a set of rules defining logic associated with the event-outcome pair that is configured to generate one or more parameter values that specify that the outcome will occur at a time that is subsequent to a time in which the one of the data records is received.