-- scienting-bundle/1: the SQLite file a reader or a server reads. -- Normative: spec/13-database.md. SQLite only: it uses FTS5. -- A bundle holds sql/doc.sql and sql/store.sql, then these tables. -- License: CC0-1.0. CREATE TABLE bundle_meta ( name VARCHAR(64) NOT NULL, value TEXT NOT NULL, PRIMARY KEY (name) ); -- One row per searchable unit: a sentence, a cell, an equation outside a sentence, or a figure-text item. -- `unit` is sentence, cell, equation or figure-text. `context` is the kind of the node's parent: -- paragraph, heading, caption, footnote, row and so on. A figure-text item names its panel as `node` -- and its role as `context`. `text` is the normalized plain projection; withheld text is never indexed. CREATE VIRTUAL TABLE search USING fts5( doc_key UNINDEXED, node UNINDEXED, unit UNINDEXED, context UNINDEXED, text, tokenize = 'unicode61 remove_diacritics 2' ); -- Reserved for embeddings with sqlite-vec; see spec/13-database.md. CREATE TABLE embeddings_meta ( model VARCHAR(128) NOT NULL, dimensions INTEGER NOT NULL, rights_use VARCHAR(64) NOT NULL, made_at VARCHAR(20) NOT NULL, PRIMARY KEY (model) );