Welcome to Awesome Graph Universe, a curated list of resources, tools, libraries, and applications for working with graphs and networks. This repository covers everything from Graph Databases and Knowledge Graphs to Graph Analytics, Graph Computing, and beyond.
Graphs and networks are essential in fields like data science, knowledge representation, machine learning, and computational biology. Our goal is to provide a comprehensive resource that helps researchers, developers, and enthusiasts explore and utilize graph-based technologies.
Feel free to contribute by submitting pull requests! 🚀
- Graph Databases
- Graph Engines
- Knowledge Graphs
- Graph Data Science and Analytics
- Graph Computing
- Graph Visualization
- GraphRAG Infrastructure
- Graph Stream Processors
Graph databases are designed to store, manage, and query graph-structured data. They come in two main categories: Property Graphs and Triple Stores. Below are some key tools and their respective languages.
Property graphs allow nodes and edges to have associated properties, making them useful for more detailed graph representations.
- Amazon Neptune - A managed graph database service that supports both RDF graphs (Triple Store) and property graphs.
- ArangoDB - Multi-model database supporting graphs, documents, and key-value pairs.
- Data Graphs - Ultra-fast graph database SaaS platform, easy to use, with openCypher.
- JanusGraph - A scalable, distributed property graph database optimized for querying massive graphs.
- KuzuDB - A highly scalable, extremely fast, easy-to-use embeddedable graph database.
- Memgraph - Open-source in-memory graph database, tuned for dynamic analytics environments.
- Neo4j - A leading native graph database with high-performance queries for large datasets.
- OrientDB - A multi-model database supporting graphs and documents.
- TigerGraph - A fast, scalable graph database for enterprise applications and analytics.
Triple stores are designed to store and query RDF (Resource Description Framework) data, which represents information in triples: subject-predicate-object.
- Amazon Neptune - A managed graph database service that supports both RDF graphs (Triple Store) and property graphs.
- Blazegraph - A high-performance triple store used for RDF data.
- GraphDB - An RDF database that helps create and query linked data.
- Stardog - An enterprise knowledge graph platform, fully compliant with RDF and SPARQL.
Graph engines are optimized systems for performing queries, computations, and analytics on large graph datasets, leveraging both hardware and software efficiencies.
- AnzoGraph - A massively parallel, in-memory graph database engine for advanced analytics.
- Dgraph - A fast, distributed graph database system designed for real-time query execution.
- GunDB - A decentralized graph database engine designed for distributed systems.
- KuzuDB - A highly scalable, extremely fast, easy-to-use embeddedable graph database.
- Memgraph - Open-source in-memory graph database, tuned for dynamic analytics environments.
- PuppyGraph - Seamlessly query one or multiple data stores as a unified graph model.
- TigerGraph - A real-time graph analytics platform that supports massive datasets and deep link analytics.
Knowledge graphs connect data points into a rich semantic web of entities and relationships. They are often used in AI applications, search engines, and data integration platforms.
- DBpedia - A project aimed at extracting structured content from Wikipedia.
- Google Knowledge Graph - Powering Google's search engine with structured knowledge representation.
- Wikidata - A free and open knowledge graph that can be queried and used in various applications.
- YAGO - A huge semantic knowledge base derived from Wikipedia, WordNet, and GeoNames.
Graph data science focuses on analyzing the structure and patterns in graphs to solve complex problems in domains like recommendation systems, fraud detection, and social network analysis.
- Data Graphs - Stunning graph data visualizations and domain modelling tools.
- GraphTool - An efficient Python module for manipulation and statistical analysis of graphs.
- GraphX (Apache Spark) - A component of Apache Spark for graph-parallel computation.
- GraphFrames - GraphFrames is a package for Apache Spark which provides DataFrame-based Graphs in Scala, Java, and Python. Features includes motif finding and a Pregel engine.
- MAGE - Memgraph Advanced Graph Extensions is an open-source graph algorithms library written in C++, Python and Rust.
- Neo4j Graph Data Science - A comprehensive library for graph algorithms and machine learning models.
- NetworkX - A Python library for creating, manipulating, and studying complex networks.
- TigerGraph Graph Studio - Powerful tools for exploring and analyzing graph data.
Graph computing refers to the infrastructure and platforms that handle large-scale graph processing, often distributed across multiple machines for speed and scalability.
- Apache Giraph - A scalable graph processing system used by Facebook for social graph analysis.
- GraphFrames (Apache Spark) - Combines the benefits of GraphX and DataFrames for scalable graph processing.
- GraphLab - A high-performance, graph-based computation engine for machine learning applications.
- Pregel - Google's graph processing model, inspired by Bulk Synchronous Parallel (BSP) systems.
- thatDot Streaming Graph - Built on top of Quine, Streaming Graph is a high-performance stream processor designed for real-time, massively parallel, graph data processing and analytics, capable of ingesting millions of events per second.
Graph visualization tools can be used to visualize and interact with graphs, in a way that helps detect patterns in the data. Some are primiraly meant for , that is for global pattern identification. Other have functionalities for , that is to identify pattern in the local context of nodes. Some tools are meant to or for .
- Gephi visualization and exploration software for all kinds of graphs and networks. Gephi is open-source and free.
- GraphAware Hume Connected Data Analytics Platform.
- G.V() - A Graph Database Client compatible with Apache TinkerPop enabled graph databases that enables users to write and run Gremlin queries against their database, and visualize the results using various formats (graph visualization, JSON, tables, etc). It's also comes with query debugging/profiling features, and graph data exploration and editing features.
- Kineviz, GraphXR Exploring connected data in an immersive browser-based platform.
- Kineviz, GraphXR,Neo4j GraphApp
- Kineviz, SightXR Navigate unstructured data with visual knowledge maps and GenAI.
- Linkurious Enterprise For interactive visual exploration of local graph patterns. Contextual decision intelligence solutions
- Neo4j Bloom Explore and freely interact with Neo4j’s graph data platform with no coding required.
- NeoDash Build dashboards (tables, maps, graph visualization,...) from data in a db.
- SemSpect No-code graph exploration. RDF
- TheBrain Organizing notes and documents in a graph structure, with creation of visual representation of relations with the mouse.
- WebVOWL RDF Ontologies visualisation
- yWork, yEd Desktop Easily draw graphs for illustration, with icons on nodes, styling of labels and relations.
- yWork, yEd Live Display graphs with styling for nodes, relationships and apply several automatic layout algorithm and export to pdf , png, graphML.
- yWorks, Data Explorer for Neo4j Extract nodes from a db and display them by appling templates based on node labels. Resulting graph can be sent to yWork, yEd Live to further adjust the display.
Various and librairies allow to display large networks.
- Cytoscape
- EasyGraph
- iGraph
- Linkurious, Ogma
- NetworkX
- Orb - Open-source graph visualization library.
- Sigma.js
- yWorks, yFiles for HTML Diagramming SDK to precisely display and interect with different shapes of graphs.
- yWorks, yFiles for Jupyter interactive graph visualization widget for Jupyter Notebooks and Google Colab supporting Python Objects, Pandas Dataframes, NetworkX graphs Neo4j graphs explorer
GraphRAG refers to using knowledge graphs for the basis of RAG (Retrieval-Augmented Generation) to improve the accuracy of Generative AI responses.
- GraphRAG - Microsoft's open source project to deploy a GraphRAG solution
- TrustGraph - Full end-to-end and open source GraphRAG solution that deploys in minutes with a single line of code.
Graph stream processors enable real-time graph computations within event-stream processing systems. They integrate seamlessly into ETL pipelines or event streams, allowing graph operations to be performed on incoming data streams. These tools consume events, apply graph-based transformations or analyses, and emit processed events, facilitating dynamic graph processing as data flows through the system.
- Quine - Quine allows developers to combine multiple event streams into a single graph, query for complex event relationships to identify high value patterns, and take an action in real time.
Contributions are welcome! If you know of any valuable graph-related resources, tools, or libraries that should be included, feel free to submit a pull request or open an issue.
Please follow the contribution guidelines to maintain the quality and consistency of Awesome Graph Universe.
This repository is licensed under CC0 1.0 Universal, which means you can freely use and contribute to this project.
Happy Graphing! 😊
Inspired by the work of Jean-Baptiste Musso - which is currently inactive.