# Fluree DB > A semantic graph database with time travel, branching, and verifiable data — built on W3C standards. ## Introduction - [Introduction](https://fluree.github.io/db/README.md): A semantic graph database with time travel, branching, and verifiable data — built on W3C standards. ## CLI (fluree-db-cli) - [CLI (fluree-db-cli)](https://fluree.github.io/db/cli/README.md): The fluree command-line interface provides a convenient way to manage ledgers, run queries, and perform transactions without running a… - [init](https://fluree.github.io/db/cli/init.md): Initialize a new Fluree project directory. - [create](https://fluree.github.io/db/cli/create.md): Create a new ledger. - [use](https://fluree.github.io/db/cli/use.md): Set the active ledger. - [list](https://fluree.github.io/db/cli/list.md): List all ledgers and graph sources. - [info](https://fluree.github.io/db/cli/info.md): Show detailed information about a ledger or graph source. - [branch](https://fluree.github.io/db/cli/branch.md): Manage branches for a ledger. - [cluster](https://fluree.github.io/db/cli/cluster.md): Bootstrap and manage a Raft cluster (replicated transaction servers). - [drop](https://fluree.github.io/db/cli/drop.md): Hard-drop an entire ledger (every branch under the name) or a graph source. - [graph](https://fluree.github.io/db/cli/graph.md): Manage named graphs within a single branch of a ledger. - [insert](https://fluree.github.io/db/cli/insert.md): Insert data into a ledger. - [upsert](https://fluree.github.io/db/cli/upsert.md): Upsert data into a ledger (insert or update existing). - [update](https://fluree.github.io/db/cli/update.md): Update data with full WHERE/DELETE/INSERT semantics. - [query](https://fluree.github.io/db/cli/query.md): Query a ledger. - [multi-query](https://fluree.github.io/db/cli/multi-query.md): Execute a multi-query envelope — bundle multiple JSON-LD and/or SPARQL - [history](https://fluree.github.io/db/cli/history.md): Show change history for an entity. - [export](https://fluree.github.io/db/cli/export.md): Export ledger data as Turtle, N-Triples, N-Quads, TriG, or JSON-LD. - [context](https://fluree.github.io/db/cli/context.md): Manage the default JSON-LD context for a ledger. - [log](https://fluree.github.io/db/cli/log.md): Show commit log for a ledger. - [show](https://fluree.github.io/db/cli/show.md): Show the decoded contents of a commit — assertions and retractions with resolved IRIs. - [index](https://fluree.github.io/db/cli/index.md): Build or update the binary index for a ledger. - [reindex](https://fluree.github.io/db/cli/reindex.md): Full reindex from commit history. - [config](https://fluree.github.io/db/cli/config.md): Manage configuration settings. - [prefix](https://fluree.github.io/db/cli/prefix.md): Manage IRI prefix mappings. - [token](https://fluree.github.io/db/cli/token.md): Manage JWS tokens for authentication with Fluree servers. - [auth](https://fluree.github.io/db/cli/auth.md): Manage authentication tokens for remote servers. Tokens are stored in .fluree/config.toml as part of the remote configuration. - [remote](https://fluree.github.io/db/cli/remote.md): Manage remote servers for syncing ledgers. - [upstream](https://fluree.github.io/db/cli/upstream.md): Manage upstream tracking configuration for ledgers. - [fetch](https://fluree.github.io/db/cli/fetch.md): Fetch refs from a remote server (similar to git fetch). - [pull](https://fluree.github.io/db/cli/pull.md): Pull commits from upstream and apply them to the local ledger, similar to git pull. - [push](https://fluree.github.io/db/cli/push.md): Push local ledger changes to upstream remote, similar to git push. - [publish](https://fluree.github.io/db/cli/publish.md): Publish a local ledger to a remote server. Creates the ledger on the remote if it doesn't exist, pushes all local commits, and configures… - [clone](https://fluree.github.io/db/cli/clone.md): Clone a ledger from a remote server, similar to git clone. - [track](https://fluree.github.io/db/cli/track.md): Track a remote ledger without storing local data. Tracked ledgers route reads and writes to the configured remote server while keeping a… - [server](https://fluree.github.io/db/cli/server.md): Manage the Fluree HTTP server from the CLI. The server inherits the same .fluree/ context (config file, storage path) as the CLI — one… - [memory](https://fluree.github.io/db/cli/memory.md): Developer memory — store and recall facts, decisions, and constraints. - [mcp](https://fluree.github.io/db/cli/mcp.md): Model Context Protocol (MCP) server for IDE agent integration. - [iceberg](https://fluree.github.io/db/cli/iceberg.md): Manage Apache Iceberg table connections. - [completions](https://fluree.github.io/db/cli/completions.md): Generate shell completions. ## Getting started - [Getting started](https://fluree.github.io/db/getting-started/README.md): Welcome to Fluree! This section will guide you through the essential steps to start using Fluree for your graph database needs. - [Fluree for SQL developers](https://fluree.github.io/db/getting-started/fluree-for-sql-developers.md): If you've spent years with PostgreSQL, MySQL, or SQL Server and are encountering a graph database for the first time, this guide bridges… - [Quickstart: run the server](https://fluree.github.io/db/getting-started/quickstart-server.md): This guide will get the Fluree server running on your machine in minutes. - [Quickstart: create a ledger](https://fluree.github.io/db/getting-started/quickstart-ledger.md): Ledgers are Fluree's fundamental unit of data organization—similar to databases in traditional systems. This guide shows you how to create… - [Quickstart: write data (insert/upsert/update)](https://fluree.github.io/db/getting-started/quickstart-write.md): This guide shows you how to write data to Fluree using three main patterns: insert, upsert, and update. - [Quickstart: query data (JSON-LD Query + SPARQL)](https://fluree.github.io/db/getting-started/quickstart-query.md): This guide introduces you to querying data in Fluree using both JSON-LD Query and SPARQL. - [Tutorial: end-to-end (search, time travel, branching, policies)](https://fluree.github.io/db/getting-started/tutorial-end-to-end.md): This tutorial walks through a realistic scenario — building a team knowledge base — to show how Fluree's differentiating features work… - [Using Fluree as a Rust library](https://fluree.github.io/db/getting-started/rust-api.md): This guide shows how to use Fluree programmatically in your Rust applications by depending on the fluree-db-api crate. ## Concepts - [Concepts](https://fluree.github.io/db/concepts/README.md): Fluree is a graph database that stores and queries data using RDF (Resource Description Framework) semantics. This section explains the… - [Ledgers and the nameservice](https://fluree.github.io/db/concepts/ledgers-and-nameservice.md): Ledgers are Fluree's fundamental unit of data organization—similar to databases in traditional RDBMS systems. The nameservice is the… - [Graph sources](https://fluree.github.io/db/concepts/graph-sources.md): Differentiator: Graph sources are one of Fluree's most powerful features, enabling seamless integration of specialized indexes and external… - [IRIs, namespaces, and JSON-LD @context](https://fluree.github.io/db/concepts/iri-and-context.md): In Fluree, all data identifiers use Internationalized Resource Identifiers (IRIs) - the internationalized version of URIs. IRIs uniquely… - [Datatypes and typed values](https://fluree.github.io/db/concepts/datatypes.md): Fluree enforces strong typing for all literal values, ensuring data consistency and enabling efficient indexing and querying. Every literal… - [Datasets and named graphs](https://fluree.github.io/db/concepts/datasets-and-named-graphs.md): Fluree supports SPARQL datasets, allowing queries to span multiple graphs simultaneously. This enables complex data integration scenarios… - [Edge annotations](https://fluree.github.io/db/concepts/edge-annotations.md): Edge annotations let you attach properties to a relationship — the connection between two subjects — without modeling an intermediate node… - [Time travel](https://fluree.github.io/db/concepts/time-travel.md): Differentiator: Fluree is a temporal database that preserves the complete history of all changes. Every transaction is timestamped,… - [Policy enforcement](https://fluree.github.io/db/concepts/policy-enforcement.md): Fluree enforces access control inside the database. Individual facts (flakes) are filtered against policy rules during query and… - [Verifiable data](https://fluree.github.io/db/concepts/verifiable-data.md): Differentiator: Fluree supports cryptographically signed transactions using industry-standard formats (JWS and Verifiable Credentials),… - [Reasoning and inference](https://fluree.github.io/db/concepts/reasoning.md): Fluree includes a built-in reasoning engine that can derive new facts from your ## Guides (cookbooks) - [Guides (cookbooks)](https://fluree.github.io/db/guides/README.md): Practical, task-oriented cookbooks for Fluree's key features. Each guide shows working patterns you can adapt to your use case. - [Query patterns](https://fluree.github.io/db/guides/cookbook-query-patterns.md): Practical recipes built on Fluree's list-value and path operators — unwind, - [Full-text and vector search](https://fluree.github.io/db/guides/cookbook-search.md): Fluree integrates BM25 full-text search and vector similarity directly into the query engine. Search results participate in joins, filters,… - [Time travel patterns](https://fluree.github.io/db/guides/cookbook-time-travel.md): Every transaction in Fluree is immutable. The database preserves complete history automatically — no audit tables, no trigger-based… - [Branching and merging](https://fluree.github.io/db/guides/cookbook-branching.md): Fluree lets you fork a ledger into independent branches, each with its own commit history. Experiment freely, then merge changes back when… - [Access control policies](https://fluree.github.io/db/guides/cookbook-policies.md): Fluree policies enforce access control inside the database — individual facts (flakes) are filtered based on the requesting identity. The… - [SHACL validation](https://fluree.github.io/db/guides/cookbook-shacl.md): SHACL (Shapes Constraint Language) is a W3C standard for defining constraints on graph data. In Fluree, SHACL shapes are evaluated at… - [Edge annotations](https://fluree.github.io/db/guides/cookbook-edge-annotations.md): Edge annotations attach properties to a relationship — the connection between two subjects — without hand-modeling an intermediate node.… - [owl:imports across named graphs](https://fluree.github.io/db/guides/cookbook-owl-imports.md): This walkthrough builds a small two-file ontology, links it together with ## Design - [Design](https://fluree.github.io/db/design/README.md): Architecture and design documents for Fluree's internal systems. These documents describe the rationale behind key design decisions, wire… - [Query execution and overlay merge](https://fluree.github.io/db/design/query-execution.md): --- - [Auth contract (CLI ↔ Server)](https://fluree.github.io/db/design/auth-contract.md): This document defines the wire-level contract between the Fluree CLI and any Fluree-compatible server (a standalone fluree-server, an… - [Nameservice schema v2](https://fluree.github.io/db/design/nameservice-schema-v2.md): Schema Version: 2 - [Storage-agnostic commits and sync](https://fluree.github.io/db/design/storage-agnostic-commits-and-sync.md): Fluree uses ContentId (CIDv1) values as the primary identifiers for commits, index roots, and other immutable artifacts. This decouples the… - [ContentId and ContentStore](https://fluree.github.io/db/design/content-id-and-contentstore.md): This document describes the content-addressed identity and storage layer introduced by the storage-agnostic commits design. For the full… - [Index format](https://fluree.github.io/db/design/index-format.md): This document describes the on-disk / blob-store formats used by Fluree’s binary indexes - [Edge annotations (storage internals)](https://fluree.github.io/db/design/edge-annotations.md): User-facing surface and contract live in Edge annotations (concept doc). This page is for contributors: the on-disk representation, the… - [Spatial index (GeoPoint + S2)](https://fluree.github.io/db/design/spatial-index.md): This document describes the design of Fluree's geospatial indexing system, covering both the inline GeoPoint encoding for POINT geometries… - [Namespace allocation and fallback modes](https://fluree.github.io/db/design/namespace-allocation.md): Fluree encodes IRIs as compact SIDs: a (nscode, local) pair where - [Ontology imports (f:schemaSource + owl:imports)](https://fluree.github.io/db/design/ontology-imports.md): Reasoning in Fluree needs to see a ledger's ontology — class and - [Cross-ledger model enforcement](https://fluree.github.io/db/design/cross-ledger-model-enforcement.md): Fluree's f:GraphRef shape lets a data ledger reference a graph - [Storage traits](https://fluree.github.io/db/design/storage-traits.md): This document describes the storage trait architecture in Fluree DB, explaining the design rationale and providing guidance for… - [Raft command queue and replicated state machine](https://fluree.github.io/db/design/raft-command-queue.md): How fluree-db-consensus's Raft mode replicates writes across a cluster. The operations-facing recipe (cluster bootstrap, day-2 admin,… ## HTTP API (fluree-db-server) - [HTTP API (fluree-db-server)](https://fluree.github.io/db/api/README.md): The Fluree HTTP API provides RESTful endpoints for all database operations. This section documents the complete API surface including… - [Overview](https://fluree.github.io/db/api/overview.md): The Fluree HTTP API provides a complete RESTful interface for database operations. This document provides a high-level overview of API… - [Endpoints](https://fluree.github.io/db/api/endpoints.md): Complete reference for all Fluree HTTP API endpoints. - [Multi-query envelope](https://fluree.github.io/db/api/multi-query.md): > Endpoint: POST /v1/fluree/multi-query - [Streaming query (NDJSON)](https://fluree.github.io/db/api/streaming-query.md): > Endpoints - [Headers, content types, and request sizing](https://fluree.github.io/db/api/headers.md): This document covers HTTP headers, content type negotiation, request size limits, and related considerations for the Fluree HTTP API. - [Signed requests (JWS/VC)](https://fluree.github.io/db/api/signed-requests.md): Fluree supports cryptographically signed requests using JSON Web Signatures (JWS) and Verifiable Credentials (VC). This provides… - [Errors and status codes](https://fluree.github.io/db/api/errors.md): This document provides a complete reference for HTTP status codes and error responses in the Fluree API. ## Query - [Query](https://fluree.github.io/db/query/README.md): Fluree supports two powerful query languages for querying graph data: JSON-LD Query (Fluree's native query language) and SPARQL (the W3C… - [JSON-LD Query](https://fluree.github.io/db/query/jsonld-query.md): JSON-LD Query is Fluree's native query language, providing a JSON-based interface for querying graph data. It combines the expressiveness… - [SPARQL](https://fluree.github.io/db/query/sparql.md): Fluree provides full support for SPARQL 1.1, the W3C standard query language for RDF, plus the RDF 1.2 / SPARQL 1.2 edge-annotation subset… - [Output formats (JSON-LD / SPARQL JSON / typed JSON / Agent JSON)](https://fluree.github.io/db/query/output-formats.md): Fluree supports multiple output formats for query results, each optimized for different use cases. You can choose the format that best fits… - [Datasets, FROM/FROM NAMED, and multi-graph execution](https://fluree.github.io/db/query/datasets.md): Fluree supports SPARQL datasets, enabling queries across multiple graphs and ledgers simultaneously. This provides powerful data… - [CONSTRUCT](https://fluree.github.io/db/query/construct.md): CONSTRUCT queries generate RDF graphs from query results, enabling you to transform and reshape data into new graph structures. - [Graph crawl](https://fluree.github.io/db/query/graph-crawl.md): Graph crawl enables recursive traversal of relationships — following links between entities to discover connected data. This is built on… - [Explain plans](https://fluree.github.io/db/query/explain.md): Explain plans provide insight into how the query planner reorders WHERE-clause - [Tracking and fuel limits](https://fluree.github.io/db/query/tracking-and-fuel.md): Fluree provides query tracking and fuel limits to monitor and control query execution, ensuring system stability and performance. - [Reasoning in queries](https://fluree.github.io/db/query/reasoning.md): This page covers how to enable and use reasoning in your queries. For - [Datalog rules](https://fluree.github.io/db/query/datalog-rules.md): Datalog rules let you define custom inference logic that goes beyond what ## Transactions - [Transactions](https://fluree.github.io/db/transactions/README.md): Transactions are how you write data to Fluree. This section covers all transaction patterns, formats, and behaviors. - [Overview](https://fluree.github.io/db/transactions/overview.md): This document provides a comprehensive overview of how transactions work in Fluree, from submission to final indexing. - [Insert](https://fluree.github.io/db/transactions/insert.md): Insert operations add new data to Fluree. This is the most common transaction type for creating new entities and relationships. - [Upsert](https://fluree.github.io/db/transactions/upsert.md): Upsert operations provide idempotent transactions by replacing the values of the predicates you supply for an entity (matched by @id). - [Update (WHERE/DELETE/INSERT)](https://fluree.github.io/db/transactions/update-where-delete-insert.md): The WHERE/DELETE/INSERT pattern enables targeted updates to existing data in Fluree. This is the most flexible update mechanism, allowing… - [Conditional updates (atomic / compare-and-swap)](https://fluree.github.io/db/transactions/conditional-updates.md): Fluree's WHERE/DELETE/INSERT transaction model supports powerful conditional update patterns that depend on the current database state.… - [Retractions](https://fluree.github.io/db/transactions/retractions.md): Retractions remove data from Fluree. While data is never truly deleted (it remains in history), retractions mark triples as no longer… - [Turtle ingest](https://fluree.github.io/db/transactions/turtle.md): Fluree supports ingesting RDF data in Turtle (Terse RDF Triple Language) and TriG formats. Turtle is a compact, human-readable format for… - [Signed / credentialed transactions](https://fluree.github.io/db/transactions/signed-transactions.md): Fluree supports cryptographically signed transactions using JSON Web Signatures (JWS) and Verifiable Credentials (VC). Signed transactions… - [Commit receipts and tx-id](https://fluree.github.io/db/transactions/commit-receipts.md): Every successful transaction returns a commit receipt containing metadata about the transaction. This receipt provides important… - [Indexing side-effects](https://fluree.github.io/db/transactions/indexing-side-effects.md): Transactions in Fluree trigger background indexing processes that build query-optimized data structures. Understanding these side-effects… ## Ledger configuration (config graph) - [Ledger configuration (config graph)](https://fluree.github.io/db/ledger-config/README.md): Fluree stores ledger-level configuration as data inside each ledger, in a dedicated system graph called the config graph. This is distinct… - [Writing config data](https://fluree.github.io/db/ledger-config/writing-config.md): The config graph is mutated using normal ledger transactions — config writes are signed, versioned, and replicable like any other write.… - [Setting groups](https://fluree.github.io/db/ledger-config/setting-groups.md): Each setting group configures a different subsystem. Groups are resolved independently — locking down one group does not affect others. - [Override control](https://fluree.github.io/db/ledger-config/override-control.md): Fluree's config resolution follows a three-tier precedence model. Each setting group is resolved independently, and an override control… - [Unique constraints](https://fluree.github.io/db/ledger-config/unique-constraints.md): Fluree supports transaction-time enforcement of property value uniqueness via f:enforceUnique. This is complementary to SHACL — it runs… ## Security and policy - [Security and policy](https://fluree.github.io/db/security/README.md): Fluree provides comprehensive security features including authentication, fine-grained access control through policies, and transparent… - [Authentication](https://fluree.github.io/db/security/authentication.md): Fluree supports multiple authentication mechanisms to cover different deployment scenarios — from standalone servers with no external… - [Storage encryption](https://fluree.github.io/db/security/encryption.md): Fluree supports transparent encryption of data at rest using AES-256-GCM authenticated encryption. When enabled, all data written to… - [Commit signing and attestation](https://fluree.github.io/db/security/commit-signing.md): Fluree supports cryptographic signing at two levels - [Policy model and inputs](https://fluree.github.io/db/security/policy-model.md): This is the reference for Fluree's access-control policy model. For a conceptual introduction, see Policy enforcement. For worked examples,… - [Policy in queries](https://fluree.github.io/db/security/policy-in-queries.md): Query-time enforcement uses Fluree's policy model to filter individual flakes during query execution. The query plan is the same regardless… - [Policy in transactions](https://fluree.github.io/db/security/policy-in-transactions.md): Transaction-time enforcement uses the same policy model as queries, switched on by f:action: f:modify. Where query-time enforcement filters… - [Programmatic policy API (Rust)](https://fluree.github.io/db/security/programmatic-policy.md): This guide covers how to use Fluree's policy system programmatically in Rust applications. - [Cross-ledger governance](https://fluree.github.io/db/security/cross-ledger-policy.md): A single model ledger can hold governance artifacts — ## Indexing and search - [Indexing and search](https://fluree.github.io/db/indexing-and-search/README.md): Fluree provides powerful indexing and search capabilities beyond standard graph queries. This section covers background indexing, full-text… - [Background indexing](https://fluree.github.io/db/indexing-and-search/background-indexing.md): Fluree maintains query-optimized indexes through a background indexing process. This document covers the indexing architecture,… - [Reindex API](https://fluree.github.io/db/indexing-and-search/reindex.md): The Reindex API provides full rebuilds of ledger indexes from the commit chain. Use this when you need to rebuild indexes from scratch,… - [Inline fulltext search](https://fluree.github.io/db/indexing-and-search/fulltext.md): Inline fulltext search enables BM25-ranked text scoring directly in queries, using the @fulltext datatype (or a ledger-level… - [BM25](https://fluree.github.io/db/indexing-and-search/bm25.md): Fluree provides integrated full-text search using the BM25 (Best Matching 25) ranking algorithm. BM25 indexes are implemented as graph… - [Vector search](https://fluree.github.io/db/indexing-and-search/vector-search.md): Vector search enables similarity search using embedding vectors, supporting use cases like - [Geospatial](https://fluree.github.io/db/indexing-and-search/geospatial.md): Fluree provides native support for geographic point data using the OGC GeoSPARQL standard. POINT geometries from geo:wktLiteral values are… ## Graph sources and integrations - [Graph sources and integrations](https://fluree.github.io/db/graph-sources/README.md): Graph sources extend Fluree's query capabilities by integrating specialized indexes and external data sources. Graph sources appear as… - [Overview](https://fluree.github.io/db/graph-sources/overview.md): Graph sources enable querying specialized indexes and external data sources using the same query interface as regular Fluree ledgers. This… - [Iceberg / Parquet](https://fluree.github.io/db/graph-sources/iceberg.md): Fluree integrates with Apache Iceberg to query data lake tables as graph sources. An R2RML mapping defines how Iceberg table rows are… - [R2RML](https://fluree.github.io/db/graph-sources/r2rml.md): R2RML (RDB to RDF Mapping Language) is a W3C standard for mapping tabular data into RDF triples. In Fluree, R2RML mappings are used to… - [BM25 graph source](https://fluree.github.io/db/graph-sources/bm25.md): BM25 indexes in Fluree are implemented as graph sources, allowing full-text search to be seamlessly integrated with structured graph… ## Fluree for AI and agents - [Fluree for AI and agents](https://fluree.github.io/db/ai/README.md): Fluree is a knowledge graph built for the way LLM agents actually work: a queryable, verifiable graph they can reason over, a Model Context… ## Memory - [Memory](https://fluree.github.io/db/memory/README.md): Persistent, searchable memory for AI coding assistants — built for real work. - [Getting started](https://fluree.github.io/db/memory/getting-started/README.md): Three steps and you're running - [Install Fluree](https://fluree.github.io/db/memory/getting-started/install.md): Fluree Memory ships as part of the fluree CLI. Install the binary once and you have both the database and the memory tooling. - [Quickstart](https://fluree.github.io/db/memory/getting-started/quickstart.md): 2 minutes to your first memory. - [Set up Claude Code](https://fluree.github.io/db/memory/getting-started/claude-code.md): Wire Fluree Memory into Claude Code so it saves and recalls memories for you. - [Set up Cursor](https://fluree.github.io/db/memory/getting-started/cursor.md): Wire Fluree Memory into Cursor so its agent mode saves and recalls memories for you. - [Set up VS Code (Copilot)](https://fluree.github.io/db/memory/getting-started/vscode.md): Wire Fluree Memory into VS Code with GitHub Copilot Chat so it can save and recall memories through MCP. - [Set up Windsurf](https://fluree.github.io/db/memory/getting-started/windsurf.md): Wire Fluree Memory into Windsurf (Codeium's IDE). - [Set up Zed](https://fluree.github.io/db/memory/getting-started/zed.md): Wire Fluree Memory into Zed's agent via MCP. - [Concepts](https://fluree.github.io/db/memory/concepts/README.md): Short, self-contained explanations of the ideas behind Fluree Memory. Read these once; they'll save you time when you're reading CLI… - [What is a memory?](https://fluree.github.io/db/memory/concepts/what-is-a-memory.md): A memory is a single structured record of something worth remembering about a project. Every memory has - [Repo vs user memory](https://fluree.github.io/db/memory/concepts/repo-vs-user.md): Fluree Memory has two scopes, and they live in separate files - [Updates and forgetting](https://fluree.github.io/db/memory/concepts/supersession.md): Memories are updated in place. When you update a memory, the same ID is kept and only the changed fields are modified. History is tracked… - [Recall and ranking](https://fluree.github.io/db/memory/concepts/recall-and-ranking.md): recall is how you get memories out. It's a keyword query against an inverted index with BM25 scoring — fast, local, and deterministic. - [MCP server](https://fluree.github.io/db/memory/concepts/mcp.md): Fluree Memory exposes its functionality over Model Context Protocol so AI coding agents can use it natively. The MCP server is bundled with… - [Secrets and sensitivity](https://fluree.github.io/db/memory/concepts/secrets-and-sensitivity.md): Memory is meant to be written freely and committed to git. That only works if secrets never land in there. - [Guides](https://fluree.github.io/db/memory/guides/README.md): Task-oriented walkthroughs for common situations. - [Team workflows: sharing memory via git](https://fluree.github.io/db/memory/guides/team-workflows.md): The whole point of repo.ttl is that memory becomes a team asset — captured once by whoever learns it, available to every teammate and every… - [Customizing the rules file](https://fluree.github.io/db/memory/guides/rules-file.md): When you run fluree memory mcp-install, a short "rules file" gets written alongside the MCP server config. This file tells your AI tool… - [Migrating from plain-markdown memory](https://fluree.github.io/db/memory/guides/migrating.md): Many teams start with one big markdown file that their AI tool reads on every session — CLAUDE.md, AGENTS.md, .cursorrules, .windsurfrules,… - [CLI reference](https://fluree.github.io/db/memory/cli/README.md): The fluree memory subcommands, alphabetically-ish. - [init](https://fluree.github.io/db/memory/cli/init.md): Initialize the memory store and optionally configure MCP for detected AI coding tools. Idempotent — safe to run repeatedly. - [add](https://fluree.github.io/db/memory/cli/add.md): Store a new memory. - [recall](https://fluree.github.io/db/memory/cli/recall.md): Search and retrieve relevant memories ranked by BM25 score. - [update](https://fluree.github.io/db/memory/cli/update.md): Update an existing memory in place. The memory keeps the same ID — only the changed fields are modified. History is tracked via git. - [forget](https://fluree.github.io/db/memory/cli/forget.md): Retract a memory permanently. Unlike update, forget removes the memory entirely — it stops existing. - [History via git](https://fluree.github.io/db/memory/cli/explain.md): The fluree memory explain command has been removed. Memory history is now tracked via git. - [status](https://fluree.github.io/db/memory/cli/status.md): Show a summary of the memory store. - [export / import](https://fluree.github.io/db/memory/cli/export-import.md): Round-trip memories as JSON. - [mcp-install](https://fluree.github.io/db/memory/cli/mcp-install.md): Install MCP configuration for an IDE so its agent can use memory tools. - [Reference](https://fluree.github.io/db/memory/reference/README.md): Lookups — the things you open once to check a specific detail. - [IDE support matrix](https://fluree.github.io/db/memory/reference/ide-matrix.md): Where each supported AI coding tool stores its MCP config and its rules file, and whether the config is scoped per-repo or global. - [Schema (mem: vocabulary)](https://fluree.github.io/db/memory/reference/schema.md): Every memory is a set of RDF triples. The mem: vocabulary defines the classes and predicates. - [TTL file format](https://fluree.github.io/db/memory/reference/ttl-format.md): The .fluree-memory/repo.ttl and .fluree-memory/.local/user.ttl files hold the serialized form of every memory in their respective scope.… ## Operations - [Operations](https://fluree.github.io/db/operations/README.md): This section covers operational aspects of running Fluree in production, including configuration, storage backends, monitoring, and… - [Configuration](https://fluree.github.io/db/operations/configuration.md): Fluree server is configured via a configuration file, command-line flags, and environment variables. - [Running with Docker](https://fluree.github.io/db/operations/docker.md): The official image (fluree/server) ships the fluree binary on a slim Debian base. This guide covers what's inside the image, how to… - [Storage modes (memory/file/AWS/IPFS)](https://fluree.github.io/db/operations/storage.md): Fluree supports four storage modes, each optimized for different deployment scenarios. This document provides detailed information about… - [Serverless storage choices](https://fluree.github.io/db/operations/serverless-storage.md): This guide covers storage placement for cloud and serverless deployments, especially - [Hardware sizing: CPU vs disk (benchmark)](https://fluree.github.io/db/operations/hardware-benchmarks.md): This guide is a concrete, reproducible example of how cloud hardware choices affect - [IPFS storage](https://fluree.github.io/db/operations/ipfs-storage.md): Fluree can use IPFS as a content-addressed storage backend via the Kubo HTTP RPC API. This enables decentralized, content-addressed data… - [DynamoDB nameservice](https://fluree.github.io/db/operations/dynamodb-guide.md): Fluree supports Amazon DynamoDB as a nameservice backend for storing ledger and graph source metadata. The DynamoDB nameservice provides - [Query peers and replication](https://fluree.github.io/db/operations/query-peers.md): This document describes how to run fluree-server in transaction mode (event source + transactions) and peer mode (read replica). It also… - [Raft clusters (replicated writes)](https://fluree.github.io/db/operations/raft-clusters.md): This guide is for operators who want to run fluree-server as a Raft-replicated cluster instead of a single-node transaction server. In this… - [Telemetry and logging](https://fluree.github.io/db/operations/telemetry.md): Fluree provides comprehensive logging, metrics, and tracing capabilities for monitoring and debugging production deployments. - [Distributed tracing integration](https://fluree.github.io/db/operations/distributed-tracing.md): This guide explains how to correlate your application's traces and logs with Fluree's internal instrumentation, whether you use Fluree as… - [Pack format: archive and restore](https://fluree.github.io/db/operations/pack-archive-restore.md): Fluree's .flpack format is a self-contained binary snapshot of an entire ledger -- commits, transaction payloads, and (optionally) binary… - [Admin, health, and stats](https://fluree.github.io/db/operations/admin-and-health.md): This document covers administrative operations, health monitoring, and server statistics for Fluree deployments. ## Troubleshooting - [Troubleshooting](https://fluree.github.io/db/troubleshooting/README.md): This section helps you diagnose and resolve common issues with Fluree deployments. - [Common errors](https://fluree.github.io/db/troubleshooting/common-errors.md): This document provides solutions for the most frequently encountered Fluree errors. - [Debugging queries](https://fluree.github.io/db/troubleshooting/debugging-queries.md): This guide provides tools and techniques for debugging query performance and correctness issues in Fluree. - [Performance investigation with distributed tracing](https://fluree.github.io/db/troubleshooting/performance-tracing.md): Fluree includes deep instrumentation that decomposes every query, transaction, and indexing operation into a span waterfall visible in… ## Reference - [Reference](https://fluree.github.io/db/reference/README.md): Reference materials for Fluree developers and operators. - [Glossary](https://fluree.github.io/db/reference/glossary.md): Definitions of key terms and concepts used throughout Fluree documentation. - [Fluree system vocabulary](https://fluree.github.io/db/reference/vocabulary.md): All Fluree system vocabulary lives under a single canonical namespace - [JSON-LD connection configuration](https://fluree.github.io/db/reference/connection-config-jsonld.md): This page documents the JSON-LD connection config supported by the Rust implementation. - [Standards and feature flags](https://fluree.github.io/db/reference/compatibility.md): This document covers Fluree's compliance with standards and feature flags. - [Graph identities and naming](https://fluree.github.io/db/reference/graph-identities.md): This document defines names → things and recommended naming conventions for Fluree. - [OWL & RDFS support](https://fluree.github.io/db/reference/owl-rdfs-support.md): This page lists every OWL and RDFS construct that Fluree's reasoning engine - [Crate map](https://fluree.github.io/db/reference/crate-map.md): Fluree is organized into multiple Rust crates, each with a specific purpose. This document provides an overview of the crate architecture… ## Contributing - [Contributing](https://fluree.github.io/db/contributing/README.md): Welcome to the Fluree contributor documentation! This section provides everything you need to contribute to Fluree. - [Dev setup](https://fluree.github.io/db/contributing/dev-setup.md): This guide walks through setting up a development environment for contributing to Fluree. - [Tests](https://fluree.github.io/db/contributing/tests.md): This guide covers testing practices, test organization, and how to run tests in the Fluree codebase. - [W3C SPARQL compliance suite](https://fluree.github.io/db/contributing/sparql-compliance.md): The testsuite-sparql crate runs official W3C SPARQL test cases against Fluree's parser and query engine. Every test is discovered… - [SHACL implementation](https://fluree.github.io/db/contributing/shacl-implementation.md): This is the contributor-facing guide to how SHACL validation is wired into Fluree. It covers the pipeline, the crate layout, and the places… - [Adding tracing spans](https://fluree.github.io/db/contributing/tracing-guide.md): When you add or modify code paths in Fluree, you should instrument them with tracing spans so that performance investigations can decompose… - [Releasing](https://fluree.github.io/db/contributing/releasing.md): Cutting a release is two phases: a release PR that bumps the version, then a tag pushed after the PR merges. The tag triggers cargo-dist,…