A curated list of tools and resources for building and working with graphs.
Graph engineering is more than choosing a graph database. It covers how graph data is modeled, built, updated, checked, queried, visualized, and used in real-world projects. This list focuses on that full lifecycle instead of trying to catalog every graph database or knowledge graph project.
Workspai contributors maintain this list, but Workspai is reviewed under the same governance rules as every other entry.
- Start Here
- Foundations and Models
- Construction and Extraction
- Identity, Provenance, and Trust
- Quality and Validation
- Lifecycle and Change
- Query, Traversal, and Analytics
- Storage and Processing
- Interchange and Visualization
- Workspace Graphs
- AI, Retrieval, and Agent Graphs
- Benchmarks and Datasets
- Research, Courses, and Books
- Related Lists
- Contributing
- License
Use this reading order when entering the field:
- Choose an explicit graph model and identity strategy.
- Preserve provenance while extracting and reconciling facts.
- Measure integrity, ambiguity, unknowns, and coverage.
- Bind outputs to versions or source revisions.
- Design bounded queries and operational consumers before optimizing scale.
The working definition and scope are documented in the contribution guide.
- LinkML - Models linked data schemas in YAML and generates validation, documentation, and multiple representation formats.
- openCypher - Documents an open property-graph query language and its grammar, technology compatibility kit, and improvement process.
- RDF 1.2 Concepts - Defines the W3C graph data model, RDF datasets, identifiers, literals, entailment, and abstract syntax.
- SPARQL 1.2 Query Language - Defines graph-pattern matching, result forms, federation, updates, and expressions for querying RDF datasets.
- TypeDB - Provides a strongly typed database with a polymorphic type system and a declarative query language for complex domains.
- OWL 2 - Defines the W3C ontology language family for formally describing classes, properties, individuals, and logical constraints.
- Schema.org - Maintains a widely reused vocabulary for structured entities and relationships across web-visible domains.
- SKOS - Defines a W3C model for thesauri, taxonomies, classification schemes, and other knowledge organization systems.
- Apache Jena - Supplies Java libraries, servers, parsers, inference, storage, and SPARQL tooling for RDF and linked-data applications.
- KGTK - Processes large knowledge graphs through composable command-line operations for import, transformation, validation, and analysis.
- Morph-KGC - Generates RDF knowledge graphs from heterogeneous data sources by executing declarative R2RML and RML mappings.
- Nodestream - Defines declarative, plugin-based pipelines for building, maintaining, and analyzing graph data.
- Ontop - Exposes relational databases as virtual RDF knowledge graphs and translates SPARQL queries into SQL.
- RDFLib - Provides Python APIs for parsing, serializing, querying, and manipulating RDF graphs.
- RMLMapper - Executes declarative RML mappings that transform heterogeneous source data into RDF knowledge graphs.
- SPARQL Anything - Presents heterogeneous files and web resources through a uniform RDF view for SPARQL-based extraction and transformation.
- Dedupe - Applies active learning and probabilistic record linkage to entity resolution and structured-data deduplication.
- LIMES - Discovers links between entities across knowledge bases with configurable distance measures and scalable matching algorithms.
- OpenRefine - Cleans tabular data and reconciles values against external knowledge bases through reproducible transformations.
- Splink - Performs probabilistic record linkage at scale with explainable comparison models and multiple SQL backends.
- Zingg - Provides scalable entity resolution, identity matching, and deduplication with trainable machine-learning models.
- DataHub - Ingests metadata, ownership, schema, and lineage into a searchable graph for data discovery and governance.
- Marquez - Collects OpenLineage events and exposes job, dataset, and run relationships for operational lineage analysis.
- OpenLineage - Defines an open event standard and integrations for recording dataset, job, and run lineage across data systems.
- OpenMetadata - Connects technical metadata, lineage, ownership, quality, and governance signals in an open metadata platform.
- PROV-O - Maps the W3C provenance data model into OWL so entities, activities, agents, and derivations can be exchanged as RDF.
- RO-Crate - Packages research data and contextual metadata as a JSON-LD graph with profiles for interoperable provenance.
- ARK Alliance - Documents persistent Archival Resource Keys and operational guidance for durable, resolvable identifiers.
- Cool URIs for the Semantic Web - Gives practical W3C guidance for designing stable identifiers and dereferenceable names for real-world entities.
- Digital Object Identifier System - Defines persistent identifiers and resolution infrastructure for durable references to digital objects.
- Internationalized Resource Identifiers - Specifies the internationalized identifier syntax used to name graph resources across languages and scripts.
- RDF Dataset Canonicalization - Defines a deterministic canonical form for RDF datasets to support hashing, signing, comparison, and content-addressed identity.
- pySHACL - Validates RDF graphs against SHACL constraints and supports command-line, library, and optional inference workflows.
- SHACL - Specifies W3C shapes, constraints, validation results, and extension mechanisms for RDF graphs.
- Shape Expressions - Defines a compact language and ecosystem for describing and validating RDF graph structures.
- Cypher TCK - Supplies executable acceptance scenarios for checking Cypher implementations against shared language behavior.
- OOPS! - Detects common ontology modeling pitfalls and links findings to an explainable catalogue of design problems.
- RDFUnit - Runs data-quality test cases against RDF datasets and generates machine-readable validation reports.
- Testcontainers Neo4j - Starts disposable Neo4j instances for integration tests with production-like graph database behavior.
- CocoIndex - Runs incremental data transformations with lineage tracking and graph-aware targets for continuously changing sources.
- Differential Dataflow - Updates iterative graph computations efficiently as input collections change instead of recomputing every result.
- Neo4j Change Data Capture - Emits queryable change events for created, updated, and deleted graph entities so downstream views can stay synchronized.
- Quine - Builds standing queries over streaming event data represented as a continuously updated graph.
- Raphtory - Stores and analyzes temporal graph history with time-aware views, reachability, motifs, and windowed computation.
- TerminusDB - Combines a document and graph model with revision control, schema constraints, diff, and collaborative data workflows.
- graph-tool - Implements efficient Python graph analysis and statistical inference with a compiled C++ core.
- GraphBLAS - Standardizes graph algorithms as sparse linear algebra operations with portable mathematical semantics.
- GraphFrames - Adds DataFrame-based graph structures, motif finding, algorithms, and Pregel-style processing to Apache Spark.
- GraphScope - Combines large-scale graph loading, interactive queries, analytics, and learning behind a unified engine.
- Gunrock - Provides programmable CUDA and C++ primitives for high-performance GPU graph analytics.
- igraph - Implements efficient graph creation, analysis, community detection, centrality, and visualization algorithms.
- NetworKit - Focuses on parallel algorithms for interactive analysis of large networks through C++ and Python interfaces.
- NetworkX - Offers accessible Python data structures and algorithms for constructing, traversing, and analyzing networks.
- RAPIDS cuGraph - Accelerates graph analytics with GPU implementations and integrations across the RAPIDS ecosystem.
- rustworkx - Exposes high-performance Rust graph algorithms and data structures through a Python API.
- SNAP - Supplies a general-purpose C++ library for network analysis, graph mining, generators, and scalable algorithms.
- TinkerPop - Provides the Gremlin traversal language and a vendor-neutral graph computing framework for OLTP and OLAP systems.
- Apache AGE - Adds openCypher queries and graph capabilities to PostgreSQL as an Apache extension.
- ArangoDB - Combines graph, document, and key-value models with transactions and the declarative AQL query language.
- FalkorDB - Implements a low-latency property-graph database using GraphBLAS sparse matrices and openCypher queries.
- JanusGraph - Implements a distributed property-graph database over pluggable storage and indexing backends.
- Memgraph - Provides an in-memory property-graph database with Cypher queries, streaming integrations, and graph algorithms.
- NebulaGraph - Implements a distributed property-graph database with horizontal scaling, replication, and a SQL-like graph query language.
- Neo4j - Implements a property-graph database, Cypher query engine, transactions, and a broad graph tooling ecosystem.
- Oxigraph - Provides an embeddable and server-capable RDF store with SPARQL support in Rust and WebAssembly.
- QLever - Indexes and queries very large RDF graphs with SPARQL, text search, and context-sensitive completion.
- RDF4J - Supplies Java APIs, parsers, repositories, SPARQL, and server components for RDF storage and processing.
- Virtuoso Open Source - Combines RDF, SPARQL, SQL, linked-data publishing, and data integration in a multi-model server.
- DOT Language - Defines the text syntax used by Graphviz to describe directed, undirected, attributed, and clustered graphs.
- GEXF - Defines an XML exchange format for graph structures, attributes, hierarchies, dynamics, and visualization metadata.
- GraphML - Defines an XML-based exchange format for graph structure and application-specific attributes.
- GraphSON - Defines TinkerPop's JSON-based representations for property-graph elements, values, and typed serialization.
- JSON-LD 1.1 - Specifies a JSON syntax and processing model for linked data with globally identifiable graph semantics.
- N-Quads - Defines a line-oriented RDF dataset format that preserves named-graph membership and supports streaming workflows.
- Turtle - Defines a compact, human-readable syntax for serializing RDF triples with prefixes and abbreviated graph patterns.
- AntV G6 - Provides a JavaScript graph visualization engine with layouts, interactions, behaviors, and extensible rendering.
- Cytoscape.js - Renders and analyzes interactive graphs in browsers with extensible layouts and graph-theory algorithms.
- Gephi - Provides an interactive desktop environment for exploring, filtering, laying out, and visualizing networks.
- Graphistry - Loads, shapes, analyzes, and interactively explores large graphs with Python and optional GPU acceleration.
- Graphviz - Generates deterministic graph layouts and multiple output formats from the DOT language.
- Sigma.js - Renders large interactive network visualizations in the browser with WebGL.
- vis-network - Renders dynamic, customizable network diagrams in browsers with built-in interaction and layout support.
Workspace graphs connect code and repository structure with the wider software system: projects, services, dependencies, infrastructure, delivery, ownership, tests, documentation, and operational evidence.
- Code Property Graph - Specifies an extensible, language-agnostic graph schema that combines syntax, control flow, and data flow for code analysis.
- code-review-graph - Builds an incremental Tree-sitter code graph for blast-radius analysis, risk-scored reviews, affected tests, and bounded MCP context.
- CodeQL - Represents code in a queryable relational form for semantic analysis, security research, and cross-codebase queries.
- Glean - Collects, stores, derives, and queries structured facts and cross-references about source code at repository scale.
- Joern - Builds code property graphs from source code and exposes a query language for security and program analysis.
- Kythe - Defines a language-neutral code graph schema, indexers, verifiers, and cross-reference services for developer tooling.
- SCIP - Defines a language-agnostic code indexing protocol for precise navigation and cross-repository symbol relationships.
- ArchUnit - Imports Java code structure and lets tests enforce dependency, layering, cycle, and architecture constraints.
- Backstage Software Catalog - Models software ownership and metadata as entities and relations that power discovery, governance, and developer portals.
- Bazel Query - Queries the build dependency graph for paths, reverse dependencies, affected targets, and structural relationships.
- dependency-cruiser - Validates and visualizes JavaScript and TypeScript module graphs against maintainable architecture rules.
- Graphify - Maps code, documentation, schemas, and media into a queryable knowledge graph with provenance-aware edge confidence and local AST extraction.
- jQAssistant - Scans software structures into a graph and checks architecture, quality rules, analytics, and living documentation.
- Repowise - Connects code structure, dependencies, Git history, documentation, architectural decisions, health, and change risk in a local workspace graph.
- Software Heritage Graph Dataset - Publishes the Software Heritage archive as a deduplicated Merkle DAG of source, directory, commit, release, and origin objects.
- Workspai - Derives a revision-bound, proof-backed software knowledge graph from a canonical workspace model for impact, verification, and bounded context.
- Cartography - Collects cloud, identity, and infrastructure assets and their relationships into a queryable security graph.
- deps.dev - Exposes package versions, dependencies, licenses, advisories, and project links through an open dependency graph API.
- GUAC - Aggregates SBOMs, attestations, vulnerabilities, and package metadata into a software supply-chain knowledge graph.
- OpenTelemetry Service Graph Connector - Derives service dependency metrics from distributed traces inside the OpenTelemetry Collector.
- ORT - Analyzes dependency graphs and produces evidence for licensing, vulnerabilities, policy rules, and software supply-chain reviews.
- Graphiti - Builds temporally aware knowledge graphs for agent memory with incremental updates, provenance, and hybrid retrieval.
- HippoRAG - Combines knowledge graphs and Personalized PageRank for multi-hop retrieval inspired by long-term memory.
- LightRAG - Combines graph and vector indexes with incremental updates and dual-level retrieval for document collections.
- LlamaIndex Property Graph Index - Documents property-graph construction, retrieval, storage integration, and querying within LlamaIndex.
- Microsoft GraphRAG - Builds graph-based indexes and community summaries for retrieval over private text collections.
- Neo4j GraphRAG for Python - Provides graph retrieval, vector retrieval, knowledge-graph construction, and LLM integration for Python applications.
- TrustGraph - Orchestrates knowledge extraction, graph storage, embeddings, and GraphRAG services through configurable flows.
- LangGraph - Models long-running agent workflows as stateful graphs with persistence, interrupts, streaming, and human control.
- Prefect - Runs observable Python workflows as dependency graphs with state, retries, scheduling, and recovery.
- Graph500 - Defines data generators and traversal benchmarks for comparing large-scale graph-processing systems.
- LDBC Benchmarks - Maintains audited workloads, datasets, and rules for evaluating graph database and analytics systems.
- LDBC Graphalytics - Benchmarks graph-analysis platforms with standardized algorithms, datasets, validation, and reporting.
- Open Graph Benchmark - Provides graph machine-learning datasets, loaders, standardized splits, and evaluators for reproducible comparison.
- SNAP Network Datasets - Publishes documented real-world networks and ground-truth communities for graph mining and analysis.
- SuiteSparse Matrix Collection - Curates sparse matrices and graph problems with metadata for algorithm development and performance evaluation.
- Wikidata - Provides a collaboratively maintained, multilingual knowledge graph with open dumps and query services.
- CS224W: Machine Learning with Graphs - Teaches graph representation learning, graph neural networks, knowledge graphs, and large-scale network analysis.
- Graph Representation Learning - Provides an open textbook on graph embeddings, graph neural networks, generative models, and knowledge graphs.
- Knowledge Graphs - Provides an open textbook covering graph models, query languages, extraction, enrichment, quality, and applications.
- Network Science - Offers an open, interactive textbook on network structure, robustness, communities, spreading, and evolving graphs.
- Stanford CS520: Knowledge Graphs - Covers knowledge-graph modeling, creation, inference, access, and application through lectures and practical material.
- Awesome Graph - Catalogs graph databases, graph computing frameworks, query languages, services, and learning material.
- Awesome Graph Universe - Surveys databases, analytics, visualization, GraphRAG, stream processing, and other graph ecosystem resources.
- Awesome Knowledge Graph - Curates knowledge-graph learning material, infrastructure, datasets, construction tools, and related projects.
- Awesome Network Analysis - Curates software, libraries, courses, books, and research resources for network analysis.
Contributions are welcome. Read CONTRIBUTING.md for the two-minute pull request path, or use the Suggest a resource issue form if you prefer not to edit files.
Please submit one resource per pull request, explain why it is useful, and disclose any affiliation. The dependency-free validator runs with:
npm testThis list is dedicated to the public domain under CC0 1.0 Universal. Linked resources retain their own licenses and terms.