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.
- 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.
- GraphTool - An efficient Python module for manipulation and statistical analysis of graphs.
- GraphX (Apache Spark) - A component of Apache Spark for graph-parallel computation.
- 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 refers to the tools that can be used to visualize graphs and in that way help detect important patterns in the data.
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.