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: joining results of execution of the first predicate on a union of the sets of old and new triples with results of execution of the second predicate on the set of new triples to produce newly inferred triples; and joining results of execution of the first predicate on the set of new triples with results of execution of the second predicate on a union of the sets of old and new triples to produce newly inferred triples; and updating the semantic model with the new triples.