1. A method for determining the cost of an asset in an environment, where the environment is modeled using a data model comprising a set of components and relationships representing logical or physical entities in an environment and the relationships between these entities, wherein each of the components and relationships in the data model has a type and a set of properties wherein each of the values for the type and set of properties of each of the components and relationships in the data model are based on the entities in the environment, each relationship represents a directional dependency associated with a first component and a second component and the data model is stored using a table schema comprising a component table for storing each component and a relationship table for storing each relationship, comprising: I. identifying an entity in the environment for which a cost is to be determined; II. calculating, by a computing device, the cost for the entity using a first component of the data model representing the entity, where calculating the cost for the entity comprises: A. determining a set of dependency chains that begin with the first component and end with a last component, wherein each dependency chain is different and comprises a set of components including the first component and the last component and a set of relationships between those components, wherein determining the set of dependency chains comprises: i. determining one or more relationships associated with the first component, and for each of the relationships: a. analyzing the relationship based on the type and directional dependency of the relationship to determine if the relationship is a cost-conferring relationship, and b. when the relationship is determined to be cost-conferring, adding the relationship and a second component associated with the relationship to the dependency chain, and c. determining if the dependency chain is in the set of dependency chains and, if not, adding the dependency chain to the set of dependency chains where the second component is the last component of the newly added dependency chain, and d. determining if the second component is the last component, if not, repeating the analyzing, adding and determining steps until the second component is the last component; III. calculating a cost for each of the dependency chains, wherein calculating a cost for a dependency chains comprises: A. determining a cost associated with each of the components in the dependency chain, B. determining an attribution percentage associated with each of the set of relationships of the dependency chain based on the type of each relationship, wherein the attribution percentage is equal to or less than 100%, and C. multiplying the attribution percentages for each of the set of relationships and the cost of the last component of the dependency chain; and IV. summing the costs for each of the dependency chains.