3. A method performed by a computing system configured to provide results of a received query based on triples, the method comprising: accessing by the computing system a fact table having triples, each triple having a subject, a predicate, and an object, the subject and object being entities; accessing by the computing system a type table having a mapping from entities to one or more types of those entities, the type table having one entry for each of a plurality of entities that maps to the one or more types of that entity; accessing by the computing system the received query having one or more non-type query triples and one or more type query triples, each non-type query triple having a subject, a non-type predicate, and an object, and each type query triple having a subject, a type predicate, and an object; adding by the computing system to the type table mappings of entities to types corresponding to triples of the fact table that have a type predicate; retrieving by the computing system from the fact table triples that match the one or more non-type query triples; for each retrieved triple, when an entity of the retrieved triple matches the subject of a type query triple and the type table does not have a mapping from the entity of the retrieved triple to the object of that type query triple with the matching subject, excluding by the computing system the retrieved triple from the results of the received query; and providing by the computing system as the results of the received query the retrieved triples that have not been excluded from the results of the received query.
3. A method performed by a computing system configured to provide results of a received query based on triples, the method comprising: accessing by the computing system a fact table having triples, each triple having a subject, a predicate, and an object, the subject and object being entities; accessing by the computing system a type table having a mapping from entities to one or more types of those entities, the type table having one entry for each of a plurality of entities that maps to the one or more types of that entity; accessing by the computing system the received query having one or more non-type query triples and one or more type query triples, each non-type query triple having a subject, a non-type predicate, and an object, and each type query triple having a subject, a type predicate, and an object; adding by the computing system to the type table mappings of entities to types corresponding to triples of the fact table that have a type predicate; retrieving by the computing system from the fact table triples that match the one or more non-type query triples; for each retrieved triple, when an entity of the retrieved triple matches the subject of a type query triple and the type table does not have a mapping from the entity of the retrieved triple to the object of that type query triple with the matching subject, excluding by the computing system the retrieved triple from the results of the received query; and providing by the computing system as the results of the received query the retrieved triples that have not been excluded from the results of the received query. 4. The method of claim 3 further comprising removing by the computing system from the fact table triples that have a type predicate.