1. A method in a computing system for inferring triples from rules, the method comprising: providing a collection of triples; providing rules for inferring triples, the rules including single condition rules and multiple condition rules; for each triple in the collection, scheduling a thread to infer triples based on that triple by applying the single condition rules to that triple, adding any inferred triples not already in the collection to the collection, and applying the single condition rules to each inferred triple that is added to the collection; and after completion of the threads that apply the single condition rules, performing iterations of the following until a termination condition is satisfied: for each triple in the collection, scheduling a thread to infer triples by applying the multiple condition rules to that triple, adding any inferred triples not already in the collection to the collection, and applying the single condition rules to each inferred triple that is added to the collection.