Skip to content

A curated list of resources for graph-related topics, including graph databases, analytics and science

Notifications You must be signed in to change notification settings

ekotwidodo/awesome-graph-universe

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 

Repository files navigation

Awesome Graph Universe 🌐

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! 🚀

Table of Contents


Graph Databases

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 Graph Databases

Property graphs allow nodes and edges to have associated properties, making them useful for more detailed graph representations.

  • Amazon Neptune Status Language - A managed graph database service that supports both RDF graphs (Triple Store) and property graphs.
  • ArangoDB Status Language - Multi-model database supporting graphs, documents, and key-value pairs.
  • Data Graphs Status - Ultra-fast graph database SaaS platform, easy to use, with openCypher.
  • Gremlin Server/TinkerGraph Status Language - Apache TinkerPop is an open source graph computing framework for graph database and graph analytics systems. As part of that offering TinkerGraph is a reference implementation of an OLTP graph database that provides an in-memory graph engine.
  • JanusGraph Status Language - A scalable, distributed property graph database optimized for querying massive graphs.
  • KuzuDB Status - A highly scalable, extremely fast, easy-to-use embeddedable graph database.
  • Memgraph Status Language - Open-source in-memory graph database, tuned for dynamic analytics environments.
  • Neo4j Status Language - A leading native graph database with high-performance queries for large datasets.
  • OrientDB Status Language - A multi-model database supporting graphs and documents.
  • TigerGraph Status Language - A fast, scalable graph database for enterprise applications and analytics.
  • Ultipa Graph Status Language - A real-time, native, property graph database with unlimited scalability.

Triple Stores (RDF Databases)

Triple stores are designed to store and query RDF (Resource Description Framework) data, which represents information in triples: subject-predicate-object.

  • AllegroGraph Status Language - A Horizontally Distributed, Multi-model (Vector, Document and Graph), Entity-Event Knowledge Graph platform
  • Amazon Neptune Status Language - A managed graph database service that supports both RDF graphs (Triple Store) and property graphs.
  • Blazegraph Status Language - A high-performance triple store used for RDF data.
  • GraphDB Status Language - An RDF database that helps create and query linked data.
  • Ontop VKG Status Language - The open source Virtual Knowledge Graph engine is used in several commercial products, open source projects and research projects for providing a SPARQL endpoint on top of relational sources and materializing relational data sources as RDF files.
  • QLever Status Language - Very fast SPARQL Engine, which can handle very large knowledge graphs like the complete Wikidata, offers context-sensitive autocompletion for SPARQL queries, and allows combination with text search.
  • Stardog Status Language - An enterprise knowledge graph platform, fully compliant with RDF and SPARQL.

Graph Engines

Graph engines are optimized systems for performing queries, computations, and analytics on large graph datasets, leveraging both hardware and software efficiencies.

  • AnzoGraph Status Language - A massively parallel, in-memory graph database engine for advanced analytics.
  • Apache TinkerPop Status Language - Apache TinkerPop is an open source graph computing framework for graph database and graph analytics systems.
  • Dgraph Status Language - A fast, distributed graph database system designed for real-time query execution.
  • GFQL Status Language Language - An easy-to-use open-source graph query language with dataframe-native columnar processing, optional GPU acceleration, and part of the pygraphistry/arrow/nvidia ecosystem.
  • GunDB Status Language - A decentralized graph database engine designed for distributed systems.
  • KuzuDB Status - A highly scalable, extremely fast, easy-to-use embeddedable graph database.
  • Memgraph Status Language - Open-source in-memory graph database, tuned for dynamic analytics environments.
  • PuppyGraph Status - Seamlessly query one or multiple data stores as a unified graph model.
  • TigerGraph Status Language - A real-time graph analytics platform that supports massive datasets and deep link analytics.

Knowledge Graphs

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 Status Language - A project aimed at extracting structured content from Wikipedia.
  • Google Knowledge Graph Status - Powering Google's search engine with structured knowledge representation.
  • Louie.AI, AI KG Status Language Language Real-time self-adjusting AI graph intelligence tier for popular scalable vector-capable databases with native support for scalable ingestion, targeting, analysis, and triggering.
  • Wikidata Status Language - A free and open knowledge graph that can be queried and used in various applications.
  • YAGO Status Language - A huge semantic knowledge base derived from Wikipedia, WordNet, and GeoNames.

Graph ETL

Knowledge Graph ETL (Extract, Transform, Load) refers to the process of extracting data from various sources, transforming it into a structured format suitable for a knowledge graph, and then loading it into a graph database.

  • Graph.Build Status Language - Graph.Build is a no-code platform dedicated to managing Ontologies, LPG schemas, and ETL workflows using source data to graph model production.

  • Ontopic Studio Status - Ontopic Studio enables the rapid creation of Knowledge Graphs from any relational data source, supporting both graph virtualization and ETL workflows.

  • Nodestream Status Language - Nodestream is a declarative framework for building, maintaining, and analyzing graph data.

  • TrustGraph Status Language - Bulk ingestion of PDFs, TXT, or MD files built directly to RDF graphs with mapped vector embeddings.


Graph Data Science and Analytics

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.

  • Amazon Neptune Analytics Status Language - Neptune Analytics is a memory-optimized graph database engine for analytics an graph algorithms.
  • Data Graphs Status - Stunning graph data visualizations and domain modelling tools.
  • GraphTool Status Language - An efficient Python module for manipulation and statistical analysis of graphs.
  • GraphX (Apache Spark) Status Language - 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 Status Language - A comprehensive library for graph algorithms and machine learning models.
  • NetworkX Status Language - A Python library for creating, manipulating, and studying complex networks.
  • PyGraphistry[AI] Status Language Language - Open source library & platform to leverage the power of graph visualization, analytics, ML, & AI, including with native GPU acceleration.
  • TigerGraph Graph Studio Status Language - Powerful tools for exploring and analyzing graph data.
  • Ultipa Graph Analytics & Algorithms Status Language - An extensible set of high-performance graph algorithms embedded within the graph computing engine to deliver optimal performance..

Graph Computing

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 Status Language - A scalable graph processing system used by Facebook for social graph analysis.
  • GFQL Status Language Language - An easy-to-use open-source graph query language with dataframe-native columnar processing, optional GPU acceleration, and part of the pygraphistry/arrow/nvidia ecosystem.
  • GraphFrames (Apache Spark) Status Language - Combines the benefits of GraphX and DataFrames for scalable graph processing.
  • GraphLab Status Language - A high-performance, graph-based computation engine for machine learning applications.
  • Pregel Status Language - Google's graph processing model, inspired by Bulk Synchronous Parallel (BSP) systems.
  • PyGraphistry[AI] Status Language Language - Open source library & platform for data scientists and developers to leverage the power of graph visualization, analytics, ML, & AI, including with native GPU acceleration.
  • thatDot Streaming Graph Status Language - 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

Graph visualization tools can be used to visualize and interact with graphs, in a way that helps detect patterns in the data. Some are primarily meant for Purpose, that is for global pattern identification. Other have functionalities for Purpose, that is to identify pattern in the local context of nodes. Some tools are meant to Purpose or for Purpose .

Apps

  • Gephi Purpose visualization and exploration software for all kinds of graphs and networks. Gephi is open-source and free.

  • GraphAware Hume Purpose Connected Data Analytics Platform.

  • Graph Notebook Purpose The graph notebook provides an easy way to interact with graph databases using Jupyter notebooks. Using this open-source Python package, you can connect to any graph database that supports the Apache TinkerPop, openCypher or the RDF SPARQL graph models. Techno Techno Techno Techno Techno

  • Graphistry Hub, Graphistry Enterprise Purpose Language WebGL Visual investigation platform for graphs of all scales, including free GPU tier and many integrations

    Techno Techno Techno Techno Techno Techno.

  • 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 Purpose Exploring connected data in an immersive browser-based platform.

  • Kineviz, GraphXR,Neo4j GraphApp Purpose

  • Kineviz, SightXR Purpose Navigate unstructured data with visual knowledge maps and GenAI.

  • Linkurious Enterprise Purpose For interactive visual exploration of local graph patterns. Contextual decision intelligence solutions

  • Louie.AI Purpose WebGL Interactive genAI-native notebooks and dashboards with native integration for Python, Graphistry, and many databases Techno Techno Techno Techno Techno Techno.

  • metaphacts metaphacts offers a flexible, open platform for describing and querying graph data and for visualizing and interacting with knowledge graphs.

  • Neo4j Bloom Purpose Techno Explore and freely interact with Neo4j’s graph data platform with no coding required.

  • NeoDash Purpose Build dashboards (tables, maps, graph visualization,...) from data in a Techno db.

  • SemSpect Purpose No-code graph exploration. Techno RDF

  • TheBrain Purpose Organizing notes and documents in a graph structure, with creation of visual representation of relations with the mouse.

  • WebVOWL RDF Ontologies visualization

  • yWork, yEd Desktop Purpose Easily draw graphs for illustration, with icons on nodes, styling of labels and relations.

  • yWork, yEd Live Purpose Display graphs with styling for nodes, relationships and apply several automatic layout algorithm and export to pdf , png, graphML.

  • yWorks, Data Explorer for Neo4j Purpose Extract nodes from a Techno db and display them by applying templates based on node labels. Resulting graph can be sent to yWork, yEd Live to further adjust the display.

Libraries

Various Language and Language libraries allow to display large networks.

  • Cytoscape Language
  • EasyGraph Language
  • GraphistryJS Status Language Language WebGL Open-source HTML, Node, React, vanilla JS library for quickly visualizing large-scale graph data in Graphistry, including with native GPU acceleration.
  • iGraph Language
  • Linkurious, Ogma Language
  • NetworkX Language
  • Orb - Open-source graph visualization library. Status Language
  • PyGraphistry Status Language Language WebGL - Open-source library & platform for quickly visualizing large-scale graph data, including with native CPU & GPU acceleration, and native support for most Python notebook and dashboard environments and leading graph packages.
  • Sigma.js Language
  • yWorks, yFiles for HTML Diagramming SDK to precisely display and interect with different shapes of graphs.
  • yWorks, yFiles for Jupyter Language interactive graph visualization widget for Jupyter Notebooks and Google Colab supporting Python Objects, Pandas Dataframes, NetworkX graphs Neo4j graphs explorer

GraphRAG Infrastructure

GraphRAG refers to using knowledge graphs for the basis of RAG (Retrieval-Augmented Generation) to improve the accuracy of Generative AI responses.

  • GraphRAG Status Language - Microsoft's open source project to deploy a GraphRAG solution
  • Louie.AI, AI KG Status Language Language Real-time self-adjusting AI graph intelligence tier for popular scalable vector databases with native support for scalable ingestion, targeting, analysis, and triggering.
  • TrustGraph Status Language - Full AI Engine with Native GraphRAG for Agent Development.

Graph Stream Processors

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 Status Language - 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.

Contributing

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.


License

CC0

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.

About

A curated list of resources for graph-related topics, including graph databases, analytics and science

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published