1. A system, comprising one or more processors; a memory; a non-transitory storage medium storing computer-readable instructions, the instructions, when executed, operative to cause the one or more processors to: maintain in the memory, for each association set corresponding to a first node of a plurality of nodes and an association type of a plurality of association types, a first index and a second index; wherein the first index comprises an ordered array of entries, each entry including a node identifier of a second node that is associated with the first node and a sorting attribute; wherein the second index comprises a hash table comprising entries corresponding to the node identifiers of respective second nodes that are associated with the first node; receive a command to add an association of a first association type between a first node and a second node, the command including a first node identifier and a second node identifier; access the memory against the first association type and the first node identifier to add the second node identifier to a first index and a second index corresponding to the first association type and the first node identifier.