1. A computer-implemented method, comprising: accessing one or more inference rules that are associated with a semantic model, the rules including a first predicate joined with a second predicate; inputting a set of old triples that include asserted and inferred triples in a semantic model and a set of new triples; for a round comprising the firing of the one or more inference rules, generating newly inferred triples based on the new triples by: executing the first predicate on a union of the sets of old and new triples to produce a first result; executing the second predicate on the set of new triples to produce a second result; joining the first result and the second result to produce newly inferred triples; executing the first predicate on the set of new triples to produce a third result; executing the second predicate on a union of the sets of old and new triples to produce a fourth result; and joining the third result and the fourth result to produce newly inferred triples; and updating the semantic model with the newly inferred triples.