A graph is a data structure of vertices (nodes) and edges between them. It models any kind of relationship: social networks, road maps, package dependencies, microservices.
Types of graphs
Directed / Undirected — edges are directed (A→B) or not (A—B)
Weighted — edges have a weight (distance, cost)
Cyclic / Acyclic — contains cycles or not
DAG (Directed Acyclic Graph) — directed with no cycles. The npm/composer dependency graph