A Dependency Graph is a direct acyclic graph that represents the dependency relation between modules and is used to install dependency of dependency automatically.
dependency are generally stored in a tree format (ie the file system tree) and that's add a level of complexity to dependency manager because a direct acyclic graph allows a diamond relationship (ie two dependency of a dependency shares the same dependency)
For example:
The dependency graph takes the form of a diamond .