Semantic Layer course
13 modules, 7h 20m, 13 labs

One bank, one question, and the architecture it takes to answer it properly.

A retail bank asks how many of its loans went bad. Three teams answer, three numbers come back, and every query is correct. You will build the semantic layer that fixes that, starting from triples and finishing with an agent that cites its own reasoning.

Start module 1
0/13
modules passed
0%
overall
Postgres
+ Fuseki + Ontop
Not saving yet
Pick a handle and your progress follows you between devices.

The course

01

Why a semantic layer

One question, three answers, nobody lying

A bank executive asks how many loans went bad. Three teams answer, three numbers come back, and every single query is correct. You will reproduce the disagreement in SQL, then find the thing that was missing.

Foundations 25 min lab
02

ACE and the neurosymbolic bargain

The language model gets the words, the logic gets the verdict

You will pin down what Accuracy, Consistency and Explainability each actually require, and watch each one fail at Meridian in a specific way. Then you divide the work: language models handle fuzzy human input, symbolic reasoning hands down verdicts. The lab makes a scorer contradict itself five times in a row.

Foundations 25 min lab
03

Everything is a triple

Priya's mortgage, one fact at a time

RDF has one data structure: subject, predicate, object. You will take Priya Raman's mortgage out of a relational row and write it as eleven triples, learn Turtle syntax properly, and see why adding a fact needs no schema migration. Named graphs arrive here quietly and pay off in Modules 7 and 11.

Knowledge layer 30 min lab
04

Asking questions with SPARQL

Draw the shape you are looking for and let the graph fill it in

SPARQL does not join tables, it matches shapes. You will learn basic graph patterns, OPTIONAL, aggregates and property paths, then close the loop from Module 1 by writing Meridian's three definitions of default as three queries against one graph and getting 1,847, 4,102 and 1,203 back.

Knowledge layer 35 min lab
05

Building Meridian's ontology

Six questions the bank cannot answer, and the model they force into existence

You have triples and you have SPARQL. What you do not have yet is a vocabulary that says what a Loan is, which loans cannot also be something else, and how many borrowers one loan is allowed to have. You will write that vocabulary in RDFS and OWL, starting from six real questions Meridian needs answered.

Knowledge layer 40 min lab
06

Constraints with SHACL

OWL will not tell you the KYC document is missing

Tobias Fenn's loan application has no identity document attached. Your OWL ontology, with all its cardinality axioms, reports no problem whatsoever. This module explains why that is correct behaviour, and gives you the second language you need to actually stop the application.

Knowledge layer 30 min lab
07

Reasoning: facts nobody typed in

Where Module 1's three answers become three named rules

You wrote the axioms in Module 5 and nothing happened. Now you run the software that applies them, and triples appear that nobody entered: L-1042 becomes a Loan, Mei Lin Tan's exposure group closes itself, and Meridian's three warring default definitions turn into three separately named, versioned, traceable classes.

Knowledge layer 40 min lab
08

The virtual knowledge graph

Your 52,400 loans never leave Postgres

Everything you built in Modules 3 to 7 assumed the triples were sitting in a graph store. Meridian's loans are not. They are 52,400 rows in a Postgres table that the core banking system writes to every night, and nobody is going to let you copy them. You will declare a mapping instead, and let SPARQL compile itself into SQL.

Data + Knowledge 40 min lab
09

The metric store

Stop letting the model invent the arithmetic

Module 7 closed the Module 1 loop by writing down what a defaulted loan is. This module closes it from the other side, by writing down what average processing time is. A capable language model will produce five defensible formulas for that phrase and five different numbers, which is a consistency failure that no better model fixes.

Knowledge layer 25 min lab
10

GraphRAG: the PDFs join the graph

The arrears definition was on page 34 the whole time

Meridian never lost its definition of arrears. Somebody wrote it down carefully in the Credit Policy 2026, in prose, on page 34, and then nobody could query it. This module builds the pipeline that turns that page into triples with a citation, and connects it to the ontology class it governs.

Data layer 40 min lab
11

The intelligence layer

Knowledge about your knowledge, and what happens when it rots

Everything you built in Modules 5 to 10 was correct on the day you wrote it. This module is about the day after. You induce an ontology from Meridian's schema, catch the two classes the machine got subtly wrong, and watch a materialized fact about Daniel Okafor's income quietly become a lie.

Intelligence layer 35 min lab
12

The Q&A agent

The CRO asks again, and this time the answer comes with receipts

Nine modules of ontology, mappings, rules, reasoning, metrics and documents get wired into one agent. It answers the Tuesday question with a number, the definition behind it, the rows that support it, the rule that fired and the page of the credit policy where the definition was written down. Then it decides Daniel Okafor's application, and refuses to decide it alone.

Orchestration layer 45 min lab
13

Running it for real

What Meridian did in what order, and the seven ways this goes wrong

The architecture works in a lab. This module is about the version that survives a year in production: what Meridian deliberately did not model, what their showcase-question test suite looks like, the seven anti-patterns that kill these projects, a phased roadmap with team sizes, and the full local-to-AWS migration map.

Orchestration layer 30 min lab

What you need to run the labs

Every lab runs against one shared stack you start once. Nothing in the labs needs an AWS account, and every module shows the AWS service each open-source piece stands in for.

PieceStands in forPort
PostgreSQLAmazon RDS, Redshift, Athena sources5432
Apache Jena FusekiAmazon Neptune3030
Ontopthe VKG service on ECS8080
Lab runner (Python)reasoning, SHACL, GraphRAG servicesn/a

Start it with make lab-up from the project root, or read labs/README.md for the manual steps.