The CBPA sample.

The Cross-Border Payments and AML Ontology — a small gist 14-aligned exemplar covering account-holding, AML risk and compliance state, KYC review, and the plan-versus-occurrence distinction between PaymentInstruction and Payment. Used as the workshop's demonstration ontology.

gist 14 aligned ~24 classes CC-BY-SA-4.0

The five files

Download or view each file. Drop the flawed version onto the linter's home page to see all seven rules fire.

TTL
bank-clean.ttl
Clean reference ontology — what the demo ends up at after applying the methodology. Twenty-four domain classes extending gist 14 by IRI; full SKOS annotations; OWL property restrictions throughout; Account aligned to gist:Agreement, Payment to gist:Event, PaymentInstruction to gist:Task.
TTL
bank-flawed.ttl
The deliberately flawed demo version. Four primary anti-patterns — deep hierarchy explosion via MT103_Payment / MT202_Payment / PACS008_Payment subclasses, plan/occurrence collapse on Payment, parallel property invention (hasType, containsAccount), and orphan domain classes (Branch, Customer) — plus mis-typed Specifications and minor hygiene flaws. Drop this on the linter for 52 findings across all seven rules.
TTL
cbpa-shacl-clean.ttl
SHACL shapes for the clean ontology. Enforces the structural constraints implied by the competency questions, including disjointness on Payment / PaymentInstruction to keep occurrence-time properties (payer, payee, viaChannel, settlementStatus) and planning-time properties (instructsAmount, requestedChannel, declaredPurpose, authorisedBy) on the right classes.
TTL
cbpa-instances-sample.ttl
Synthetic instance data. Four banks (including two correspondent banks), three branches, six Korean and international customers across five risk ratings, eight accounts spanning KRW/USD/JPY/EUR, eight payments routed via SWIFT/RTGS/CHIPS, nine payment instructions, three KYC reviews, and two suspicious activity reports. Designed so every CQ has both a yes-case and a no-case. Validates clean against the SHACL shapes.
TXT
cbpa-cqs.txt
Twelve worked competency questions for CBPA. Each has a use case (AML alert triage, compliance dashboard, settlement reconciliation, KYC follow-up), the ontology elements it exercises, and a SPARQL skeleton against the clean ontology. CQ7 is the marquee plan/occurrence query — "which PaymentInstructions were authorised but never resulted in a Cleared Payment".