Claims
claimsrelease v0.7.1CC0 1.0
About
The core table: one small statement per row, the same shape for every source (DATA_ARCHITECTURE.md 7.4).
- How far to trust it
- The release passed its automatic checks before it was published (what is checked). A hand check by the editor of qipu data is under way: 36 of 38 items checked so far were right, on votes, money, places and the map. A row says what the record states; the scanned page is the authority. Details
- Licence
- CC0 1.0: use it for anything, no permission needed. The scans and other sources keep their own rights.
- Version
- v0.7.1, published 21 October 2026. A published release is never changed; corrections come as a new release.
Technical details
- Table
- claims
- Rows
- 8,367,105 (San Francisco 8,367,105)
- Columns
- 55
- Parquet
- claims.parquet, 807.5 MB
- Version
- v0.7.1, 21 October 2026
- Licence
- CC0 1.0. Sources keep their own rights.
Rows
Rows by property
| Value | Rows | Share | |
|---|---|---|---|
| voted | 4,724,389 | 56.5% | |
| concerns_place | 732,104 | 8.7% | |
| outcome | 634,550 | 7.6% | |
| owned_by | 333,585 | 4.0% | |
| party | 320,223 | 3.8% | |
| occupied_by | 248,990 | 3.0% | |
| money | 223,558 | 2.7% | |
| use | 216,494 | 2.6% | |
| built | 191,364 | 2.3% | |
| stories | 185,701 | 2.2% | |
| units | 179,551 | 2.1% | |
| happened_at | 154,146 | 1.8% |
Rows by t_precision
Rows by place_precision
Method and accuracy
| Field | Made by | How well it is known |
|---|---|---|
| claims voted: value_text (yes/no/absent) | rules | Same as the roll-call counts above; unmeasured separately. |
The release passed its automatic checks before it was published (what is checked). A hand check by the editor of qipu data is under way: 36 of 38 items checked so far were right, on votes, money, places and the map. A row says what the record states; the scanned page is the authority.
Columns 55
| Column | Type | Can be empty | Privacy | Public copy | Description |
|---|---|---|---|---|---|
| subject_id | VARCHAR | no | none | as is | What the statement is about: a decision (qipu:sf/decision/...), a place, a person (qipu:sf/person/...) or an archive item (ia:<identifier>). |
| subject_label | VARCHAR | yes | free text | where property = 'voted': as is; where extraction_table IN ('showcase_search', 'media', 'dl_documents'): as is; otherwise: names of private people withheld under the embargo | Readable label of the subject. |
| property | VARCHAR | no | none | as is | Controlled list: outcome, voted, concerns_place, built, depicted_in, recorded_at, happened_at, ballot_result.Values outcome, action, voted, moved, seconded, sponsored, reported_by, party, money, rezoned, refers_to, acts_on ... |
| property_detail | VARCHAR | yes | none | as is | The source file's own name for the statement (e.g. sanborn_map_shows, voted_aye, timeline_moment). |
| object_id | VARCHAR | yes | none | as is | The other entity, when there is one (the decision a supervisor voted on; the place an archive item concerns). |
| value_num | DOUBLE | yes | none | as is | Numeric value (e.g. the year built from the assessor roll). |
| value_text | VARCHAR | yes | free text | where property IN ('party', 'owned_by', 'occupied_by'): shown for officials and organisations; a private person is withheld under the embargo; where extraction_table = 'x_enrich' AND property IN ('sold_for', 'leased', 'conveyed', 'took_position'): shown for officials and organisations; a private person is withheld under the embargo; where extraction_table = 'x_enrich' AND property IN ('held_role', 'sponsored', 'excused_from_vote'): as is; where property = 'voted': as is; where extraction_table IN ('showcase_search', 'media', 'dl_documents'): as is; otherwise: names of private people withheld under the embargo | Text value: the outcome, the vote (yes/no/absent/excused), the line as written. |
| summary | VARCHAR | yes | free text | where property = 'voted': as is; otherwise: names of private people withheld under the embargo | For outcome claims: the one-line plain summary of the decision. For votes: the printed outcome phrase. |
| unit | VARCHAR | yes | none | as is | Empty in v1. |
| currency | VARCHAR | yes | none | as is | Empty in v1. Values USD, CAD |
| value_year | INTEGER | yes | none | as is | Empty in v1 (money is not yet extracted). |
| t_from | VARCHAR | yes | none | as is | When: YYYY-MM-DD, YYYY-MM or YYYY. |
| t_to | VARCHAR | yes | none | as is | End of an interval (empty in v1). |
| t_precision | VARCHAR | yes | none | as is | day, month or year.Values day, month, season, year, decade, century, unknown |
| place_id | VARCHAR | yes | none | as is | Where (a qipu place id; qipu:sf/place/city for citywide).Values e.g. qipu:sf/place/block/1 |
| place_label | VARCHAR | yes | free text | private people's names withheld under the embargo | The place as written in the source. |
| place_precision | VARCHAR | yes | none | as is | How exactly the source places it: address, parcel, corner, segment, street, block, stated, named place, hood, city.Values point, address, building, parcel, corner, segment, block, survey_block, street, area, hood, district ... |
| lat | DOUBLE | yes | none | as is | Latitude where the source file gives one. Values degrees (WGS 84); 36.0..50.0 |
| lon | DOUBLE | yes | none | as is | Longitude where the source file gives one. Values degrees (WGS 84); SF-owned land reaches the Sierra (Hetch Hetchy, Camp Mather); -125.0..-119.0 |
| page_id | VARCHAR | yes | none | as is | The archive.org page: <identifier>:<leafNum> (IA's leaf number, the jp2 / IIIF number), or <identifier>:d<n> where only the BookReader index is known, or <url>:<page> for a web document. nopage:<seq> where the source gives no page number (sfbos rows without one): the row is kept, page_url is NULL.Values e.g. journalofproceed30sanfrich:1 |
| page_url | VARCHAR | yes | none | as is | Opens the page: archive.org BookReader link built from the leaf map (audited against IA's scandata), or <pdf url>#page=<n> for a PDF. NULL only where page_id is nopage:<seq>.Values e.g. https://archive.org/details/journalofproceed30sanfrich/page/n1 |
| source_id | VARCHAR | no | none | as is | The source: an archive.org identifier, or web:<url> for other sources. |
| source_url | VARCHAR | yes | none | as is | Link to the source page. |
| source_label | VARCHAR | yes | free text | where extraction_table IN ('showcase_search', 'media', 'dl_documents'): as is; otherwise: names of private people withheld under the embargo | Readable source name. |
| licence | VARCHAR | yes | none | as is | The source's licence where the source file states it. Values CC-BY, CC-BY-2.0, CC-BY-2.5, CC-BY-3.0, CC-BY-NC-3.0, CC-BY-NC-4.0, CC-BY-NC-ND-2.0, CC-BY-NC-ND-2.5, CC-BY-NC-ND-3.0, CC-BY-NC-ND-4.0, CC-BY-NC-SA-1.0, CC-BY-NC-SA-2.5 ... |
| quote | VARCHAR | yes | raw text | where extraction_table IN ('bos_records', 'resweep', 'map_blocks', 'x_decisions_v2', 'x_appraisals', 'site_decisions', 'hand_decisions', 'x_roll_calls'): left out for records under the embargo; otherwise: names of private people withheld under the embargo | Short quote of the source (<= 300 characters). See privacy_flag. |
| extraction_table | VARCHAR | yes | none | as is | Which table or file the statement came from (bos_records, resweep, x_roll_calls, map_blocks, site_decisions, ...).Values assessor_roll, board_permits, bos_records, dateline, dbi_permits, dl_documents, doors, first_built, hand_decisions, hood_stories, hood_timelines, land_1869 ... |
| run_id | VARCHAR | no | none | as is | The extraction run (see runs).Values bos-corpus-2026-09, dateline-2026-10, dl-tags-haiku55-2026-10, doors-2026-10, hand-2026-10, hood-stories-2026-10, hood-timelines-2026-10, ia-fulltext-places-2026-07, map-blocks-2026-10, map-blocks-items-2026-10, media-registry-2026-10, resweep-d1960-haiku55-2026-10 ... |
| seq | VARCHAR | yes | raw text | private people's names withheld under the embargo | The row id inside the source table or file. For map_blocks and site rows it is "<block>|<volume>/<leaf>|<first line>" (to be replaced by an id). |
| confidence | DOUBLE | yes | none | as is | 0-1 where a run gives one (votes: 0.95 when the printed counts match the names). Values probability 0-1; 0..1 |
| status | VARCHAR | yes | none | as is | extracted (machine-read), record (from an official register: assessor, DataSF), curated (written or checked by qipu for the map). No verified rows yet.Values extracted, record, curated, verified, corrected, disputed, retracted, superseded |
| inferred | BOOLEAN | yes | none | as is | True when the claim is inferred from others (none in v1). |
| claim_kind | VARCHAR | no | none | as is | event or observation.Values event, observation, interval |
| topic | VARCHAR | yes | none | as is | Topic label from the run. |
| outcome | VARCHAR | yes | none | as is | Decision outcome where known. Values amended, approved by voters, continued, failed, passed, pending, referred, refused, rejected, rejected by voters, submitted_to_voters, tabled ... |
| page_exact | BOOLEAN | yes | none | as is | True when the archive.org page number was converted from the OCR leaf with the per-volume leaf map; false = may be a page or two off. |
| privacy_flag | VARCHAR | yes | none | as is | may_name_private_person_after_1950 on Board text from 1952 on (records up to 1951 are open: the one cutoff, qipu_data/cutoff.py). The public SQLite leaves those quotes out.Values may_name_private_person, may_name_private_person_92y, may_name_private_person_after_1950 |
| name_printed | VARCHAR | yes | a person's name | officials and organisations shown; private people withheld under the embargo | Votes: the name as printed in the roll call. |
| city | VARCHAR | no | none | as is | sf or van.Values sf, van |
| rights_note | VARCHAR | yes | catalogue text | as is | What a reuser must know about the source's rights, in words (archive.org search hits, or a licence text longer than 80 characters moved here from licence). |
| collection_group | VARCHAR | yes | none | as is | For archive.org search hits (showcase_search): the group of the item's collection (Books and texts, Films and video, TV News Archive, ...).Values Audio, Books and texts, Democracy's Library, Films and video, Live Music Archive, Maps and images, Open Library, Other, Prelinger Archives, Radio, SF Public Library scans, TV News Archive ... |
| place_role | VARCHAR | yes | none | as is | How the claim relates to its place: at, along (a street), near (see qualifiers.distance_m), about (a document about the place) or bounds (v0.6.1: the street only bounds or locates the work, "Hanover street between Allison and Pope streets" for Allison and Pope; kept off street pages and the map).Values at, near, along, within, about, from, to, bounds |
| qualifiers | VARCHAR | yes | nested | field by field (below) | Extra details as JSON: role (party role), distance_m, payee and purpose (money), from/to (rezoning, street segment), period/rooms (rent), score (search relevance). |
| privacy_class | VARCHAR | yes | none | as is | Who a name in the claim belongs to: public_official (votes, motions), private_person (owners, named private parties) or organisation; empty when the claim names nobody.Values public_official, public_figure, organisation, private_person, unknown, none |
| public_after_year | INTEGER | yes | none | as is | For private_person claims: the claim's year plus the embargo (75 years in SF, 92 in Vancouver); 9999 when the year is unknown. Until then public files show the role, not the name. |
| claim_id | VARCHAR | no | none | as is | Stable id: c: + 32 hex (128 bits, hashed from the slot: subject, property, object, page, role); votes v:<rollcall_id>:<n> (roll calls read from the page text in v0.6.1 have ids p<hex>).Values e.g. c:c4ca4238a0b923820dcc509a6f75849b |
| n_support | BIGINT | yes | none | as is | How many extracted rows read this same claim (same claim_id); see claim_support. |
| media_id | VARCHAR | yes | none | as is | The media item the claim points to (depicted_in, recorded_at), see media. |
| release_added | VARCHAR | yes | none | as is | Release that built the row: v0.4 on every row (the build stamps the current release, not the first release that had the claim).Values v0.4 |
| display_n | INTEGER | yes | none | as is | archive.org BookReader page index of the cited page (the n in /page/n<k>); page_id uses the OCR leaf instead. |
| t_lo | DATE | yes | none | as is | Earliest date t_from can mean (1962 -> 1962-01-01). |
| t_hi | DATE | yes | none | as is | Latest date t_from can mean (1962 -> 1962-12-31; for YYYY/YYYY the end year). |
| reliability | VARCHAR | yes | none | as is | A property of the RUN, not of the claim: measured when the run that read this claim has scores in field_scores, else unmeasured. It is not the claim's reliability: how firmly a claim is backed is claim_reliability.tier (verified / quoted / unverified, with tier_reason). Planned rename in v0.7 (breaking): run_measured BOOLEAN.Values measured, unmeasured |
| mention_id | VARCHAR | yes | none | as is | The printed name this statement links to a person, organisation or name (votes, movers, owners), as a row of name_mentions (m:<hash>, internal: names are never published raw). Required on every such statement read from a page since v0.7 (check M3). |
| place_mention_id | VARCHAR | yes | none | as is | v0.7: the place string the statement was read with, as a row of place_mentions; set on statements read from a page and placed finer than the city (check M4).Values e.g. pm:c4ca4238a0b92382 |
Privacy: what kind of text the column holds. Public copy: what the published file does with it; the embargo covers records after 1951.
Preview
| subject_id | subject_label | property | property_detail | object_id | value_num | value_text | summary |
|---|---|---|---|---|---|---|---|
| decision/jour…nfrich:1980/2 | — | party | party | — | — | G. E. Stechert & Co. | — |
| person/james-emmet-hayden | Hayden | voted | voted | decision/jour…nfrich:1372/2 | — | yes | — |
| place/address/eas-446893 | 336 OFARRELL ST | owned_by | owned_by | — | — | Knight, Samuel | — |
| place/address/eas-504492 | 517A 04TH AVE | owned_by | owned_by | — | — | McAdoo, Regina | — |
| decision/jour…anfrich:773/3 | Salary and position changes for the Hetch Hetchy Water Sup… | outcome | outcome | — | — | passed | Salary and position changes for the Hetch Hetchy Water Sup… |
| decision/jour…anfrich:481/5 | — | concerns_place | concerns_place | — | — | — | — |
| person/cornelius-j-deasy | Deasy | voted | voted | decision/jour…anfrich:830/2 | — | yes | — |
| person/fred-w-meyer | Meyer | voted | voted | decision/jour…2sanfrich|158 | — | yes | — |
8 of 55 columns shown. Eight rows sampled at build time, from the years up to 1951. Hover a shortened value for all of it.
Download
| Format | File | Size |
|---|---|---|
| Parquet | claims.parquet ↗ | 807.5 MB |
| SQLite (all tables) | qipu_sf.db ↗ | 6.44 GB |
SQL
SELECT *
FROM claims
LIMIT 100
Run in the SQL console (DuckDB in the browser, over the Parquet file).
Python
import duckdb
duckdb.sql("SELECT * FROM 'https://tiles.qipu.org/data/releases/v0.7.1/parquet/claims.parquet' LIMIT 5").show()