1. A computer implemented method of querying an index data structure for one or more data objects, the index data structure comprising: a) a plurality of index keys for uniquely identifying potential data object context nodes, each index key being associated with a context node, at least one index key having a label that provides semantic content to a user; and b) one or more routing tables associated with each index key, the one or more routing tables comprising at least 5 path references selected from a preceding peer-to-peer graph, a following peer-to-peer graph, an ancestor peer-to-peer graph, and descendent peer-to-peer graph, wherein the index data structure is stored on a digital storage medium, the method comprising the following steps that are implemented by a computer processor: parsing a query into elementary steps; executing the elementary steps on the index data structure; and returning results of the query.