# FalkorDB Docs: FalkorDB Documentation

> Official FalkorDB documentation — the high-performance graph database for GraphRAG, Cypher queries, and knowledge graphs powering accurate GenAI applications.

> ## Agent Instructions
> FalkorDB is a graph database that speaks the Redis protocol. Queries are issued as OpenCypher through the GRAPH.QUERY and GRAPH.RO_QUERY commands, not over Bolt or a SQL connection.
> FalkorDB implements a subset of OpenCypher with proprietary extensions. Do not assume Neo4j-only syntax or procedures are available — check /cypher/cypher-support and /cypher/known-limitations before using a clause.
> FalkorDB is the successor to RedisGraph, but they are separate products. Do not present RedisGraph commands, versions, or limitations as current FalkorDB behavior.
> Use the official clients listed in /getting-started/clients rather than generic Redis or Neo4j drivers, and prefer the language the user is already working in.
> Configuration parameters are set with GRAPH.CONFIG SET or at startup; cite the exact parameter name from /getting-started/configuration rather than inventing one.
> This site covers four products: FalkorDB (core), FalkorDB Cloud, FalkorDB Enterprise, and the GraphRAG SDK. Name which one an answer applies to, since setup and operations differ.

## Documentation

### Home

- [FalkorDB](https://docs.falkordb.com/index.md): Official FalkorDB documentation — the high-performance graph database for GraphRAG, Cypher queries, and knowledge graphs powering accurate GenAI applications.
- [Data types](https://docs.falkordb.com/datatypes.md): FalkorDB supports a number of distinct data types, some of which can be persisted as property values and some of which are ephemeral.
- [Support](https://docs.falkordb.com/support.md): How to contact FalkorDB support, open a support ticket, and get help with your FalkorDB deployment.

### Getting Started

- [Getting Started](https://docs.falkordb.com/getting-started/index.md): Set up FalkorDB, model a social network as a graph, and query it with Cypher through any of the official FalkorDB client libraries.
- [Configuration](https://docs.falkordb.com/getting-started/configuration.md): Configure FalkorDB with Redis settings and module parameters for threads, cache, timeouts, query limits, and persistence. Adjust settings at load-time or runtime.
- [Client Libraries](https://docs.falkordb.com/getting-started/clients.md): Official FalkorDB client libraries for Python, Node.js, Java, Rust, Go, PHP, and C# with Object-Graph Mapping (OGM) support for Spring Data, and additional community clients.

### Cypher Language

- [Cypher Language](https://docs.falkordb.com/cypher/index.md): Complete Cypher query language reference for FalkorDB including clauses (MATCH, CREATE, DELETE), functions, procedures, algorithms, and indexing for graph queries.
- [MATCH](https://docs.falkordb.com/cypher/match.md): Match describes the relationship between queried entities, using ascii art to represent pattern(s) to match against.
- [OPTIONAL MATCH](https://docs.falkordb.com/cypher/optional-match.md): The OPTIONAL MATCH clause is a MATCH variant that produces null values for elements that do not match successfully, rather than the all-or-nothing logic for patterns in MATCH clauses.
- [WHERE](https://docs.falkordb.com/cypher/where.md): Filter query results in FalkorDB with the Cypher WHERE clause, using comparison operators, string predicates such as CONTAINS and STARTS WITH, and boolean logic.
- [RETURN](https://docs.falkordb.com/cypher/return.md): Define result-set properties with the RETURN clause in Cypher queries. Support for DISTINCT, aggregations (COUNT, SUM, AVG), and implicit GROUP BY functionality.
- [ORDER BY](https://docs.falkordb.com/cypher/order-by.md): Sort query results in FalkorDB with the Cypher ORDER BY clause, ordering by one or more properties in ascending or descending order.
- [SKIP](https://docs.falkordb.com/cypher/skip.md): The optional skip clause allows a specified number of records to be omitted from the result set.
- [LIMIT](https://docs.falkordb.com/cypher/limit.md): Can use the limit clause to limit the number of records returned by a query
- [CREATE](https://docs.falkordb.com/cypher/create.md): Use the CREATE clause to add new nodes and relationships to FalkorDB graphs. Create single or multiple entities, set properties and labels, and build complete graph patterns.
- [DELETE](https://docs.falkordb.com/cypher/delete.md): Use the DELETE clause to remove nodes and relationships from FalkorDB graphs. Deleting a node automatically removes all its incoming and outgoing relationships.
- [SET](https://docs.falkordb.com/cypher/set.md): SET is used to create or update properties on nodes and relationships.
- [MERGE](https://docs.falkordb.com/cypher/merge.md): The MERGE clause ensures that a path exists in the graph (either the path already exists, or it needs to be created).
- [WITH](https://docs.falkordb.com/cypher/with.md): The WITH clause allows parts of queries to be independently executed and have their results handled uniquely.
- [UNION](https://docs.falkordb.com/cypher/union.md): Combine results from multiple Cypher queries using the UNION clause. Use UNION ALL to keep all rows or UNION to remove duplicates from the combined result set.
- [UNWIND](https://docs.falkordb.com/cypher/unwind.md): The UNWIND clause breaks down a given list into a sequence of records; each contains a single element in the list.
- [FOREACH](https://docs.falkordb.com/cypher/foreach.md): The FOREACH clause feeds the components of a list to a sub-query comprised of updating clauses only
- [CALL](https://docs.falkordb.com/cypher/call.md): The CALL {} (subquery) clause allows local execution of subqueries, which opens the door for many comfortable and efficient actions on a graph.
- [LOAD CSV](https://docs.falkordb.com/cypher/load-csv.md): Load CSV files into FalkorDB with LOAD CSV clause for data import. Supports local files, remote HTTPS URLs, headers, custom delimiters, and batch processing.
- [Functions](https://docs.falkordb.com/cypher/functions.md): Complete reference for Cypher functions in FalkorDB including predicate, scalar, aggregating, list, mathematical, string, type conversion, node, path, and vector functions.
- [Procedures](https://docs.falkordb.com/cypher/procedures.md): Call built-in FalkorDB procedures from Cypher with the CALL and YIELD clauses, including a reference table of available procedures and the values they yield.
- [Cypher coverage](https://docs.falkordb.com/cypher/cypher-support.md): FalkorDB implements a subset of the Cypher language, which is growing as development continues.
- [REMOVE](https://docs.falkordb.com/cypher/remove.md): REMOVE is used to remove attributes from node and relationships, in addition to removing labels from nodes.
- [Known limitations](https://docs.falkordb.com/cypher/known-limitations.md): Known limitations of the FalkorDB Cypher implementation, including relationship uniqueness in match patterns and other behaviors that differ from openCypher.

#### Indexing

- [Indexing](https://docs.falkordb.com/cypher/indexing/index.md): FalkorDB supports single-property indexes for node labels and for relationship type. String, numeric, and geospatial data types can be indexed.
- [Range Index](https://docs.falkordb.com/cypher/indexing/range-index.md): Range indexes accelerate equality, range, and geospatial queries on node and relationship properties. Supported data types include strings, numbers, geospatial points, and scalar arrays.
- [Full-text Index](https://docs.falkordb.com/cypher/indexing/fulltext-index.md): FalkorDB provides full-text indices through procedure calls and DDL syntax.
- [Vector Index](https://docs.falkordb.com/cypher/indexing/vector-index.md): FalkorDB supports vector indexes for similarity search on vector embeddings, essential for AI and machine learning applications.

### Algorithms

- [Algorithms](https://docs.falkordb.com/algorithms/index.md): Explore FalkorDB's high-performance graph algorithms including pathfinding (BFS, shortest path), centrality measures (PageRank, betweenness), and community detection (WCC, CDLP).
- [BFS](https://docs.falkordb.com/algorithms/bfs.md): Breadth-First Search (BFS) explores a graph level by level, visiting all neighbors of a node before moving to the next depth.
- [Betweenness Centrality](https://docs.falkordb.com/algorithms/betweenness-centrality.md): Measures the importance of nodes based on the number of shortest paths that pass through them.
- [Community Detection using Label Propagation (CDLP)](https://docs.falkordb.com/algorithms/cdlp.md): Detect communities in graphs using Label Propagation (CDLP) algorithm. Identifies densely connected clusters in social networks, biological systems, and web structures.
- [PageRank](https://docs.falkordb.com/algorithms/pagerank.md): Rank nodes based on the number and quality of edges pointing to them, simulating the likelihood of a random traversal landing on each node.
- [algo.SPpaths](https://docs.falkordb.com/algorithms/sppath.md): Find shortest paths between two nodes with advanced cost and length constraints.
- [algo.SSpaths](https://docs.falkordb.com/algorithms/sspath.md): Explore all shortest paths from a single source node with weight, cost, and length constraints.
- [Weakly Connected Components (WCC)](https://docs.falkordb.com/algorithms/wcc.md): Find weakly connected components in FalkorDB: groups of nodes reachable from one another when edge direction is ignored, for community detection and data cleaning.
- [Harmonic Centrality](https://docs.falkordb.com/algorithms/harmonic-centrality.md): Measures node importance by summing inverse shortest-path distances to all reachable nodes, making it robust on disconnected graphs.
- [Max Flow](https://docs.falkordb.com/algorithms/maxflow.md): Compute the maximum flow that can be routed from source nodes to sink nodes in a directed, weighted FalkorDB graph, for throughput, routing, and matching problems.
- [MSF](https://docs.falkordb.com/algorithms/msf.md): Compute the minimum spanning forest of a weighted FalkorDB graph — one minimum spanning tree per connected component, containing no cycles.

### UDFs

- [UDFs](https://docs.falkordb.com/udfs/index.md): Learn how to extend FalkorDB with custom User Defined Functions (UDFs) written in JavaScript.

#### FLEX Function Reference

- [FLEX Function Reference](https://docs.falkordb.com/udfs/flex/index.md): Reference for FLEX, FalkorDB's open-source community UDF package with text, date, JSON, map, collection, bitwise, and similarity utilities.

##### Bitwise Functions

- [Bitwise Functions](https://docs.falkordb.com/udfs/flex/bitwise/index.md): FLEX bitwise functions for performing AND, OR, XOR, NOT, and bit shift operations on integers in Cypher queries.
- [bitwise.and](https://docs.falkordb.com/udfs/flex/bitwise/and.md): Performs a bitwise AND operation on two integers, returning 1 for each bit position where both operands have a 1.
- [bitwise.not](https://docs.falkordb.com/udfs/flex/bitwise/not.md): Performs a bitwise NOT (one's complement) on an integer, inverting all bits.
- [bitwise.or](https://docs.falkordb.com/udfs/flex/bitwise/or.md): Performs a bitwise OR operation on two integers, returning 1 for each bit position where at least one operand has a 1.
- [bitwise.shiftLeft](https://docs.falkordb.com/udfs/flex/bitwise/shiftLeft.md): Shifts all bits of an integer to the left by a specified number of positions, filling vacated positions with zeros.
- [bitwise.shiftRight](https://docs.falkordb.com/udfs/flex/bitwise/shiftRight.md): Performs a sign-propagating right bit shift, moving all bits right by a specified number of positions.
- [bitwise.xor](https://docs.falkordb.com/udfs/flex/bitwise/xor.md): Performs a bitwise XOR operation on two integers, returning 1 for each bit position where the operands differ.

##### Collection Functions

- [Collection Functions](https://docs.falkordb.com/udfs/flex/collections/index.md): FLEX collection functions for set operations, frequency analysis, and list manipulation in Cypher queries.
- [coll.frequencies](https://docs.falkordb.com/udfs/flex/collections/frequencies.md): Counts the frequency of each element in a list, returning a map of elements to their occurrence counts.
- [coll.intersection](https://docs.falkordb.com/udfs/flex/collections/intersection.md): flex.coll.intersection returns a new list holding only the elements that appear in both input lists, callable directly from a Cypher query.
- [coll.shuffle](https://docs.falkordb.com/udfs/flex/collections/shuffle.md): Returns a randomly shuffled copy of a list using the Fisher-Yates algorithm.
- [coll.union](https://docs.falkordb.com/udfs/flex/collections/union.md): Returns a list of all unique elements from both input lists, treating them as sets.
- [coll.zip](https://docs.falkordb.com/udfs/flex/collections/zip.md): Combines two lists element-by-element into a list of pairs, stopping at the shorter list's length.

##### Date Functions

- [Date Functions](https://docs.falkordb.com/udfs/flex/date/index.md): FLEX date functions for formatting, parsing, truncating, and converting date/time values in Cypher queries.
- [date.format](https://docs.falkordb.com/udfs/flex/date/format.md): Formats a date/time value using a token-based pattern, with optional timezone offset adjustment.
- [date.parse](https://docs.falkordb.com/udfs/flex/date/parse.md): Parses a date/time string into a Date object using an optional format pattern.
- [date.toTimeZone](https://docs.falkordb.com/udfs/flex/date/toTimeZone.md): Converts a date/time instant to the equivalent wall clock time in a specified timezone offset.
- [date.truncate](https://docs.falkordb.com/udfs/flex/date/truncate.md): Truncates a date/time to the specified unit (year, month, day, etc.), zeroing out all smaller units.

##### JSON Functions

- [JSON Functions](https://docs.falkordb.com/udfs/flex/json/index.md): FLEX JSON functions for serializing values to JSON strings and parsing JSON strings into maps or lists.
- [json.fromJsonList](https://docs.falkordb.com/udfs/flex/json/fromJsonList.md): Parses a JSON string and returns it as a list, returning an empty list on parse errors.
- [json.fromJsonMap](https://docs.falkordb.com/udfs/flex/json/fromJsonMap.md): Parses a JSON string and returns it as a map, returning an empty map on parse errors.
- [json.toJson](https://docs.falkordb.com/udfs/flex/json/toJson.md): Serializes a value (object, array, string, number, boolean, or null) to a JSON string.

##### Map Functions

- [Map Functions](https://docs.falkordb.com/udfs/flex/map/index.md): FLEX map functions for creating, merging, filtering, and transforming map values in Cypher queries.
- [map.fromPairs](https://docs.falkordb.com/udfs/flex/map/fromPairs.md): flex.map.fromPairs converts a list of two-element key-value arrays into a map, so Cypher queries can build maps dynamically.
- [map.merge](https://docs.falkordb.com/udfs/flex/map/merge.md): Performs a shallow merge of multiple maps, with later map values overriding earlier ones on key conflicts.
- [map.removeKey](https://docs.falkordb.com/udfs/flex/map/removeKey.md): flex.map.removeKey returns a copy of a map with a single key removed, leaving the original map unchanged. Callable directly from Cypher.
- [map.removeKeys](https://docs.falkordb.com/udfs/flex/map/removeKeys.md): flex.map.removeKeys returns a copy of a map with several keys removed at once, leaving the original map unchanged. Callable directly from Cypher.
- [map.submap](https://docs.falkordb.com/udfs/flex/map/submap.md): Creates a new map containing only the specified keys from the input map.

##### Similarity Functions

- [Similarity Functions](https://docs.falkordb.com/udfs/flex/similarity/index.md): FLEX similarity functions for measuring resemblance between sets and strings.
- [sim.jaccard](https://docs.falkordb.com/udfs/flex/similarity/jaccard.md): Computes the Jaccard similarity coefficient between two lists, returning a score between 0 (no overlap) and 1 (identical sets).

##### Text Functions

- [Text Functions](https://docs.falkordb.com/udfs/flex/text/index.md): FLEX text functions for case conversion, string formatting, padding, searching, and similarity metrics in Cypher queries.
- [text.camelCase](https://docs.falkordb.com/udfs/flex/text/camelCase.md): Converts a string to camelCase format, capitalizing the first letter of each word except the first.
- [text.capitalize](https://docs.falkordb.com/udfs/flex/text/capitalize.md): Converts the first character of a string to uppercase, leaving the remainder unchanged.
- [text.decapitalize](https://docs.falkordb.com/udfs/flex/text/decapitalize.md): Converts the first character of a string to lowercase, leaving the remainder unchanged.
- [text.format](https://docs.falkordb.com/udfs/flex/text/format.md): Formats a string by replacing numbered placeholders {0}, {1}, etc. with values from a parameters array.
- [text.indexOf](https://docs.falkordb.com/udfs/flex/text/indexOf.md): Finds the index of the first occurrence of a substring in a string, with optional range constraints.
- [text.indexesOf](https://docs.falkordb.com/udfs/flex/text/indexesOf.md): Returns an array of all positions where a substring occurs in a string, with optional range constraints.
- [text.jaroWinkler](https://docs.falkordb.com/udfs/flex/text/jaroWinkler.md): Computes the Jaro-Winkler similarity between two strings, returning a value between 0 (no similarity) and 1 (exact match).
- [text.join](https://docs.falkordb.com/udfs/flex/text/join.md): Joins an array of strings into a single string using a specified delimiter.
- [text.levenshtein](https://docs.falkordb.com/udfs/flex/text/levenshtein.md): Computes the Levenshtein edit distance between two strings, useful for fuzzy matching and spell checking.
- [text.lpad](https://docs.falkordb.com/udfs/flex/text/lpad.md): Pads the left side of a string with a specified character until it reaches a desired length.
- [text.regexGroups](https://docs.falkordb.com/udfs/flex/text/regexGroups.md): Extracts all regex matches and capture groups from a string, returning a nested array of results.
- [text.repeat](https://docs.falkordb.com/udfs/flex/text/repeat.md): flex.text.repeat returns a new string made of the input string repeated a given number of times, callable directly from a Cypher query.
- [text.replace](https://docs.falkordb.com/udfs/flex/text/replace.md): Replaces all occurrences of a regex pattern in a string with a replacement string.
- [text.rpad](https://docs.falkordb.com/udfs/flex/text/rpad.md): Pads the right side of a string with a specified character until it reaches a desired length.
- [text.snakeCase](https://docs.falkordb.com/udfs/flex/text/snakeCase.md): Converts a string to snake_case format, separating words with underscores and lowercasing all characters.
- [text.swapCase](https://docs.falkordb.com/udfs/flex/text/swapCase.md): Swaps the case of every character in a string — uppercase becomes lowercase and vice versa.
- [text.upperCamelCase](https://docs.falkordb.com/udfs/flex/text/upperCamelCase.md): Converts a string to UpperCamelCase (PascalCase) format, capitalizing the first letter of every word.

### Commands

- [Commands](https://docs.falkordb.com/commands/index.md): Reference for every FalkorDB command, from running openCypher queries with GRAPH.QUERY to managing configuration, constraints, indexes, and graph metadata.
- [GRAPH.QUERY](https://docs.falkordb.com/commands/graph.query.md): GRAPH.QUERY runs an openCypher query against a FalkorDB graph and returns a result set, with optional query timeout and compact result format.
- [GRAPH.RO_QUERY](https://docs.falkordb.com/commands/graph.ro-query.md): GRAPH.RO_QUERY runs a read-only openCypher query against a FalkorDB graph and returns an error if the query attempts any write.
- [GRAPH.DELETE](https://docs.falkordb.com/commands/graph.delete.md): Completely remove a graph and all its entities (nodes and relationships) from FalkorDB using the GRAPH.DELETE command with examples for multiple programming languages.
- [GRAPH.EXPLAIN](https://docs.falkordb.com/commands/graph.explain.md): GRAPH.EXPLAIN returns the execution plan FalkorDB would use for a query without running it, so you can inspect and tune query performance.
- [GRAPH.LIST](https://docs.falkordb.com/commands/graph.list.md): GRAPH.LIST returns the name of every graph key stored in the FalkorDB keyspace, with examples in Python, JavaScript, Java, and Rust.
- [GRAPH.PROFILE](https://docs.falkordb.com/commands/graph.profile.md): Executes a query and returns an execution plan augmented with metrics for each operation's execution
- [GRAPH.CONFIG-SET](https://docs.falkordb.com/commands/graph.config-set.md): GRAPH.CONFIG SET updates one or more FalkorDB configuration parameters at runtime. Values are not persisted across a server restart.
- [GRAPH.CONSTRAINT DROP](https://docs.falkordb.com/commands/graph.constraint-drop.md): GRAPH.CONSTRAINT DROP removes a mandatory or unique constraint from a node label or relationship type in a FalkorDB graph.
- [GRAPH.COPY](https://docs.falkordb.com/commands/graph.copy.md): GRAPH.COPY duplicates an existing graph under a new key, while the source graph stays fully accessible for the duration of the copy.
- [GRAPH.INFO](https://docs.falkordb.com/commands/graph.info.md): Returns information and statistics about the current executing commands
- [GRAPH.MEMORY](https://docs.falkordb.com/commands/graph.memory.md): GRAPH.MEMORY USAGE reports per-graph memory consumption in megabytes, broken down by nodes, edges, schemas, and indices, for monitoring and capacity planning.
- [ACL](https://docs.falkordb.com/commands/acl.md): Managing Access Control Lists, enabling administrators to control user permissions at a granular level
- [GRAPH.CONFIG-GET](https://docs.falkordb.com/commands/graph.config-get.md): Retrieve FalkorDB configuration parameters with GRAPH.CONFIG-GET command. Query specific settings or use '*' to get all configuration values for threads, timeouts, and limits.
- [GRAPH.CONSTRAINT CREATE](https://docs.falkordb.com/commands/graph.constraint-create.md): Create mandatory and unique constraints on FalkorDB graphs to enforce data integrity. Guarantee property existence and value uniqueness for nodes and relationships.
- [GRAPH.SLOWLOG](https://docs.falkordb.com/commands/graph.slowlog.md): View the 10 slowest queries executed against a FalkorDB graph with GRAPH.SLOWLOG command. Monitor query performance, execution times, and optimize slow operations.

### Operations

- [Operations](https://docs.falkordb.com/operations/index.md): Learn how to configure, deploy, and manage FalkorDB in production environments with Docker, persistence, replication, clustering, and Kubernetes support.
- [Replication](https://docs.falkordb.com/operations/replication.md): Configure FalkorDB Docker replication for high availability and redundancy. Set up master–replica architecture with step-by-step synchronization.
- [Cluster](https://docs.falkordb.com/operations/cluster.md): Set up a FalkorDB cluster with Docker for horizontal scalability and fault tolerance. Configure multiple master and replica nodes with step-by-step instructions.
- [Kubernetes support](https://docs.falkordb.com/operations/k8s-support.md): Deploy FalkorDB on Kubernetes step by step with the Helm chart and the official Docker image, including the values.yaml settings the FalkorDB image requires.
- [OpenTelemetry Integration](https://docs.falkordb.com/operations/opentelemetry.md): Guide for setting up OpenTelemetry tracing with FalkorDB Python applications
- [Railway](https://docs.falkordb.com/operations/railway.md): Deploy FalkorDB on Railway with verified templates for single-instance or cluster configurations. Includes connection, persistence, and production guidance.
- [Lightning.AI](https://docs.falkordb.com/operations/lightning-ai.md): Deploy FalkorDB on Lightning.AI platform to build fast, accurate GenAI applications using advanced RAG (Retrieval-Augmented Generation) with graph-enhanced context and relationships.
- [Building Docker](https://docs.falkordb.com/operations/building-docker.md): Build custom FalkorDB Docker containers from source with platform-specific examples for CentOS, Ubuntu, Debian, and Alpine. Manual installation and build system instructions.
- [KubeBlocks](https://docs.falkordb.com/operations/kubeblocks.md): Deploy and manage FalkorDB on Kubernetes with the KubeBlocks operator, which handles provisioning, scaling, and day-two operations for stateful workloads.
- [Docker and Docker Compose](https://docs.falkordb.com/operations/docker.md): Run FalkorDB with Docker and Docker Compose, covering the falkordb, falkordb-server, and falkordb-browser images plus authentication, persistence, and custom configuration.

#### Migration

- [Migration](https://docs.falkordb.com/operations/migration/index.md): Migrate data to FalkorDB from RedisGraph, Neo4j, Kuzu, RDF-based systems, and online SQL sources. Step-by-step guides for seamless data and application transitions with schema discovery.
- [RedisGraph to FalkorDB](https://docs.falkordb.com/operations/migration/redisgraph-to-falkordb.md): Migrate from RedisGraph to FalkorDB using an existing RDB snapshot. FalkorDB is fully compatible with RedisGraph RDB files, so no data conversion is needed.
- [Neo4j to FalkorDB](https://docs.falkordb.com/operations/migration/neo4j-to-falkordb.md): Migrate nodes, relationships, constraints, and indexes from Neo4j to FalkorDB using Cypher exports, CSV files, and a final validation pass.
- [Kuzu to FalkorDB](https://docs.falkordb.com/operations/migration/kuzu-to-falkordb.md): Migrate a Kuzu graph database to FalkorDB in two steps, using automatic schema discovery, CSV export, and the FalkorDB bulk loader.
- [RDF to FalkorDB](https://docs.falkordb.com/operations/migration/rdf-to-falkordb.md): Migrate RDF (TTL) data to FalkorDB property graph with schema extraction, URI shortening, CSV export, and automated loading. Python and Rust loaders for efficient data transfer.
- [SQL Sources to FalkorDB (Online Migration)](https://docs.falkordb.com/operations/migration/sql-to-falkordb.md): Run an online migration and incremental sync into FalkorDB from SQL sources such as PostgreSQL, MySQL, BigQuery, Snowflake, and ClickHouse using DM-SQL-to-FalkorDB.

#### Durability

- [Durability](https://docs.falkordb.com/operations/durability/index.md): Understand FalkorDB data durability with RDB snapshots, AOF logging, and graph-specific backup options (DUMP/RESTORE). Balance performance and data safety for production use.
- [Persistence on Docker](https://docs.falkordb.com/operations/durability/persistence.md): Configure persistent data storage for FalkorDB in Docker using volumes to ensure your graph data remains intact across container restarts and system reboots.
- [ACL Persistence on Docker](https://docs.falkordb.com/operations/durability/acl-persistence.md): Run FalkorDB in Docker with persistent Access Control List (ACL) users by mounting an external ACL file so users, passwords, and permissions survive container restarts and recreations.

#### FalkorDBLite

- [FalkorDBLite](https://docs.falkordb.com/operations/falkordblite/index.md): Embedded FalkorDB runtime with Python and TypeScript bindings for embedded graph, local development, testing, and CI/CD pipelines without managing external servers.
- [FalkorDBLite (Python)](https://docs.falkordb.com/operations/falkordblite/falkordblite-py.md): Embed FalkorDB in a Python application with FalkorDBLite, which installs, configures, and manages a local FalkorDB server for you — no separate database to run.
- [FalkorDBLite (TypeScript)](https://docs.falkordb.com/operations/falkordblite/falkordblite-ts.md): Embed FalkorDB in a Node.js or TypeScript process with FalkorDBLite, a zero-config graph database that starts and stops with your app — ideal for development, demos, and CI.

### The FalkorDB Design

- [The FalkorDB Design](https://docs.falkordb.com/design/index.md): How FalkorDB represents graphs internally using sparse adjacency matrices and linear algebra, and the design decisions behind the engine.
- [Client Specification](https://docs.falkordb.com/design/client-spec.md): What a FalkorDB client library needs to implement: the compact result set format, value decoding, procedure calls for resolving labels and property keys, and reference clients.
- [Result Set Structure](https://docs.falkordb.com/design/result-structure.md): FalkorDB result set format specification for redis-cli output including headers, data arrays, metadata, scalars, graph entities (nodes and relationships), and collections.
- [GRAPH.BULK endpoint specification](https://docs.falkordb.com/design/bulk-spec.md): Technical specification for the GRAPH.BULK endpoint used to import large datasets into FalkorDB with binary data format for nodes, edges, and properties.
- [Third Party](https://docs.falkordb.com/design/third-party.md): The third-party libraries bundled with FalkorDB, including GraphBLAS and xxHash, together with the open-source license that covers each one.
- [Atomicity and Concurrency](https://docs.falkordb.com/design/concurrency.md): How FalkorDB handles atomicity within queries and concurrency across multiple queries, including isolation guarantees and write serialization.

### References

- [References](https://docs.falkordb.com/references/index.md): Explore FalkorDB resources including blog posts, videos, research papers, tutorials, and technical articles about graph databases, GraphBLAS, and performance benchmarks.
- [FalkorDB License](https://docs.falkordb.com/references/license.md): Understanding the FalkorDB SSPLv1 license: usage rights, commercial applications, open-source requirements, internal use, and licensing FAQ for developers.
