{ "schema_version": 1, "nodes": [ { "id": "subjects", "type": "source.inline", "label": "Subjects", "position": {"x": 40, "y": 80}, "config": { "source_name": "subjects", "fixture": "subjects.json", "rows": [] } }, { "id": "normalize-subject", "type": "expression", "label": "Normalize subject name", "position": {"x": 280, "y": 80}, "config": { "target_column": "normalized_name", "expression": "lower(trim(name))", "result_type": "string" } }, { "id": "sanctions", "type": "source.inline", "label": "Sanctions list", "position": {"x": 40, "y": 300}, "config": { "source_name": "sanctions", "fixture": "sanctions-list.json", "rows": [] } }, { "id": "normalize-sanction", "type": "expression", "label": "Normalize listed name", "position": {"x": 280, "y": 300}, "config": { "target_column": "normalized_name", "expression": "lower(trim(name))", "result_type": "string" } }, { "id": "matches", "type": "combine.join", "label": "Exact normalized matches", "position": {"x": 540, "y": 190}, "config": { "join_type": "inner", "left_keys": ["normalized_name"], "right_keys": ["normalized_name"], "right_prefix": "sanction_" } }, { "id": "fields", "type": "select", "label": "Screening result", "position": {"x": 800, "y": 190}, "config": { "fields": [ {"column": "subject_id", "alias": "subject_id"}, {"column": "name", "alias": "subject_name"}, {"column": "country", "alias": "country"}, {"column": "sanction_list_entry_id", "alias": "list_entry_id"}, {"column": "sanction_program", "alias": "program"} ] } }, { "id": "output", "type": "output", "label": "Potential matches", "position": {"x": 1040, "y": 190}, "config": {} } ], "edges": [ {"id": "e1", "source": "subjects", "target": "normalize-subject"}, {"id": "e2", "source": "sanctions", "target": "normalize-sanction"}, { "id": "e3", "source": "normalize-subject", "target": "matches", "target_port": "left" }, { "id": "e4", "source": "normalize-sanction", "target": "matches", "target_port": "right" }, {"id": "e5", "source": "matches", "target": "fields"}, {"id": "e6", "source": "fields", "target": "output"} ] }