Natural-language access to cultural heritage data
CultureBot
Exploring Cultural Heritage Collections with Large Language Models
CultureBot grounds natural-language questions in a cultural knowledge graph, combines structured and textual retrieval, and generates answers that stay linked to the original repository records — instead of replacing them.
Paper in preparation — code and the live demo are available now.
Three reasons cultural heritage search falls short
Digital collections encode relations between objects, places, periods, providers, and rights — formalized through models like the Europeana Data Model (EDM) and CIDOC CRM. Keyword search and faceted filters give access to this data, but not to the questions people actually ask about it.
Users don't think like a catalogue
Faceted search requires knowing the right terms, fields, and spelling before you can explore. Real questions are relational and interpretive — which objects relate to a place and period, how artefacts differ across providers — and rarely reduce to a keyword.
One pipeline turns a natural-language question into structured graph queries and textual search together, so users never need to know the schema.
Generated answers lose their sources
Cultural records carry provenance and evidential weight: dates are approximate, attributions uncertain. Even when citations exist, they often appear as a detached list rather than part of the answer — making claims hard to trace and risking misleading historical connections.
Every answer cites the records that support it inline. Source links are part of the answer, not an appendix — and the system abstains rather than guess when evidence is thin.
Flat text retrieval blurs structure
A place can be a findspot, a subject, a production location, or just a passing mention — distinctions that matter for interpretation. Text-only retrieval can find a passage, but it can't expand a region, group by museum, or enforce a period constraint.
A cultural knowledge graph preserves these roles, so structural constraints are handled as validated, read-only graph queries — not text matching.
From a question to a grounded, sourced answer
Given a natural-language query, CultureBot grounds it against the knowledge graph, retrieves records through structured metadata relations and hybrid textual search, fuses the two, and generates a source-linked answer — the raw query is never sent straight to a language model.
-
1
Query grounding
User terms (e.g. “Thessaloniki area”) are fuzzy-matched against the graph and external vocabularies, surfacing candidate places, providers, and museums before any query is generated.
-
2
Knowledge-graph retrieval
An LLM translates the grounded query into read-only Cypher. Every query must start with
MATCH/OPTIONAL MATCH, contain aRETURNclause, reject write or admin operations, and pass a Neo4jEXPLAINcheck before it runs. -
3
Textual retrieval
Hybrid lexical (BM25) and semantic (FAISS) search over record renderings are combined into a single relevance score:
s(q, r) = α · slex(q, r) + (1 − α) · ssem(q, r) -
4
Retrieval fusion
Graph and textual results are merged and deduplicated, with metadata relations and text snippets attached to each selected record.
-
5
Answer generation
The model answers only from the fused, retrieved records, citing sources inline and abstaining when the collection doesn't contain enough evidence to answer.
Running on SearchCulture
CultureBot is repository-independent by design, and is currently instantiated on SearchCulture data covering the movable monuments of the Directorate of Mobile Monuments, Hellenic Ministry of Culture.
- Graph layer
- Structured metadata projected into a Neo4j property graph —
Object,Place,TimeSpan,Concept,Provider,Aggregation,Image,Rights,SourceURI— enriched with external vocabularies and place hierarchies. - Textual layer
- A hybrid FAISS + BM25 index over record renderings, deduplicated and combined with reciprocal
rank fusion. Embeddings:
text-embedding-3-large. - Serving layer
- Deployed as an OpenWebUI pipeline with configurable retrieval modes —
kg,rag, and the defaulthybrid— and runtime valves for model, context size, and retrieval depth.
Tested by the people who use these collections
Six domain experts — archaeologists and cultural heritage researchers — defined 12 realistic personas and authored 52 evaluation queries spanning factual lookup, spatial exploration, thematic comparison, object selection, image-oriented requests, and multi-step reasoning.
Per-query, per-system
Each of the 52 queries was answered by all four systems and rated by an expert against the originating persona — 208 expert answer evaluations in total. A parallel query-level assessment captured how hard each query would be to answer through manual SearchCulture search, and how long that would take.
Rubric dimensions
Quantitative results from this expert study are being finalized and will be reported alongside the full preprint.
Citation
The preprint is in preparation — a BibTeX entry will be published here once it is available.
@misc{culturebot,
title = {CultureBot: Exploring Cultural Heritage Collections
with Large Language Models},
author = {TBD},
year = {2026},
note = {Preprint in preparation}
}