# herimap — European heritage ownership corpus

**Version 1.0.0** · published 2026-08-28 · Open Data Commons Open Database License (ODbL) v1.0 — https://opendatacommons.org/licenses/odbl/1-0/

83,382 documented heritage buildings across 45 countries. **65,927 of them
(79.1%) carry an estimate of whether the building is privately owned**, of which
**23,466 are estimated private**.

## What this is

A building-level inventory of European heritage sites with a systematic, documented ownership
estimate — derived from public sources, labelled by a published rubric, and released
with its error rates measured rather than asserted.

The estimates are **machine-generated and carry no human verification**. That is the corpus's
weakest point and it is stated here rather than left to be discovered.

**Scope rule: every row derives from a public source.** A row is included only if it names at least
one upstream source — Wikidata, OpenStreetMap or a national heritage register — listed in
`source_ids`. Buildings that registered owners or curators created on the herimap platform itself
are **deliberately excluded**: they were contributed directly by the people who live in them, under
a privacy notice that does not extend to open republication, and no permanently-licensed dataset
should carry them. **243 such rows were excluded from this build.**

The test is the presence of an upstream source, **not** of a Wikidata or OSM identifier — a row
taken from a national register is public-sourced and belongs here even though it carries neither.

## How good the estimates are

Validated against the French Mérimée register — about 46,000 protected monuments, with an
ownership field maintained by the Ministry of Culture. Acceptance thresholds were fixed and
committed **before the join was built**.

| | Precision | Recall |
|---|---:|---:|
| Private class, strict | **0.861** | **0.668** |
| Private class, broad (incl. company ownership) | **0.983** | **0.672** |

Three findings that must travel with those numbers:

- **The recall shortfall is abstention, not error.** 897 declined against 90 wrong. Where the
  classifier commits to an answer, recall is 0.957. That is a coverage problem, not a correctness
  problem.
- **Our own confidence score does not predict correctness** (0.811 `high` vs 0.828 `med`).
  Published as a null result. Filtering on confidence will not raise precision.
- **Coverage is partial.** The join reaches 26.1% of the register's in-scope private buildings.

**Validated for France only.** The other 44 countries are unvalidated.

## What a register asserted, and what this project inferred

Three columns keep those apart, because pooling them into one figure is the easiest way to overstate
this corpus.

| Column | What it holds |
|---|---|
| `ownership_basis` | `register_asserted` — a state register recorded the ownership; `estimated` — this project's classifier inferred it; `unclassified` — no ownership value at all. |
| `ownership_source` | Who asserted it: the register's short name where the basis is `register_asserted`, `herimap-classifier` where it is `estimated`, empty otherwise. |
| `source_ids` | Every upstream this row derives from, as semicolon-joined `scheme:id` pairs. |

**In this build:** 0 `register_asserted` · 65,927 `estimated` ·
17,455 `unclassified`. A register's value outranks the classifier's, because it is an
assertion rather than an inference.

⚠️ **The precision and recall above measure the classifier**, so they describe `estimated` rows.
Any figure computed across the corpus must say which basis it covers.

## Known limitations

1. **17,455 rows (20.9%) carry
   no ownership estimate at all** — they entered the pool after the classification sweep ran. Any
   share computed over this corpus must name its denominator.
2. **A `public` verdict does not mean the building is still standing.** The rubric routes a
   no-longer-standing building to `public` — a ruin in state care genuinely is publicly owned — so
   that one value carries two meanings. **At least 3,912 of the 16,743 `public` rows
   (23.4%) state demolition or ruin in their own `basis` text.** The true share is higher:
   this counts only rows that say so, and `basis` is free text. Anyone filtering `verdict=public`
   and reading it as "extant and publicly owned" will be wrong for roughly a quarter of them; read
   `basis` alongside `verdict`, or treat `public` as "not privately owned" and nothing further.
3. **Coverage error is larger than classification error.** Buildings documented in neither Wikidata
   nor OpenStreetMap are invisible here, and under-documentation is heaviest where heritage
   administration is weakest.
4. **This is a frame of *documented* heritage buildings estimated to be privately owned.** It is
   not a sample of European private heritage and must not be described as representative of it.
5. **Protected-building bias in the validation.** Mérimée holds protected monuments, so the study
   says nothing about undesignated houses.

## If one of these buildings is yours

Every record here came from OpenStreetMap and Wikidata, not from the owner, so an owner may be
reading about their own house for the first time. The ownership figure is an **estimate**, it is
published with its error rates, and for some buildings it is wrong.

To have a record corrected, to have the ownership estimate dropped while the building stays on the
map, or to have the record removed entirely: **write to info@herimap.eu** with the name and location
of the building. No account is needed and no reason is required. The full notice — what is held,
where it came from, why, and your rights — is at <https://herimap.eu/en/legal/corpus>.

One limit stated plainly: a dataset someone has already downloaded cannot be recalled from them. A
correction or removal reaches the site and every later release, and is noted in the release that
carries it.

## Files

| File | Purpose |
|---|---|
| `herimap-corpus-1.0.0.csv` | Flat table — spreadsheet and statistics |
| `herimap-corpus-1.0.0.geojson` | GIS ingestion |
| `herimap-corpus-1.0.0.jsonl` | Streaming / programmatic reuse |
| `datapackage.json` | Frictionless descriptor — schema, resources, licence |
| `dublin-core.xml` | Baseline descriptive metadata |
| `schema-org.jsonld` | Discoverability metadata |
| `SHA256SUMS` | Integrity |
| `LICENCE.md` | Licence and attribution |

## Reconciliation

The corpus is the database; the estimates come from committed curation artefacts. The two do not
cover identical populations, and the counts are published rather than reconciled away:

| | |
|---|---:|
| Corpus rows | 83,382 |
| ...with an ownership estimate | 65,927 |
| ...without | 17,455 |
| Excluded — no public upstream | 243 |
| Curated verdicts | 78,682 |
| ...reaching a corpus row | 65,927 |
| ...with no corpus row | 12,755 |

Verdicts with no corpus row are overwhelmingly buildings the import collapsed into a neighbour
within 200 m — the curation pool was assembled before that deduplication ran.

## Citation

> herimap (2026). *herimap — European heritage ownership corpus*, version 1.0.0.
> Open Data Commons Open Database License v1.0.

## Verifying this bundle

```
sha256sum -c SHA256SUMS
```

The build is deterministic: the same database state and the same publication date reproduce these
files byte for byte.
