Related to the above, it turns out that each type of commodity has its own way of carving the world into manageable regions.
We are accustomed to thinking that counties are in states, states in countries and countries in continents. Even that has its exceptions. In the world of commodities (natural gas versus sugar beets, versus solar power), this is the case. Furthermore, each industry divides up the world is often at odds with the way politics has carved up the world. Oil comes from some of the strangest places, such as the North Sea, which rarely shows up in ISO descriptions of geo regions. Additionally, different commodities carve up the world mostly based on how easy it is to move product around. So, oil thinks the Mediterranean is a region, and is not bothered by the fact that Libya, Italy, and Israel are in three different continents. They consider them to be in the same region (and not in the region with Nigeria, Germany, and Kazakhstan even though each of those share a continent with at least one of the Mediterranean countries.
The problem becomes more acute when you realize there are cross over points and opportunities for arbitrage. For instance, power can be made from oil, or natural gas (or hydro or wind or solar) and yet each of these commodities has divided up the world in ways that make it hard to do cross commodity comparison.
We built a clever way to have the best of both worlds by leveraging the existing Ontology symbol representation. We allow commodity specific rollups but recognize any time two rollups have shared a node. Because this information is stored in a graph it makes it straight forward to combine and aggregate information across commodities in regions that might coincide at some levels but be distinct at others.