[{"data":1,"prerenderedAt":4},["ShallowReactive",2],{"readme:latticedb":3},"\u003Ch1>LatticeDB\u003C\u002Fh1>\n\u003Cp>\u003Cstrong>Embedded property-graph database with native vector and full-text indexing.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>LatticeDB is a single-file local database for connected, semantic, and textual data. It lets you traverse relationships, run vector similarity search, and do BM25 full-text search over the same dataset in one engine and one query layer. It is designed for relationship-heavy workloads on a single machine, with zero-config operation and an embedded single-writer model.\u003C\u002Fp>\n\u003Cp>LatticeDB is an embedded, single-file graph database that lets local applications query the same data by relationship, semantics, and text, then consume durable graph and application events from the same file. Workloads like Graph RAG, agent memory, and local knowledge tools are examples built on those primitives, not the definition of the engine.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>One file.\u003C\u002Fstrong> Your entire database is a single portable file. No server, no configuration.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>One query layer.\u003C\u002Fstrong> Graph traversal, HNSW vector similarity, and BM25 full-text — in the same query language.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>One event log.\u003C\u002Fstrong> Durable named streams and a built-in graph changefeed share the same transaction\u002FWAL path as graph writes.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Local-first.\u003C\u002Fstrong> Designed for one owning process on one machine, with WAL-backed durability.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Fast.\u003C\u002Fstrong> 0.13 μs node lookups. 0.83 ms vector search at 1M vectors with 100% recall.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cpre>\u003Ccode class=\"language-cypher\">\u002F\u002F Find chunks similar to a query, traverse to their document, then to the author\nMATCH (chunk:Chunk)-[:PART_OF]-&gt;(doc:Document)-[:AUTHORED_BY]-&gt;(author:Person)\nWHERE chunk.embedding &lt;=&gt; $query_vector &lt; 0.3\n  AND doc.content @@ \"neural networks\"\nRETURN doc.title, chunk.text, author.name\nORDER BY chunk.embedding &lt;=&gt; $query_vector\nLIMIT 10\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch2>Install\u003C\u002Fh2>\n\u003Cp>\u003Cstrong>CLI\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">curl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002Fjeffhajewski\u002Flatticedb\u002Fmain\u002Fdist\u002Finstall.sh | bash\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Python\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">pip install latticedb\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Published wheels are expected to bundle \u003Ccode>liblattice\u003C\u002Fcode> on supported platforms. Source installs can also bundle a staged native library during wheel builds with \u003Ccode>LATTICE_BUNDLE_LIB_DIR=\u002Fpath\u002Fto\u002Flib\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>TypeScript \u002F Node.js\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">npm install @hajewski\u002Flatticedb\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Published package tarballs are expected to bundle \u003Ccode>liblattice\u003C\u002Fcode> on supported platforms. Source checkouts can stage the native library into the package with \u003Ccode>LATTICE_BUNDLE_LIB_DIR=\u002Fpath\u002Fto\u002Flib npm run bundle:native\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Java\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Requires JDK 21+. See \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjeffhajewski\u002Flatticedb\u002Fblob\u002FHEAD\u002Fbindings\u002Fjava\u002FREADME.md\" rel=\"nofollow ugc noopener\">bindings\u002Fjava\u002FREADME.md\u003C\u002Fa> for the Maven build, which compiles the JNI bridge and stages \u003Ccode>liblattice\u003C\u002Fcode> from \u003Ccode>zig-out\u002Flib\u003C\u002Fcode>. A runnable knowledge-graph example is in \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjeffhajewski\u002Flatticedb\u002Fblob\u002FHEAD\u002Fbindings\u002Fjava\u002Fsrc\u002Fmain\u002Fjava\u002Fio\u002Flatticedb\u002Fexamples\" rel=\"nofollow ugc noopener\">bindings\u002Fjava\u002Fsrc\u002Fmain\u002Fjava\u002Fio\u002Flatticedb\u002Fexamples\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Go\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>See \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjeffhajewski\u002Flatticedb\u002Fblob\u002FHEAD\u002Fbindings\u002Fgo\u002FREADME.md\" rel=\"nofollow ugc noopener\">bindings\u002Fgo\u002FREADME.md\u003C\u002Fa> for the current cgo workflow. The default consumer path uses installed \u003Ccode>pkg-config\u003C\u002Fcode> metadata; in-repo development can use \u003Ccode>-tags repolocal\u003C\u002Fcode> against \u003Ccode>zig-out\u002Flib\u003C\u002Fcode>.\nThere is also a runnable graph\u002Fvector\u002Ftext retrieval example in \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjeffhajewski\u002Flatticedb\u002Fblob\u002FHEAD\u002Fexamples\u002Fgo\" rel=\"nofollow ugc noopener\">examples\u002Fgo\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>Recent binding-surface cleanups moved embedding helpers into dedicated modules and subpackages. See \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjeffhajewski\u002Flatticedb\u002Fblob\u002FHEAD\u002Fdocs\u002Fclient_api_migration.md\" rel=\"nofollow ugc noopener\">docs\u002Fclient_api_migration.md\u003C\u002Fa> for the preferred imports and current compatibility aliases.\u003C\u002Fp>\n\u003Ch2>Start Here\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjeffhajewski\u002Flatticedb\u002Fblob\u002FHEAD\u002Fdocs\u002Fgetting_started.md\" rel=\"nofollow ugc noopener\">Getting Started\u003C\u002Fa> maps the shortest path for CLI, Python, TypeScript, Go, and Java.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjeffhajewski\u002Flatticedb\u002Fblob\u002FHEAD\u002Fexamples\u002Fcli\u002FREADME.md\" rel=\"nofollow ugc noopener\">CLI Quickstart\u003C\u002Fa> is the smallest copy-paste example in the repo.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjeffhajewski\u002Flatticedb\u002Fblob\u002FHEAD\u002Fexamples\u002FREADME.md\" rel=\"nofollow ugc noopener\">Examples Overview\u003C\u002Fa> covers the larger graph\u002Fvector\u002Ftext retrieval demos.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2>Example\u003C\u002Fh2>\n\u003Cp>A complete example: create a small knowledge graph with documents and authors, store embeddings, index text, then query across all three search modes.\u003C\u002Fp>\n\u003Cp>The examples use the built-in \u003Ccode>hash_embed\u003C\u002Fcode> \u002F \u003Ccode>hashEmbed\u003C\u002Fcode> \u002F \u003Ccode>HashEmbed\u003C\u002Fcode> helper so they run with no\nexternal service. It is a deterministic placeholder, not a semantic embedding: similar text does not\nproduce nearby vectors, so a distance threshold is arbitrary and a similarity query may match nothing.\nUse a r\u003C\u002Fp>\n",1787958255393]