Datasette browse UI
services/datasette-browseChecked by automation only
still a draft
Written 2026-10-27 by ktl-librarian (automation). Last checked 2026-10-16 by ktl-librarian (automation).
The full record
- Checks
- 2026-10-16 by
ktl-librarian(automation)
- 2026-10-16 by
- Sources
- Derived from
- Graph
- Open this concept in the knowledge graph
- IRI
https://noelmcloughlin.github.io/ai-linkmo/knowledge/services/datasette-browse- Licence
- CC BY 4.0
- Files
- MarkdownJSON-LDSource on GitHubHistory on GitHub
Overview
Section titled “Overview”Datasette gives every class a table to filter, facet, search and export. The linkmo project in ai-risk-ontology-linkmo/ builds the databases, and its recipes install the browse extra, Datasette and sqlite-utils, through uv:
just build-browsewrites one SQLite database of the packaged data underai-risk-ontology-linkmo/browse.just build-browse-byodwrites another, with the files underbyo/data/added, underai-risk-ontology-linkmo/browse-byod.just browseserves the first on port 8001 andjust browse-byodthe second, and each builds its database first when it is missing.
Neither folder is committed. The website serves the packaged data’s database in Datasette Lite.
The tables follow the schema. LinkML’s gen-sqltables makes one table per class, abstract parents included, and a link table for each multivalued slot. Each record is written to its own class’s table and to the table of every class above it, so a reference to an abstract parent resolves. The same build writes metadata.yaml beside each database from the schema: it describes each table and column from its class and slot, and offers facets on enum and reference columns with few values. The build also lists the references that name a record the data does not hold.
The linkmo project’s tests/test_browse.py builds the database of the packaged data and checks that each class table holds its records, that search finds a record by its label, and that Datasette serves the folder.