Graph theory is the branch of [[data science]] that focuses on the [[graph]] data structure. Graph theory is related to [[network science]], which includes subfields such as [[organizational network analysis]] and [[social network analysis]]. Advanced techniques in graph data science include - Graph ML - Graph Neural Networks - Graph RAG Python Tools and libraries for graph data science and network science include | Library | Description | | --------------------- | -------------------------------------------------------------- | | `networkx` | Easy and powerful for general-purpose network analysis | | `igraph` | Fast and efficient for large graphs (available in Python & R) | | `SNAP.py` | High-performance library from Stanford for social & web graphs | | `graph-tool` | Extremely fast, C++-based; steep learning curve | | `pyvis` / `holoviews` | Interactive visualizations for graph exploration | | `nxviz` | Visualization library designed for use with `networkx` | | `tulip`, `Gephi` | GUI tools for visual and exploratory analysis | | `netwulf` | Lightweight interactive graph visualizations from Python | | `pyG` | State-of-the-art graph deep learning | ## graph database The graph database is used for storing large graphs. Providers include - [[neo4j]] - StarDog [[Jure Leskovec]] of Stanford is the creator of the [Stanford Network Analysis Project](https://snap.stanford.edu/index.html) (SNAP). See his lecture series on [Machine Learning with Graphs](https://www.youtube.com/playlist?list=PLoROMvodv4rOP-ImU-O1rYRg2RFxomvFp) for class Stanford CS224W.