Workshop material for the GraphAware Bridge Meetup, Prague — June 4th, 2026.
Presenters
- Paco Nathan — Principal Developer Relations Engineer, Senzing
- Christophe Willemsen — CTO, GraphAware
A hands-on walkthrough of how to build, operate, and consume an entity-resolved graph in production — combining Senzing's entity resolution engine with Neo4j and GraphAware Hume. We cover the full operational arc: ingesting raw records, understanding how Senzing resolves (and separates) entities, keeping the graph live as records update, and surfacing explainability to end users through Hume.
The dataset used throughout is a subset of the min_aml corpus: UK beneficial-ownership records (Open Ownership) cross-referenced with sanctioned entities (OpenSanctions).
notes/ Speaker notes and section prose (primary content workspace)
sections/ 13 section .md files, one per workshop phase
assets/ Data files, Mermaid diagrams, Senzing JSON snippets
TODOS.md Open questions and missing assets, owner-tagged
how/ Senzing WHY / HOW API examples
explain_how.py Convert a HOW response JSON → HTML report
explain_why.py Convert a WHY response JSON → HTML report
mappings/ Python mapping code: raw graph records → Senzing JSON
slides/ Marp slide deck — see slides/README.md for build instructions
references/ Data references and prior talks
screenshots/ Screenshots used in this README and slides
- Python 3.9+ (for
how/andmappings/scripts) - Node.js 18+ and npm (for
slides/) - A Senzing installation if you want to run the ER pipeline live
The notes/sections/ directory is the primary workspace. Each file maps to one workshop phase. Start with notes/sections/00-running-order.md for the full agenda and per-section time budget.
Open questions and pending decisions are tracked in notes/TODOS.md, grouped by section and tagged by owner (Paco / Christophe / Joint).
These scripts render Senzing API responses to self-contained HTML pages — useful for demos and slide prep.
# WHY report: why are these records in the same entity?
cd how
python explain_why.py senzing-why-response.json why-report.html
# HOW report: step-by-step resolution trace
python explain_how.py senzing-how-response.json how-report.htmlThe mappings/ scripts show how raw person and organisation records from a Hume graph are translated into Senzing's JSON input format.
# Inspect the base mapping template
cat mappings/mapping.pycd slides
npm install
make dev # live preview at http://localhost:8080
make build # export to slides/dist/See slides/README.md for full instructions.




