1. A method of managing and querying a graph, said method comprising the steps of: receiving said graph; partitioning said graph into at least one homogeneous block; compressing said at least one homogeneous block; and storing said compressed at least one homogeneous block in at least one file; wherein at least one of the steps is carried out using a computer device.