in reply to Modelling a data structure

I think, for the moment you need to step back and design how you are going to use this data.

Figure out how you are going to work with it first. If force the data into some sort of structure without understanding how you are going to use, you will just make problems for yourself.

So to start, give us a sample of code that shows HOW you intend to use the data. Then will be easier for people to show you how to manipulate your data to match your interface.