crates/knut-popviz/mappings/population.yml
# knut's synthetic Swedish population (knut-popload --target iceberg) as a graph: every
# label's table a vertex keyed on `id` (= the table's `_gar_id`), every rel_<REL> table a
# Person -> <label> edge. The SAME graph as population.json and population.sql. mode cdc: a
# permutate round's copy-on-write commits arrive as inserts, updates and deletes.
version: 1
tables:
- table: Person
mode: cdc
pipeline:
- vertex: { label: Person, id_column: _gar_id, rename: { _gar_id: id }, properties: [idx, name, lon, lat, kommun, ekonomiskt_bistand, round] }
- table: Address
mode: cdc
pipeline:
- vertex: { label: Address, id_column: _gar_id, rename: { _gar_id: id }, properties: [idx, name, lon, lat, kommun, round] }
- table: Company
mode: cdc
pipeline:
- vertex: { label: Company, id_column: _gar_id, rename: { _gar_id: id }, properties: [idx, name, round] }
- table: Debt
mode: cdc
pipeline:
- vertex: { label: Debt, id_column: _gar_id, rename: { _gar_id: id }, properties: [idx, name, round] }
- table: Loan
mode: cdc
pipeline:
- vertex: { label: Loan, id_column: _gar_id, rename: { _gar_id: id }, properties: [idx, name, round] }
- table: TaxRecord
mode: cdc
pipeline:
- vertex: { label: TaxRecord, id_column: _gar_id, rename: { _gar_id: id }, properties: [idx, name, round] }
- table: KfmCase
mode: cdc
pipeline:
- vertex: { label: KfmCase, id_column: _gar_id, rename: { _gar_id: id }, properties: [idx, name, round] }
- table: PoliceRecord
mode: cdc
pipeline:
- vertex: { label: PoliceRecord, id_column: _gar_id, rename: { _gar_id: id }, properties: [idx, name, round] }
- table: FkBenefit
mode: cdc
pipeline:
- vertex: { label: FkBenefit, id_column: _gar_id, rename: { _gar_id: id }, properties: [idx, name, round] }
- table: AfRecord
mode: cdc
pipeline:
- vertex: { label: AfRecord, id_column: _gar_id, rename: { _gar_id: id }, properties: [idx, name, round] }
- table: Vehicle
mode: cdc
pipeline:
- vertex: { label: Vehicle, id_column: _gar_id, rename: { _gar_id: id }, properties: [idx, name, round] }
- table: Property
mode: cdc
pipeline:
- vertex: { label: Property, id_column: _gar_id, rename: { _gar_id: id }, properties: [idx, name, lon, lat, kommun, round] }
- table: rel_LIVES_AT
mode: cdc
pipeline:
- edge:
type: LIVES_AT
src: { label: Person, column: src, id_column: id }
dst: { label: Address, column: dst, id_column: id }
properties: [round]
- table: rel_OWNS
mode: cdc
pipeline:
- edge:
type: OWNS
src: { label: Person, column: src, id_column: id }
dst: { label: Company, column: dst, id_column: id }
properties: [round]
- table: rel_OWES
mode: cdc
pipeline:
- edge:
type: OWES
src: { label: Person, column: src, id_column: id }
dst: { label: Debt, column: dst, id_column: id }
properties: [round]
- table: rel_HOLDS
mode: cdc
pipeline:
- edge:
type: HOLDS
src: { label: Person, column: src, id_column: id }
dst: { label: Loan, column: dst, id_column: id }
properties: [round]
- table: rel_FILED
mode: cdc
pipeline:
- edge:
type: FILED
src: { label: Person, column: src, id_column: id }
dst: { label: TaxRecord, column: dst, id_column: id }
properties: [round]
- table: rel_SUBJECT_OF
mode: cdc
pipeline:
- edge:
type: SUBJECT_OF
src: { label: Person, column: src, id_column: id }
dst: { label: KfmCase, column: dst, id_column: id }
properties: [round]
- table: rel_FLAGGED_BY
mode: cdc
pipeline:
- edge:
type: FLAGGED_BY
src: { label: Person, column: src, id_column: id }
dst: { label: PoliceRecord, column: dst, id_column: id }
properties: [round]
- table: rel_RECEIVES
mode: cdc
pipeline:
- edge:
type: RECEIVES
src: { label: Person, column: src, id_column: id }
dst: { label: FkBenefit, column: dst, id_column: id }
properties: [round]
- table: rel_REGISTERED_AT
mode: cdc
pipeline:
- edge:
type: REGISTERED_AT
src: { label: Person, column: src, id_column: id }
dst: { label: AfRecord, column: dst, id_column: id }
properties: [round]
- table: rel_DRIVES
mode: cdc
pipeline:
- edge:
type: DRIVES
src: { label: Person, column: src, id_column: id }
dst: { label: Vehicle, column: dst, id_column: id }
properties: [round]
- table: rel_OWNS_PROPERTY
mode: cdc
pipeline:
- edge:
type: OWNS_PROPERTY
src: { label: Person, column: src, id_column: id }
dst: { label: Property, column: dst, id_column: id }
properties: [round]