I think the single most important component for me is a multi-dimensional approach to handling / finding single data-entities. Sounds technical, so let me explain:
Say, I have a certain NPC "Joe".
This Joe is an inhabitant of my City A.
City A lies in Country 1.
Therefore, Joe is a NPC of...