1. A computer-implemented method of processing an ontology, comprising: storing data in an ontology that includes a plurality of triples; partitioning the ontology into a plurality of partitions by at least representing the triples as vectors in a matrix and partitioning the matrix into block form; distributing the partitions among a plurality of reasoner instances; directing the reasoner instances to reason the partitions; and combining results from the reasoner instances.