Semantic Layer course
Knowledge layer 30 min AccuracyExplainability

Everything is a triple

Priya's mortgage, one fact at a time

Section 1

One shape for every fact

Next section
Section 2

Why identifiers look like web addresses

Next section
Section 3

Values, types, and Turtle

Next section
Section 4

One row becomes eleven triples

Next section
Section 5

Adding a fact nobody planned for

Next section
Section 6

Named graphs: which triples do you trust?

Hands on

Load Priya's mortgage into a triple store

20 min

Write valid Turtle for customer C-1001 and loan L-1042, load it into Apache Jena Fuseki, and verify the triple count with a query.

make lab-up            # once, starts Postgres + Fuseki + Ontop
make lab lab03-first-triples

Full instructions, starter files and the solution are in labs/modules/lab03-first-triples/README.md. The lab checks its own work, so you will know if it passed.

Check yourself

Quiz

6 questions, pass mark 70%. Answers are explained either way, so a wrong guess is not wasted.

1 Why does RDF identify Priya's mortgage as https://meridianbank.example/data/Loan/L-1042 rather than just L-1042?
2 In Turtle, what is the difference between a semicolon and a comma at the end of a line?
3 Which two statements about literals are true? (pick two)

Select all that apply.

4 Meridian needs to record that a risk rating was assigned by model version v3 on 2026-02-01. What does this cost in each model?
5 Loan L-4590 has mrb:daysPastDue 104 loaded from loan_master, and a reasoner then derives that it is a NonPerformingLoan. Why put those two triples in different named graphs?
6 Why does this course tell you to avoid blank nodes at Meridian?